Available in

(1) (3) (3)/cs (3)/de (3)/es (3)/fr (3)/ja (3)/pl (3)/pt

Contents

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(3). Ne doit pas être inférieure à _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 inférieure à _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 inférieure à _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 inférieure à 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 rationelle permises par regexec(3) et regcomp(3). Ne doit pas être inférieur à _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 inférieur à _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 inférieure à _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 rationnelle 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.

_SC_NPROCESSORS_CONF

The nombre de processeurs configuré.

_SC_NPROCESSORS_ONLN

Le nombre de processeur actuellent en ligne (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(3) est utilisé par les variables d’environnement de l’utilisateur.

Certaines valeurs renvoyées peuvent être énormes ; elles ne sont pas utilisables pour réaliser des allocations mémoires.

VOIR AUSSI

bc(1), expr(1), getconf(1), locale(1), fpathconf(3), pathconf(3), posixoptions(7)

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 Nicolas François <nicolas.francois [AT] centraliens.net> 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