Provided by: manpages-es_1.55-10_all bug

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)

Linux                                           14 diciembre 2001                                     CATOPEN(3)