#include <limits.h> // <climits> en C++
Ces macros décrivent des limites de ressources liées à l'exécution d'un processus, aux threads, aux signaux, aux files de messages ou à certains utilitaires POSIX. Selon les implémentations, certaines valeurs peuvent être indétérminees dans l'entété et doivent alors être récupérées avec sysconf.
| Macro | Depuis | Description |
|---|---|---|
AIO_LISTIO_MAX |
POSIX | Nombre maximal d'opérations dans un appel listio. |
AIO_MAX |
POSIX | Nombre maximal d'opérations d'entrées/sorties asynchrones en attente. |
AIO_PRIO_DELTA_MAX |
POSIX | Écart maximal appliqué a une priorité d'E/S asynchrone. |
ARG_MAX |
POSIX | Taille maximale des arguments et de l'environnement passés à exec. |
ATEXIT_MAX |
POSIX | Nombre maximal de fonctions enregistrables avec atexit. |
CHILD_MAX |
POSIX | Nombre maximal de processus simultanés pour un utilisateur réel. |
DELAYTIMER_MAX |
POSIX | Nombre maximal de dépassements d'expiration de timer. |
HOST_NAME_MAX |
POSIX | Longueur maximale d'un nom d'hôte, hors nul terminal. |
IOV_MAX |
POSIX | Nombre maximal de structures iovec utilisables avec readv ou writev. |
LOGIN_NAME_MAX |
POSIX | Taille maximale d'un nom de connexion. |
MQ_OPEN_MAX |
POSIX | Nombre maximal de files de messages ouvertes par processus. |
MQ_PRIO_MAX |
POSIX | Nombre maximal de priorités de messages. |
OPEN_MAX |
POSIX | Valeur supérieure au plus grand descripteur de fichier attribuable. |
PAGESIZE |
POSIX | Taille d'une page mémoire, en octets. |
PAGE_SIZE |
POSIX | Équivalent de PAGESIZE quand l'une des deux macros est définie. |
PTHREAD_DESTRUCTOR_ITERATIONS |
POSIX | Nombre maximal de passages pour détruire les données spécifiques aux threads. |
PTHREAD_KEYS_MAX |
POSIX | Nombre maximal de cles de données spécifiques aux threads. |
PTHREAD_STACK_MIN |
POSIX | Taille minimale d'une pile de thread. |
PTHREAD_THREADS_MAX |
POSIX | Nombre maximal de threads par processus. |
RTSIG_MAX |
POSIX | Nombre maximal de signaux temps réel reserves aux applications. |
SEM_NSEMS_MAX |
POSIX | Nombre maximal de sémaphores par processus. |
SEM_VALUE_MAX |
POSIX | Valeur maximale d'un semaphore. |
SIGQUEUE_MAX |
POSIX | Nombre maximal de signaux en file d'attente. |
SS_REPL_MAX |
POSIX | Nombre maximal de replenishments pour un serveur sporadique. |
STREAM_MAX |
POSIX | Nombre maximal de flux stdio ouverts par processus. |
SYMLOOP_MAX |
POSIX | Nombre maximal de liens symboliques traversables. |
TIMER_MAX |
POSIX | Nombre maximal de timers par processus. |
TRACE_EVENT_NAME_MAX |
POSIX | Longueur maximale d'un nom d'evenement de trace. |
TRACE_NAME_MAX |
POSIX | Longueur maximale d'un nom de trace. |
TRACE_SYS_MAX |
POSIX | Nombre maximal de flux de trace simultanés. |
TRACE_USER_EVENT_MAX |
POSIX | Nombre maximal d'evenements de trace utilisateur. |
TTY_NAME_MAX |
POSIX | Longueur maximale d'un nom de terminal. |
TZNAME_MAX |
POSIX | Longueur maximale d'un nom de fuseau horaire. |
BC_BASE_MAX |
POSIX | Valeur maximale de obase pour l'utilitaire bc. |
BC_DIM_MAX |
POSIX | Nombre maximal d'elements dans un tableau bc. |
BC_SCALE_MAX |
POSIX | Valeur maximale de scale pour l'utilitaire bc. |
BC_STRING_MAX |
POSIX | Longueur maximale d'une chaine constante acceptee par bc. |
CHARCLASS_NAME_MAX |
POSIX | Nombre maximal d'octets dans un nom de classe de caracteres. |
COLL_WEIGHTS_MAX |
POSIX | Nombre maximal de poids associes a une entree de collation. |
EXPR_NEST_MAX |
POSIX | Nombre maximal d'expressions imbriquees dans expr. |
LINE_MAX |
POSIX | Longueur maximale d'une ligne de texte traitee par un utilitaire. |
NGROUPS_MAX |
POSIX | Nombre maximal de groupes supplémentaires par processus. |
RE_DUP_MAX |
POSIX | Nombre maximal de repetitions dans une expression rationnelle. |
Le bloc suivant montre une maniere simple de consulter quelques limites, en tenant compte du fait que certaines valeurs peuvent aussi être demandées à l'exécution.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <limits.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { #ifdef OPEN_MAX printf( "OPEN_MAX == %ld\n", (long) OPEN_MAX ); #endif long runtimeOpenMax = sysconf( _SC_OPEN_MAX ); printf( "_SC_OPEN_MAX == %ld\n", runtimeOpenMax ); return EXIT_SUCCESS; } |
Un affichage possible est :
OPEN_MAX == 1024 _SC_OPEN_MAX == 1024
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :