NOM
confstr - Lire une chaîne de caractères dépendant de la configuration
SYNOPSIS
#include <unistd.h>
size_t confstr(int name, char *buf, size_t len);
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
getcwd() : _POSIX_C_SOURCE >= 2 || _XOPEN_SOURCE || _POSIX_SOURCE
La fonction confstr() fournit la valeur d’une chaîne de caractères
dépendante de la configuration.
L’argument name est la variable système réclamée. Les variables
suivantes sont supportées :
_CS_GNU_LIBC_VERSION (Bibliothèque GNU C seulement ; depuis la
glibc 2.3.2)
Une chaîne qui identifie la version de la bibliothèque GNU C du
système (par exemple, « glibc 2.3.4 »).
_CS_GNU_LIBPTHREAD_VERSION (Bibliothèque GNU C seulement ; depuis la
glibc 2.3.2)
Une chaîne qui identifie l’implémentation POSIX fournie par la
bibliothèque C du système (par exemple, « NPTL 2.3.4 » ou
« linuxthreads-0.10 »).
_CS_PATH
Une valeur de la variable PATH indiquant les emplacements où les
utilitaires standard POSIX.2 peuvent être trouvés.
Si buf n’est pas NULL, et si len est différent de 0, alors confstr()
copie la valeur de la chaîne dans le tampon buf, en limitant la
longueur à len - 1 caractères si nécessaire, terminée par un caractère
nul (« \0 »). On peut détecter la troncature de la chaîne en comparant
le résultat de confstr() avec le paramètre len.
Si len est nulle, et si buf vaut NULL, alors confstr() renvoie
simplement la valeur définie ci-dessus.
VALEUR RENVOYÉE
Si name est une variable de configuration valide, confstr() renvoie le
nombre d’octets (incluant le caractère nul) qui doit être utilisé pour
enregistrer la variable. Cette valeur peut être plus grande que len, ce
qui signifie que la valeur de buf est tronquée.
Si name est une variable de configuration valable sans valeur, alors
confstr() renvoie 0. Si name ne correspond pas à une variable de
configuration valable, confstr() renvoie 0 et errno est définie à
EINVAL.
ERREURS
EINVAL Si la valeur de name n’est pas valable.
CONFORMITÉ
POSIX.1-2001.
EXEMPLE
Le fragment de code ci-dessous détermine le chemin d’accès aux
utilitaires POSIX.2 :
char *pathbuf;
size_t n;
n = confstr(_CS_PATH,NULL,(size_t) 0);
pathbuf = malloc(n);
if (pathbuf == NULL)
abort();
confstr(_CS_PATH, pathbuf, n);
VOIR AUSSI
sh(1), exec(3), system(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@gmail.com> et l’équipe
francophone de traduction de Debian.
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> ».