DOKK / manpages / debian 11 / manpages-pt-dev / catopen.3.pt
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)

/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.

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.

catgets(3), setlocale(3)

30 November 1993