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.
VER TAMBÉM¶
catgets(3),
setlocale(3)