NOME
catopen, catclose − abre/fecha um catálogo de mensagens
SINOPSE
#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, 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 paths 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 default o locale "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 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.