Provided by: manpages-fr-dev_4.27.0-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 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.

Pages du manuel de Linux 6.9.1                    15 juin 2024                                        sysconf(3)