Other Alias
catopenSINOPSIS
#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.