CATOPEN
Section : Manuel du programmeur Linux (
3)
Mise à jour de la version anglaise : 14 décembre 2001
Index
Menu principal
NOM
catopen, catclose - Ouverture et 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 messages, et en retourne un descripteur.
Celui-ci reste valide jusqu'à un appel
catclose()
ou
execve(2).
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 actuelle 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 renseigne
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 être la source de la définition de la localisation
LC_MESSAGES
et peut servir à déterminer le langage à utiliser, si
flag
vaut
NL_CAT_LOCALE.
- LANG
-
Le langage à utiliser, si
flag
vaut zéro.
CONFORMITÉ
POSIX.1-2001.
L'origine des constantes MCLoadBySet et MCLoadAll est inconnue.
NOTES
Tout ceci correspond à la description de POSIX.1-2001.
La valeur de
NL_CAT_LOCALE
de 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 Linux
Ces fonctions sont disponibles sous Linux
depuis la version 4.4.4c de libc.so, et ultérieures.
Dans le cas des libc4 et libc5, le descripteur de catalogue
nl_catd
est en réalité une zone de mémoire de projection
mmap(2)
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 en 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.
VOIR AUSSI
catgets(3),
setlocale(3)
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess
<http://www.blaess.fr/christophe/> le 22 octobre 1996
et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 3 catopen ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ENVIRONNEMENT
-
- CONFORMITÉ
-
- NOTES
-
- Notes Linux
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 17 juillet 2008