CATOPEN(3) | Library Functions Manual | CATOPEN(3) |
catopen, catclose - abre/fecha um catálogo de mensagens
#include <features.h>
#include <nl_types.h>
nl_catd catopen(name, flag) char *name; int flag;
void catclose(catalog) nl_catd catalog;
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)
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.
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.
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.
30 November 1993 |