CATOPEN(3)

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.

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
catopen() | Sécurité des threads | MT-Safe env
catclose() | Sécurité des threads | MT-Safe

CONFORMITÉ
POSIX.1-2001, POSIX.1-2008.

NOTES
The above is the POSIX.1 description. The glibc value for NL_CAT_LOCALE is 1. The default path varies, but usually looks at a number of places below /usr/share/locale.

VOIR AUSSI
catgets(3), setlocale(3)

COLOPHON
Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.