NOM¶
catopen, catclose - Ouverture et fermeture d'un catalogue de messages
SYNOPSIS¶
#include <nl_types.h>
nl_catd catopen(const 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, le drapeau
FD_CLOEXEC
sera défini.
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 (consultez
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 définie par
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 de message défini 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 définit
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.
POSIX.1-2001. L'origine des constantes
MCLoadBySet et
MCLoadAll
est incertaine (consultez ci-dessous).
NOTES¶
Tout ceci correspond à la description POSIX.1-2001. La valeur de
NL_CAT_LOCALE de la glibc est 1 (Comparez avec
MCLoadAll plus
bas). Le chemin par défaut varie, mais il inclut en
général plusieurs emplacements sous
/usr/share/locale.
Notes sur Linux¶
Ces fonctions sont disponibles sous Linux depuis la version 4.4.4.c de la libc.
Dans le cas des libc4 et libc5 Linux, 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 initial à
catopen(). 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)
COLOPHON¶
Cette page fait partie de la publication 3.65 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et
l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce
document en utilisant la commande «
man -L C
<section>
<page_de_man> ».