Available in

(3) (3)/es (3)/fr (3)/ja (3)/pl (3)/pt

Contents

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 (voyez 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.

CONFORMITÉ

POSIX.1−2001. L’origine des constantes MCLoadBySet et MCLoadAll est incertaine (voyez 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.23 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

Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/>; entre 1996 et 2003, puis par Alain Portal <aportal AT univ−montp2 DOT fr> jusqu’en 2006, et mise à disposition sur http://manpagesfr.free.fr/.

Les mises à jour et corrections de la version présente dans Debian sont directement gérées par Florentin Duneau <fduneau [AT] gmail.com> et l’équipe francophone de traduction de Debian.

Veuillez signaler toute erreur de traduction en écrivant à <debian−l10n−french [AT] lists.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> ».

COMMENTS

blog comments powered by Disqus