Man page - sysconf(3)

Packages contains this manual

Available languages:

en fr pl cs ja ru de

Manual

sysconf

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
Variables POSIX.1
Variables POSIX.2
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
STANDARDS
HISTORIQUE
BOGUES
VOIR AUSSI
TRADUCTION

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

Image grohtml-3869223-1.png

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 .