CATOPEN(3)

NOME
catopen, catclose - abre/fecha um catálogo de mensagens

SINÓPSE
#include <features.h>
#include <nl_types.h>

nl_catd catopen(name, flag)
char *name;
int flag;

void catclose(catalog)
nl_catd catalog;

DESCRIÇÃO

catopen() abre um catálogo de mensagens e retorna um descritor de catálogo. name especifica o nome do catálogo a ser aberto. Se name designar um caminho absoluto, (isto é contém um '/') então name será o path do catálogo. Caso contrário, será usado o valor de NLSPATH , sendo name substituido por %N (ver locale(7)). Se NLSPATH não existir no ambiente, ou se o catálogo de mensagens não puder ser aberto com qualquer dos caminho em NLSPATH, o arquivo será procurado nos seguintes locais (nesta ordem)
    /etc/locale/LC_MESSAGES
    /usr/lib/locale/LC_MESSAGES
    /usr/lib/locale/name/LC_MESSAGES
Em todos os casos, LC_MESSAGES designa o valor atual da categoria LC_MESSAGES designada por uma chamada anterior a setlocale(), e tem como padrão a localização 'C'. No último dos caminhos acima, name designa o nome do catálogo.

O argumento flag indica o tipo de carregamento, que pode ser MCLoadBySet ou MCLoadAll. O primeiro valor faz com que seja carregado apenas o subconjunto necessário do catálogo, e o segundo faz um chamada inicial para catopen() fazendo com que o catálogo seja colocado integralmente na memória.

catclose() fecha o catálogo designado por catalog, invalidando quaisquer referências posteriores ao catálogo designado por catalog.

VALORES RETORNADOS

catopen() retorna um descritor de catálogo do tipo nl_catd se tiver êxito. Caso contrário, retorna -1.

catclose() retorna 0 se tiver êxito, ou -1 se falhar.

OBSERVAÇÕES
Estas funções só estão disponíveis no libc.so.4.4.4c ou posterior. No linux, o descritor de catálogo l_catd é na verdade uma área alocada com mmap() e não um descritor de arquivo, o que permite compartilhamento de catálogos.

VEJA TAMBÉM
catgets(3), setlocale(3).

TRADUZIDO POR LDP-BR em 21/08/2000.

  Tradução:
Paulo César Mendes <drpc@ism.com.br>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>