CATOPEN
Section: Manuel du programmeur Linux (3) Updated: 21 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ENVIRONNEMENT
NOTES
NOTES POUR LIBC4 ET LIBC5
CONFORMITÉ
VOIR AUSSI
TRADUCTION
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
TRADUCTION
Christophe Blaess, 1996-2003.
|