Provided by:
manpages-es_1.55-8_all 
NOMBRE
catopen, catclose - abre/cierra un catálogo de mensajes
SINOPSIS
#include <nl_types.h>
nl_catd catopen(const char *name, int flag);
int catclose(nl_catd catalog);
DESCRIPCIÓN
La función catopen() abre un catálogo de mensajes y devuelve un
descriptor de catálogo. El descriptor permanece válido hasta una
llamada a catclose() o exec(). Si un descriptor de fichero es
utilizado para implementar descriptores de catálogo la bandera
FD_CLOEXEC es activada.
El argumento name espeficica el nombre del catálogo de mensajes a ser
abierto. Si name especifica un camino absoluto (i.e. contiene una
’/’), entonces name especifica un nombre de camino para el catálogo de
mensajes. Si no, se usa la variable de ambiente NLSPATH donde %N se
sustituirá por name (vea locale(7)). Es indefinido si NLSPATH será
utilizado cuando un proceso tenga privilegios de superusuario. Si
NLSPATH no existe en el entorno, o si un catálogo de mensajes no se
puede abrir en ninguno de los caminos especificados por esa variable,
se utiliza un camino definido por la implementación. Este camino por
defecto puede depender de LC_MESSAGES cuando el argumento flag es
NL_CAT_LOCALE y de la variable de entorno LANG cuando el argumento flag
es 0. Cambiar la variable de localización LC_MESSAGES puede invalidar
los descriptores de catálogos abiertos.
El argumento flag de catopen se emplea para indicar el origen para el
idioma a utilizar. Si vale NL_CAT_LOCALE usará la configuración de
localización actual para LC_MESSAGES. En otro caso usará la variable
de entorno LANG.
La función catclose() cierra el catálogo de mensajes identificado por
catalog. Esto invalida cualquier referencia posterior al catálogo de
mensajes definido por catalog.
VALOR DEVUELTO
La función catopen() devuelve un descritor de catálogo de mensajes de
tipo nl_catd en caso de éxito. En caso de fallo devuelve (nl_catd) -1
y modifica errno para indicar el error. Los posibles valores de error
incluyen todos los posibles valores para la llamada open().
La función catclose() devuelve 0 en caso de éxito, o -1 en caso de
fallo.
ENTORNO
LC_MESSAGES
Puede ser el origen de la configuración de localización
LC_MESSAGES, y por tanto determina el idioma a usar si flag vale
NL_CAT_LOCALE.
LANG El idioma a utilizar si flag vale 0.
OBSERVACIONES
Esta es la descripción de POSIX 1003.1-2001. El valor de glibc para
NL_CAT_LOCALE es 1. (Compare MCLoadAll más abajo.) El camino por
defecto varÃa, pero normalmente se suele buscar en un número de sitios
por debajo de /usr/share/locale.
OBSERVACIONES PARA LIBC4 Y LIBC5
Estas funciones están disponibles para Linux desde libc 4.4.4c. En el
caso de libc4 y libc5 en linux, el descriptor de catálogo nl_catd es
una zona de memoria ubicada con mmap() y no un descriptor de fichero.
El argumento flag de catopen() debe ser o bien MCLoadBySet (=0) o
MCLoadAll (=1). El primer valor indica que un conjunto del catálogo se
cargará cuando se necesite, mientras que el último provoca que la
llamada inicial a catopen() cargue el catálogo entero en memoria. El
camino por defecto varÃa, pero normalmente se suele buscar en un número
de sitios por debajo de /etc/locale y /usr/lib/locale.
CONFORME A
POSIX 1003.1-2001. En XPG 1987, Vol. 3 se dice: El argumento flag de
catopen está reservado para un uso futuro y deberÃa ser puesto a 0. No
está claro cuál es el origen de las constantes MCLoadBySet y MCLoadAll.
VÉASE TAMBIÉN
catgets(3), setlocale(3)