Provided by: manpages-fr-dev_4.23.1-1_all bug

NOM

       sysconf - Obtenir des informations de configuration au moment de l'exécution

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <unistd.h>

       long sysconf(int nom);

DESCRIPTION

       POSIX  permet  à  une application de tester à la compilation ou à l'exécution si certaines
       options sont prises en charge ou de déterminer  quelles  sont  les  valeurs  de  certaines
       limites ou constantes configurables.

       Cela  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  dans  lequel  un  fichier  réside  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, cela signifie  que  l'option  n'est  pas  prise  en
       charge.  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 prise en charge est disponible.  Si
       elle  est  définie  à  une  autre  valeur  que  -1  ou  0,  l'option  est prise en charge.
       Habituellement, la valeur (par exemple 200112L) indique l'année et le mois de la  révision
       POSIX  qui  décrit l'option. La glibc utilise la valeur 1 pour indiquer la prise en charge
       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, consultez 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 indiquée. Si la constante est définie, elle
       fournit une valeur garantie et une valeur plus grande pourrait être prise  en  charge.  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).

       NGROUPS_MAX - _SC_NGROUPS_MAX
              Nombre maximal de GID supplémentaires.

       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 inférieur à _POSIX_OPEN_MAX (20).

       PAGESIZE - _SC_PAGESIZE
              Taille d'une page en octets. Ne doit pas être inférieure à 1.

       PAGE_SIZE - _SC_PAGE_SIZE
              Un  synonyme de PAGESIZE ou _SC_PAGESIZE. (Les variables PAGESIZE et PAGE_SIZE sont
              toutes les deux spécifiées dans POSIX.)

       RE_DUP_MAX - _SC_RE_DUP_MAX
              Le  nombre  maximal  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 la variable
              est définie, elle a la même valeur que la macro C standard FOPEN_MAX. Ne  doit  pas
              être inférieur à _POSIX_STREAM_MAX (8).

       SYMLOOP_MAX - _SC_SYMLOOP_MAX
              Le nombre maximal 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 l'octet NULL
              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
              inférieur à _POSIX_TZNAME_MAX (6).

       _POSIX_VERSION - _SC_VERSION
              Indique  l'année  et  le  mois  où la norme 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
              Indique le nombre maximal de poids à affecter à une entrée dans le mot clé  d'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  maximal  de  répétitions d'une expression rationnelle quand la notation
              d'intervalle \{m,n\} est utilisée.

       POSIX2_VERSION - _SC_2_VERSION
              Indique 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 pris en charge.

       POSIX2_FORT_DEV - _SC_2_FORT_DEV
              Indique si les utilitaires POSIX.2 de développement en FORTRAN sont pris en charge.

       POSIX2_FORT_RUN - _SC_2_FORT_RUN
              Indique si les utilitaires POSIX.2 d'exécution FORTRAN sont pris en charge.

       _POSIX2_LOCALEDEF - _SC_2_LOCALEDEF
              Indique si la création de localisation  POSIX.2  avec  localedef(1)  est  prise  en
              charge.

       POSIX2_SW_DEV - _SC_2_SW_DEV
              Indique  si l'option des utilitaires POSIX.2 de développement logiciel est prise en
              charge.

       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
              Le nombre de processeurs configurés. Voir aussi get_nprocs_conf(3).

        - _SC_NPROCESSORS_ONLN
              Le   nombre   de  processeurs  actuellement  en  ligne  (disponibles).  Voir  aussi
              get_nprocs_conf(3).

VALEUR RENVOYÉE

       La valeur renvoyée de sysconf() est une des suivantes :

       -  En cas d'erreur, la valeur de retour est -1 et errno est définie pour préciser l'erreur
          (par exemple, EINVAL indique que nom n'est pas valable).

       -  Si  nom  correspond  à  une  limite  maximale  ou  minimale  et  si  cette  limite  est
          indéterminée, -1 est renvoyé et errno n'est pas modifié. (Pour  distinguer  une  limite
          indéterminée  d'une  erreur,  définissez  errno  à zéro avant l'appel, puis vérifiez si
          errno est différent de zéro quand -1 est renvoyé.)

       -  Si nom correspond à une option, une valeur positive est renvoyée si l'option est  prise
          en charge, et -1 est renvoyé si l'option n'est pas prise en charge.

       -  Autrement, la valeur actuelle de l'option ou de la limite est renvoyée. Cette valeur ne
          sera pas plus restrictive que la valeur correspondante décrite pour l'application  dans
          <unistd.h> ou <limits.h> quand l'application a été compilée.

ERREURS

       EINVAL nom n'est pas valable.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌────────────────────────────────────────────────────┬──────────────────────┬─────────────┐
       │InterfaceAttributValeur      │
       ├────────────────────────────────────────────────────┼──────────────────────┼─────────────┤
       │sysconf()                                           │ Sécurité des threads │ MT-Safe env │
       └────────────────────────────────────────────────────┴──────────────────────┴─────────────┘

STANDARDS

       POSIX.1-2008.

HISTORIQUE

       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),   confstr(3),   fpathconf(3),   pathconf(3),
       posixoptions(7)

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier  <barbier@debian.org>,  David  Prévot  <david@tilapin.org>  et  Jean-Pierre Giraud
       <jean-pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.