Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
SYSCONF
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VARIABLES POSIX.1
- VARIABLES POSIX.2
- VALEUR RENVOYÉE
- CONFORMITÉ
- BOGUES
- VOIR AUSSI
- TRADUCTION
NOM
sysconf - Obtenir des informations de configuration.
SYNOPSIS
#include <unistd.h>
long sysconf (int name);
DESCRIPTION
POSIX permet à une application de tester à la compilation ou à l'exécution
si certaines options sont gérées ou de déterminer quelles sont les valeurs
de certaines limites ou constantes configurables.
Ceci est fait à la compilation en incluant <unistd.h> et/ou
<limits.h> et en testant la valeur de certaines macros.
Pendant l'exécution, vous pouvez obtenir les valeurs numériques en utilisant
la fonction sysconf(). Vous pouvez obtenir les valeurs numériques, qui
peuvent dépendre du système de fichiers, relatives à un fichier en utilisant
les appels fpathconf(3) et pathconf(3). Vous pouvez obtenir les
valeurs de chaînes en utilisant confstr(3).
Les valeurs obtenues à partir de ces fonctions sont des constantes de
configuration du système. Elles ne seront donc pas modifiées pendant la
durée de vie d'un processus.
Pour les options, il y a typiquement une constante symbolique _POSIX_FOO
qui peut être définie dans <unistd.h>. Si elle n'est pas définie,
vous pouvez poser la question à l'exécution. Si elle est définie à -1, c'est
que l'option n'est pas supportée. Si elle est définie à 0, les en-têtes et
les fonctions en rapport existent mais vous devrez demander pendant
l'exécution quel degré de support est disponible. Si elle est définie à une
autre valeur que -1 ou 0, l'option est supportée. Habituellement, la valeur
(comme par exemple 200112L) indique l'année et le mois de la révision POSIX
qui décrit l'option. Glibc utilise la valeur 1 pour indiquer le support
aussi longtemps que la révision POSIX n'a pas été publiée. L'argument de
sysconf() sera _SC_FOO. Pour la liste des options, voir
posixoptions(7).
Pour les variables ou les limites, il s'agit typiquement d'une constante
_FOO, pouvant être définie dans <limits.h>, ou _POSIX_FOO,
pouvant être définie dans <unistd.h>. La constante ne sera pas
définie si la limite n'est pas spécifiée. Si la constante est définie, cela
donne une valeur garantie et une valeur plus grande pourrait être
supportée. Si une application veut tirer parti des valeurs pouvant varier
entre les systèmes, l'appel de sysconf() permet d'obtenir ces
informations. L'argument de sysconf() sera _SC_FOO.
VARIABLES POSIX.1
Nous allons donner le nom de la variable, le nom du paramètre passé à
sysconf() pour s'enquérir de sa valeur et une brève description.
Tout d'abord, les valeurs compatibles POSIX.1.
- ARG_MAX - _SC_ARG_MAX
-
La longueur maximale des arguments des fonctions de la famille exec(). Ne
doit pas être moins que _POSIX_ARG_MAX (4096).
- CHILD_MAX - _SC_CHILD_MAX
-
Le nombre maximal de processus simultanés pour un UID. Ne doit pas être
moins que _POSIX_CHILD_MAX (25).
- HOST_NAME_MAX - _SC_HOST_NAME_MAX
-
La longueur maximale d'un nom d'hôte, sans inclure le caractère nul final,
tel qu'il est retourné par gethostname(2). Ne doit pas être moins que
_POSIX_HOST_NAME_MAX (255).
- LOGIN_NAME_MAX - _SC_LOGIN_NAME_MAX
-
La longueur maximale d'un nom de connexion (login), incluant le caractère
nul final. Ne doit pas être moins que _POSIX_LOGIN_NAME_MAX (9).
- tops d'horloge - _SC_CLK_TCK
-
Le nombre de tops d'horloge par seconde. La macro correspondante est
obsolète. Il s'agit bien sûr de CLK_TCK (veuillez noter que la macro
CLOCKS_PER_SEC ne donne pas d'information : elle doit être égale à
1000000).
- OPEN_MAX - _SC_OPEN_MAX
-
Le nombre maximal de fichiers qu'un processus peut ouvrir simultanément. Ne
doit pas être moins que _POSIX_OPEN_MAX (20).
- PAGESIZE - _SC_PAGESIZE
-
Taille d'une page en octets. Ne doit pas être moins que 1 (certains systèmes
utilisent PAGE_SIZE à la place).
- RE_DUP_MAX - _SC_RE_DUP_MAX
-
Le nombre maximum de répétitions d'une expression régulière permise par
regexec(3) et regcomp(3). Ne doit pas être moins que
_POSIX2_RE_DUP_MAX (255).
- STREAM_MAX - _SC_STREAM_MAX
-
Le nombre maximal de flux qu'un processus peut ouvrir simultanément. Si elle
est définie, elle a la même valeur que la macro C standard FOPEN_MAX. Ne
doit pas être moins que _POSIX_STREAM_MAX (8).
- SYMLOOP_MAX
-
Le nombre maximum de liens symboliques rencontrés dans le nom d'un chemin
avant que la résolution ne retourne ELOOP. Ne doit pas être moins que
_POSIX_SYMLOOP_MAX (8).
- TTY_NAME_MAX - _SC_TTY_NAME_MAX
-
La longueur maximale du nom d'un périphérique terminal, incluant le NUL
final. Ne doit pas être moins que _POSIX_TTY_NAME_MAX (9).
- TZNAME_MAX - _SC_TZNAME_MAX
-
Le nombre maximal de caractères dans le nom d'un fuseau horaire. Ne doit pas
être moins que _POSIX_TZNAME_MAX (6).
- _POSIX_VERSION - _SC_VERSION
-
Indique l'année et le mois où le standard POSIX.1 a été approuvé, en
utilisant le format AAAAMML. La valeur 199009L correspond à la
révision de septembre 1990.
VARIABLES POSIX.2
Ensuite, les constantes POSIX.2 donnant les limites pour les utilitaires.
- BC_BASE_MAX - _SC_BC_BASE_MAX
-
La valeur maximale pour obase acceptée par l'utilitaire bc(1).
- BC_DIM_MAX - _SC_BC_DIM_MAX
-
La valeur maximale des éléments autorisés dans une table par bc(1).
- BC_SCALE_MAX - _SC_BC_SCALE_MAX
-
La valeur maximale pour scale autorisée par bc(1).
- BC_STRING_MAX - _SC_BC_STRING_MAX
-
La longueur maximale d'une chaîne acceptée par bc(1).
- COLL_WEIGHTS_MAX - _SC_COLL_WEIGHTS_MAX
-
Le nombre maximum de poids à affecter à une entrée dans l'ordre
LC_COLLATE du fichier de définition de localisation.
- EXPR_NEST_MAX - _SC_EXPR_NEST_MAX
-
Le nombre maximal d'expressions imbriquées entre parenthèses dans
expr(1).
- LINE_MAX - _SC_LINE_MAX
-
La longueur maximale d'une ligne d'entrée d'un utilitaire, aussi bien depuis
l'entrée standard que depuis un fichier. Cette longueur comprend
l'emplacement du caractère final « nouvelle ligne ».
- RE_DUP_MAX - _SC_RE_DUP_MAX
-
Le nombre maximum de répétitions d'une expression régulière quand la
notation d'intervalle {m,n} est utilisée.
- POSIX2_VERSION - _SC_2_VERSION
-
La version de la norme POSIX.2 au format AAAAMML.
- POSIX2_C_DEV - _SC_2_C_DEV
-
Indique si les utilitaires POSIX.2 de développement en C sont supportés.
- POSIX2_FORT_DEV - _SC_2_FORT_DEV
-
Indique si les utilitaires POSIX.2 de développement en FORTRAN sont
supportés.
- POSIX2_FORT_RUN - _SC_2_FORT_RUN
-
Indique si les utilitaires POSIX.2 d'exécution FORTRAN sont supportés.
- _POSIX2_LOCALEDEF - _SC_2_LOCALEDEF
-
Indique si la création de localisation POSIX.2 avec localedef(1) est
supportée.
- POSIX2_SW_DEV - _SC_2_SW_DEV
-
Indique si les utilitaires POSIX.2 de développement sont supportés.
Quelques valeurs existent sans appartenir à une norme :
- _SC_PHYS_PAGES-
Le nombre de pages de mémoire physique. Notez qu'il est possible que le
produit de cette valeur et de la valeur _SC_PAGE_SIZE déclenche un
débordement.
- _SC_AVPHYS_PAGES-
Le nombre de pages de mémoire physique actuellement disponibles.
VALEUR RENVOYÉE
Si name est invalide, -1 est renvoyée et errno est mis à
EINVAL. Sinon, la valeur renvoyée est celle de la ressource système
correspondante et errno n'est pas modifiée. Dans le cas d'options, une
valeur positive est renvoyée si l'option requise est disponible et -1 si
elle ne l'est pas. Dans le cas de limites, -1 signifie qu'aucune limite
n'est définie.
CONFORMITÉ
POSIX.1-2001.
BOGUES
Il est difficile d'utiliser ARG_MAX car il n'est pas précisé combien
d'espace d'argument de exec() est utilisé par les variables
d'environnement de l'utilisateur.
Certaines valeurs renvoyées peuvent être énormes, il ne faut pas les
utiliser pour allouer de la mémoire.
VOIR AUSSI
bc(1), expr(1), locale(1), fpathconf(3), pathconf(3),
posixoptions(7)
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.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
|