SYSCONF

Section: Manuel du programmeur Linux (3)
Updated: 21 juillet 2003
Index


NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION

NOM

sysconf - Obtenir des informations de configuration.

SYNOPSIS

#include <unistd.h>

long sysconf (int name);

DESCRIPTION

sysconf() fournit une possibilité pour les applications de déterminer en cours d'exécution les limites ou les options du système.
Les macros équivalentes, définies dans <unistd.h>, ne donnent que des valeurs figées, et si une application veut tirer parti des valeurs pouvant varier, l'appel de sysconf() permet d'obtenir ces informations.
Pour obtenir des informations à propos d'un fichier particulier, voyez fpathconf() ou pathconf().
name prend une valeur parmi les constantes symboliques suivantes :
Premièrementi, les constantes POSIX.1 :
_SC_ARG_MAX
La longueur maximale des arguments des fonctions de la famille exec(). La macro correspondante est ARG_MAX.
_SC_CHILD_MAX
Le nombre maximal de processus simultanés pour un UID. La macro correspondante est _POSIX_CHILD_MAX.
_SC_CLK_TCK
Le nombre de tops d'horloge par seconde. La macro correspondande est CLK_TCK.
_SC_STREAM_MAX
Le nombre maximal de flux qu'un processus peut ouvrir simultanement. La macro POSIX correspondante est STREAM_MAX, la macro C correspondante est FOPEN_MAX.
_SC_TZNAME_MAX
Le nombre maximal de caractères dans le nom d'un fuseau horaire. La macro correspondante est TZNAME_MAX.
_SC_OPEN_MAX
Le nombre maximal de fichier qu'un processus peut ouvrir simultanement. La macro correspondante est _POSIX_OPEN_MAX.
_SC_JOB_CONTROL
Indicateur pour savoir si le style POSIX de contrôle des jobs est supporté. La macro correspondante est _POSIX_JOB_CONTROL.
_SC_SAVED_IDS
Indique si un processus a un set-user-ID sauvegardé et un set-group-ID sauvegardé. La macro correspondante est _POSIX_SAVED_IDS.
_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 revision la plus récente, en 1990.

Deuxièmement les constantes POSIX.2 :
_SC_BC_BASE_MAX
la valeur maximale pour obase acceptée par l'utilitaire bc(1). La macro correspondante est BC_BASE_MAX.
_SC_BC_DIM_MAX
La valeur maximale des éléments autorisés dans une table par bc(1). La macro correspondante est BC_DIM_MAX.
_SC_BC_SCALE_MAX
L'échelle maximale de valeurs autorisées par bc(1). La macro correspondante est BC_SCALE_MAX.
_SC_BC_STRING_MAX
La longueur maximale d'une chaîne acceptée par bc(1). La macro correspondante est BC_STRING_MAX.
_SC_COLL_WEIGHTS_MAX
La valeur maximale du poids à affecter à une entrée dans l'ordre LC_COLLATE du fichier de définition de localisation. La macro correspondante est COLL_WEIGHTS_MAX.
_SC_EXPR_NEST_MAX
Le nombre maximal d'expressions imbriquées entre parenthèses dans expr(1). La macro correspondante est EXPR_NEST_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 retour chariot final. La macro correspondante est LINE_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. La macro correspondante est RE_DUP_MAX.
_SC_2_VERSION
La version de standard POSIX.2 au format AAAAMML. La macro correspondante est POSIX2_VERSION.
_SC_2_DEV
Indique si les utilitaires POSIX.2 de développement en C sont supportés. La macro correspondante est POSIX2_C_DEV.
_SC_2_FORT_DEV
Indique si les utilitaires POSIX.2 de développement en FORTRAN sont supportés. La macro correspondante est POSIX2_FORT_RUN.
_SC_2_FORT_RUN
Indique si les utilitaires POSIX.2 d'exécution FORTRAN sont supportés. La macro correspondante est POSIX2_FORT_RUN.
_SC_2_LOCALEDEF
Indique si la création de localisation POSIX.2 avec localedef(1) est supportée. La macro correspondante est _POSIX2_LOCALEDEF.
_SC_2_SW_DEV
Indique si les utilitaires POSIX.2 de développement sont supportés. La macro correspondante est POSIX2_SW_DEV.

Enfin, SUSv2 décrit :
_SC_PAGESIZE _SC_PAGE_SIZE
La taille d'une page mémoire (en octets).

Quelques valeurs existent sans appartenir à un standard :
_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 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, 1 si une option est vraie, 0 si elle ne l'est pas, et -1 en cas d'erreur.

CONFORMITÉ

POSIX.1.

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.
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)

TRADUCTION

Christophe Blaess, 1996-2003