Provided by: manpages-fr_1.67.0-1_all bug

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 entê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  pourrait  plus ê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 briè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), inclaunt le
              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 revision 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_DEV
              Indique  si  les  utilitaires POSIX.2 de développement en C sont
              supportés.

       POSIX2_FORT_RUN - _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.

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

       Christophe Blaess, 1996-2003

       Alain Portal, 2005