sourCEntral - mobile manpages

pdf

sysconf

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

At run time, one can ask for numerical values using the present function sysconf(). One can ask for numerical values that may depend on the filesystem in which a file resides using fpathconf(3) and pathconf(3). One can ask for string values using 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.

For options, typically, there is a constant _POSIX_FOO that may be defined in <unistd.h>. If it is undefined, one should ask at run time. If it is defined to -1, then the option is not supported. If it is defined to 0, then relevant functions and headers exist, but one has to ask at run time what degree of support is available. If it is defined to a value other than -1 or 0, then the option is supported. Usually the value (such as 200112L) indicates the year and month of the POSIX revision describing the option. glibc uses the value 1 to indicate support as long as the POSIX revision has not been published yet. The sysconf() argument will be _SC_FOO. For a list of options, see 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, cela donne une valeur garantie et une valeur plus grande pourrait ê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 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

Maximum number of supplementary group IDs.

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

Size of a page in bytes. Must not be less than 1.

PAGE_SIZE - _SC_PAGE_SIZE

A synonym for PAGESIZE/_SC_PAGESIZE. (Both PAGESIZE and PAGE_SIZE are specified in 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 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 - _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 le NUL 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 moins que _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

indicates the maximum numbers of weights that can be assigned to an entry of the LC_COLLATE order keyword in the locale definition file.

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

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 supportés.

POSIX2_FORT_DEV - _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 prises en charge.

_POSIX2_LOCALEDEF - _SC_2_LOCALEDEF

indicates whether the POSIX.2 creation of locales via localedef(1) is supported.

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.

- _SC_NPROCESSORS_CONF

The number of processors configured. See also get_nprocs_conf(3).

- _SC_NPROCESSORS_ONLN

The number of processors currently online (available). See also get_nprocs_conf(3).

VALEUR RENVOYÉE

The return value of sysconf() is one of the following:

On error, -1 is returned and errno is set to indicate the error (for example, EINVAL, indicating that name is invalid).

If name corresponds to a maximum or minimum limit, and that limit is indeterminate, -1 is returned and errno is not changed. (To distinguish an indeterminate limit from an error, set errno to zero before the call, and then check whether errno is nonzero when -1 is returned.)

If name corresponds to an option, a positive value is returned if the option is supported, and -1 is returned if the option is not supported.

Otherwise, the current value of the option or limit is returned. This value will not be more restrictive than the corresponding value that was described to the application in <unistd.h> or <limits.h> when the application was compiled.

ERREURS

EINVAL

name is invalid.

ATTRIBUTS

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

img

STANDARDS

POSIX.1-2001, POSIX.1-2008.

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 DOT rafin AT laposte DOT net>, Thierry Vignaud <tvignaud AT mandriva DOT com>, François Micaux, Alain Portal <aportal AT univ-montp2 DOT fr>, Jean-Philippe Guérard <fevrier AT tigreraye DOT org>, Jean-Luc Coulon (f5ibh) <jean-luc DOT coulon AT wanadoo DOT fr>, Julien Cristau <jcristau AT debian DOT org>, Thomas Huriaux <thomas DOT huriaux AT gmail DOT com>, Nicolas François <nicolas DOT francois AT centraliens DOT net>, Florentin Duneau <fduneau AT gmail DOT com>, Simon Paillard <simon DOT paillard AT resel DOT enst-bretagne DOT fr>, Denis Barbier <barbier AT debian DOT org> et David Prévot <david AT tilapin DOT org>

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.

pdf