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)