Provided by:
manpages-fr_1.67.0-1_all 
NOM
catopen, catclose - Ouverture/fermeture d’un catalogue de messages.
SYNOPSIS
#include <nl_types.h>
nl_catd catopen (char *name, int flag);
int catclose (nl_catd catalog);
DESCRIPTION
La fonction catopen() ouvre un catalogue de message, et en retourne un
descripteur. Celui-ci reste valide jusqu’à un appel catclose() ou
exec(). Si un descripteur de fichier est utilisé pour implémenter le
descripteur de catalogue, il disposera de l’attribut FD_CLOEXEC.
L’argument name indique le nom du catalogue à ouvrir. Si name indique
un chemin d’accès absolu (contenant un ’/’ ) alors il est employé comme
chemin d’accès au catalogue. Sinon, la variable d’environnement
NLSPATH est utilisée, après avoir substitué name à son argument %N
(voir locale(7)). Lorsque le processus à des privilèges root, l’emploi
éventuel de NLSPATH n’est pas garanti. Si NLSPATH n’est pas définie
dans l’environnement, ou si le catalogue de messages ne peut être
ouvert dans aucun des chemins qu’elle contient, alors un chemin
prédéfini, dépendant de l’implémentation, est utilisé. Ce dernier peut
dépendre de la catégorie de localisation LC_MESSAGES si l’argument flag
vaut NL_CAT_LOCALE ou de la variable d’environnement LANG si l’argument
flag vaut zéro. Changer la partie LC_MESSAGES de la localisation, peut
rendre invalides les descripteurs de catalogues déjà ouverts.
L’argument flag de catopen() indique l’origine du langage à utiliser.
S’il vaut NL_CAT_LOCALE alors il utilisera la configuration de la
localisation pour LC_MESSAGES. Sinon, il utilisera la variable
d’environnement LANG.
La fonction catclose() Ferme le catalogue identifié par catalog. Ceci
invalide toute référence ultérieure au catalogue par le descripteur
catalog.
VALEUR RENVOYÉE
La fonction catopen() renvoie un descripteur de catalogue de messages,
du type nl_catd si elle réussit. En cas d’échec elle renvoie (nl_catd)
-1, et remplit errno avec le code d’erreur. Les erreurs possibles
incluent toutes celles que peut renvoyer open(2).
La fonction catclose() renvoie 0 si elle réussit, ou -1 en cas d’échec.
ENVIRONNEMENT
LC_MESSAGES
Peut servir à déterminer le langage à utiliser, si flag vaut
NL_CAT_LOCALE.
LANG Le langage à utiliser, si flag vaut zéro.
NOTES
Tout ceci correspond à la description de POSIX 1003.1-2001. La valeur
de NL_CAT_LOCALE dans la GlibC est 1. (Voir MCLoadAll plus bas). Le
chemin par défaut varie, mais il inclut en général plusieurs
emplacements sous /usr/share/locale.
NOTES POUR LIBC4 ET LIBC5
Ces fonctions sont disponibles sous Linux depuis la version 4.4.4.c de
libc.so, et ultérieures. Dans le cas des libc4 et libc5, le
descripteur de catalogue nl_catd est en réalite une zone de mémoire de
projection mmap() et non pas un descripteur de fichier. L’argument
flag de catopen() devrait être soit MCLoadBySet (= 0) soit MCLoadAll (=
1). La première valeur indique qu’un ensemble du catalogue doit être
chargé quand le besoin s’en fait sentir, alors que la seconde réclame
le chargement em mémoire dès l’appel catopen() initial. Le chemin par
défaut varie, mais il inclut en général plusieurs emplacements sous
/etc/locale et /usr/lib/locale.
CONFORMITÉ
POSIX 1003.1-2001. Dans XPG 1987, Vol. 3 , il est dit : L’argument
flag de catopen est réservé pour un usage futur et doit être mis à 0.
L’origine des constantes MCLoadBySet et MCLoadAll est inconnue.
VOIR AUSSI
catgets(3), setlocale(3)
TRADUCTION
Christophe Blaess, 1996-2003.