CATOPEN(3)

NOMBRE
catopen, catclose - abre/cierra un catálogo de mensajes

SINOPSIS
#include <features.h>
#include <nl_types.h>

nl_catd catopen(name, flag)
char *name;
int flag;

void catclose(catalog)
nl_catd catalog;

DESCRIPCION

catopen() abre un catálogo de mensajes y retorna un descriptor de catálogo. name espeficica el nombre del catálogo de mensajes a ser abierto. Si name especifica un camino absoluto, (p.e. contiene una `/') entonces name especifica un nombre de camino (pathname) para el catálogo de mensajes. De otra manera, la variable de ambiente NLSPATH es usada con name sustituido por %N (ver locale(5)). Si NLSPATH no existe en el ambiente, o si un catálogo de mensajes no puede ser abierto en ninguno de los caminos especificados por NLSPATH, los siguiente caminos son buscados en orden
    /etc/locale/LC_MESSAGES
    /usr/lib/locale/LC_MESSAGES
    /usr/lib/locale/name/LC_MESSAGES
En todos los casos LC_MESSAGES se refiere a la actual asignación de la categoría LC_MESSAGES de locale desde una previa llamada a setlocale() y por defecto al locale "C". En el último camino de búsqueda name se refiere al nombre del catálogo.

El argumento flag de catopen es usado para indicar el tipo de carga deseada. Esta debe ser tanto MCLoadBySet o MCLoadAll. El primer valor indica que solamente el conjunto requerido desde el catálogo es cargado en la memoria al ser necesitado, mientras que el segundo causa que en la llamada inicial a catopen() se cargue el catálogo entero en la memoria.

catclose() cierra el catálogo de mensajes identificado por catalog. Esto invalida cualquier subsecuente referencia al catálogo de mensajes definido por catalog.

VALOR RETORNADOS

catopen() retorna un descritor de catálogo de mensajes de tipo nl_catd si es exitosa. Si falla, retorna -1.

catclose() retorna 0 si es exitosa, o -1 si falla.

NOTAS
Estas funciones son solo disponibles en libc.so.4.4.4c (o superiores). En el caso de linux, el descriptor de catálogo nl_catd es actualmente un área mapeada (mmap()'ed) de memoria; no un descriptor de archivos, así se permite que los catálogos sean compartidos.

VER TAMBIEN
catgets(3), setlocale(3)