Fichiers d'entêtes de la bibliothèque
Voici la liste des différents fichiers d'entêtes reconnus de base par la bibliothèque glibc et habituellement inclus à l'aide de la directive de compilation «#include» :
| Fichier d'entête | Description |
|---|---|
| aio.h | Ce fichier d'entête permet de fournir des fonctionnalités pour les entrées/sorties désynchronisés (Asynchronous I/O) telles que aio_read, aio_write, et aio_suspend. |
| aliases.h | Ce fichier d'entête permet de gérer les alias de noms dans des configurations spécifiques, souvent lié aux protocoles réseau ou aux fichiers système. |
| alloc_buffer.h | Ce fichier d'entête permet de gérer des tampons dynamiques alloués en mémoire. |
| alloca.h | Ce fichier d'entête contient la fonction alloca, utilisée pour allouer de la mémoire temporaire sur la pile. Cette mémoire est automatiquement libérée lorsque la fonction l'ayant appelée se termine. |
| allocate_once.h | Ce fichier d'entête permet l'initialisation de ressources ou de variables uniquement une fois dans un programme. |
| ar.h | Ce fichier d'entête permet de fournir des structures et définitions pour manipuler des fichiers d'archives, tels que ceux utilisés par la commande ar. |
| argp-fmtstream.h | Ce fichier d'entête permet la gestion des paramètres argp pour formater et gérer les flux d'entrée/sortie. |
| argp.h | Ce fichier d'entête permet de fournir des fonctions pour analyser les paramètres de ligne de commande à l'aide du système argp, une alternative à getopt. |
| argz.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler des vecteurs de chaînes terminées par des zéros (argz), utilisées pour gérer des tableaux de chaînes. |
| array_length.h | Ce fichier d'entête permet de déterminer la longueur des tableaux au moment de la compilation. |
| assert.h | Ce fichier d'entête permet de fournir la macro assert pour vérifier des conditions lors du débogage. Si la condition échoue, le programme s'arrête. |
| atomic.h | Ce fichier d'entête permet de définir des fonctions et macros pour effectuer des opérations atomiques, souvent utilisées dans la programmation multi-processus léger. |
| atomic_wide_counter.h | Ce fichier d'entête permet de gérer des compteurs atomiques larges (utilisés pour des valeurs de grande taille). |
| byteswap.h | Ce fichier d'entête permet de fournir des macros et fonctions pour permuter l'ordre des octets (endianess), par exemple pour convertir entre big-endian et little-endian. |
| clone_internal.h | Ce fichier d'entête contient l'implémentation de la fonction clone, utilisée pour créer de nouveaux processus ou processus léger. |
| complex.h | Ce fichier d'entête permet de fournir des macros et fonctions pour manipuler des nombres complexes (standard C99). |
| cpio.h | Ce fichier d'entête permet de fournir des définitions pour les fichiers d'archives cpio, comme les formats de fichiers et les constantes associées. |
| ctype.h | Ce fichier d'entête permet de fournir des fonctions pour classifier et manipuler des caractères, comme isalpha, isdigit, toupper,... |
| des.h | Ce fichier d'entête permet de fournir des définitions pour le chiffrement DES (Data Encryption Standard). Ce fichier peut être lié à des fonctionnalités de sécurité obsolètes. |
| dirent.h | Ce fichier d'entête permet de fournir des fonctions pour lire et manipuler des répertoires, comme opendir, readdir, et closedir. |
| dlfcn.h | Ce fichier d'entête permet de fournir des fonctions pour charger dynamiquement des bibliothèques partagées, comme dlopen, dlsym, et dlclose. |
| dso_handle.h | Ce fichier d'entête permet de gérer les objets partagés dynamiquement. |
| elf.h | Ce fichier d'entête permet de fournir des structures et constantes pour manipuler des fichiers au format ELF (Executable and Linkable Format), couramment utilisés sous Linux. |
| endian.h | Ce fichier d'entête permet de fournir des macros pour manipuler l'endianess (ordre des octets) des données, comme __LITTLE_ENDIAN, __BIG_ENDIAN, et des fonctions pour conversion de formats. |
| envz.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler des listes d'environnements sous la forme de vecteurs terminés par un zéro (envz_add, envz_merge,...). |
| err.h | Ce fichier d'entête permet de définir des fonctions pour afficher des messages d'erreur et terminer un programme (err, errx, warn, warnx). |
| errno.h | Ce fichier d'entête permet de déclarer la variable globale errno, utilisée pour indiquer les erreurs des fonctions système ou des bibliothèques standard. |
| error.h | Ce fichier d'entête permet de fournir des fonctions pour afficher des messages d'erreur et appeler un gestionnaire d'erreurs (error et error_at_line). |
| execinfo.h | Ce fichier d'entête permet de fournir des fonctions pour obtenir des informations sur la pile d'exécution (backtrace, backtrace_symbols,...). |
| fcntl.h | Ce fichier d'entête permet de fournir des définitions et fonctions pour contrôler les fichiers et descripteurs de fichiers (open, fcntl,...). |
| features-time64.h | Ce fichier d'entête permet de gérer les macros associées au support du type time_t sur 64 bits. |
| features.h | Ce fichier d'entête permet d'activer ou de désactiver certaines fonctionnalités selon les macros définies, comme _GNU_SOURCE, _POSIX_C_SOURCE. |
| fenv.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler l'état de l'environnement arithmétique flottant (exceptions et arrondi, standard C99). |
| file_change_detection.h | Ce fichier d'entête permet de détecter les changements dans des fichiers ou flux de données. |
| filename.h | Ce fichier d'entête contient des utilitaires pour manipuler des noms de fichiers. |
| float.h | Ce fichier d'entête permet de fournir des constantes pour les limites des types à virgule flottante (FLT_MAX, DBL_MIN,...). |
| fmtmsg.h | Ce fichier d'entête permet de fournir une interface pour afficher des messages formatés conformément au standard XSI (fmtmsg). |
| fnmatch.h | Ce fichier d'entête permet de fournir des fonctions pour faire correspondre des chaînes avec des motifs utilisant des caractères génériques (fnmatch). |
| fpu_control.h | Ce fichier d'entête permet de fournir des macros pour contrôler les paramètres du coprocesseur FPU, comme l'arrondi et les exceptions. |
| fstab.h | Ce fichier d'entête permet de fournir des structures pour manipuler les informations du fichier système /etc/fstab. |
| fts.h | Ce fichier d'entête permet de fournir des fonctions pour parcourir des hiérarchies de fichiers de manière récursive (fts_open, fts_read,...). |
| ftw.h | Ce fichier d'entête permet de fournir des fonctions pour parcourir des répertoires récursivement, comme ftw et nftw. |
| gconv.h | Ce fichier d'entête permet de fournir des interfaces pour la conversion d'ensembles de caractères, utilisé par iconv. |
| getopt.h | Ce fichier d'entête permet de fournir des fonctions pour analyser les options de ligne de commande (getopt, getopt_long). |
| getopt_int.h | Ce fichier d'entête contient l'implémentation de getopt. |
| glob.h | Ce fichier d'entête permet de fournir des fonctions pour effectuer des recherches de chemins en utilisant des motifs (glob, globfree). |
| gmp.h | Ce fichier d'entête permet de fournir des définitions pour utiliser la bibliothèque GNU MP (arithmétique multi-précision). |
| gnu-versions.h | Ce fichier d'entête permet de lister les versions des fonctionnalités ou symboles spécifiques à GNU. |
| grp-merge.h | Ce fichier d'entête permet de fusionner les informations de groupes dans des structures système. |
| grp.h | Ce fichier d'entête permet de fournir des structures et fonctions pour gérer les groupes utilisateur, comme getgrent, getgrgid, et getgrnam. |
| gshadow.h | Ce fichier d'entête permet de fournir des structures et fonctions pour manipuler les fichiers d'ombres des groupes (/etc/gshadow). |
| iconv.h | Ce fichier d'entête permet de fournir une interface pour la conversion entre différents encodages de caractères (iconv_open, iconv,...). |
| idx.h | Ce fichier d'entête permet de manipuler des indices dans des tableaux ou structures. |
| ifaddrs.h | Ce fichier d'entête permet de fournir des fonctions pour obtenir des informations sur les interfaces réseau (getifaddrs, freeifaddrs). |
| ifreq.h | Ce fichier d'entête permet de déclarer des structures et constantes pour les requêtes ioctl associées aux interfaces réseau. |
| ifunc-impl-list.h | Ce fichier d'entête contient l'implémentation de fonctions indirectes (IFUNC) utilisées pour l'optimisation. |
| inline-hashtab.h | Ce fichier d'entête permet de manipuler des tables de hachage en ligne. |
| intprops.h | Ce fichier d'entête permet de fournir des macros pour tester les propriétés des types entiers (par exemple, débordements). |
| inttypes.h | Ce fichier d'entête permet de fournir des macros et fonctions pour manipuler des types entiers spécifiques (standard C99). |
| langinfo.h | Ce fichier d'entête permet de fournir des fonctions pour récupérer des informations sur la localisation, comme le format des dates (nl_langinfo). |
| lastlog.h | Ce fichier d'entête permet de fournir des structures pour lire et écrire les informations de connexion dans /var/log/lastlog. |
| libc-diag.h | Ce fichier d'entête permet d'afficher des diagnostics liés à la glibc. |
| libc-internal.h | Ce fichier d'entête contient les fonctionnalités internes à la bibliothèque C. |
| libc-misc.h | Ce fichier d'entête contient des fonctions diverses pour la glibc. |
| libc-pointer-arith.h | Ce fichier d'entête permet de fournir des macros pour effectuer des calculs sécurisés sur des pointeurs. |
| libc-symbols.h | Ce fichier d'entête permet de gérer les symboles publics et privés de la glibc. |
| libgen.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler les noms de fichiers et chemins, comme basename et dirname. |
| libintl.h | Ce fichier d'entête permet de fournir des fonctions pour la localisation et la traduction, comme gettext et dgettext. |
| limits.h | Ce fichier d'entête permet de définir les constantes des limites des types de données, comme CHAR_MAX, INT_MIN, LONG_MAX. |
| link.h | Ce fichier d'entête permet de fournir des fonctions et structures pour interagir avec le chargeur dynamique (dynamic linker). |
| list.h | Ce fichier d'entête contient des macros et structures pour manipuler des listes doublement chaînées. |
| list_t.h | Ce fichier d'entête permet de gérer des listes spécifiques dans certaines parties de la glibc. |
| locale.h | Ce fichier d'entête permet de fournir des fonctions pour configurer et interroger les paramètres de localisation (setlocale, localeconv). |
| loop_unroll.h | Ce fichier d'entête contient l'optimisation des boucles (déroulage des boucles). |
| malloc.h | Ce fichier d'entête permet de fournir des fonctions pour la gestion de la mémoire dynamique, comme malloc, calloc, et realloc. |
| math-narrow-eval.h | Ce fichier d'entête permet d'optimiser les calculs mathématiques sur des types plus petits que double. |
| math.h | Ce fichier d'entête permet de fournir des fonctions mathématiques standard (sin, cos, sqrt,...). |
| mcheck.h | Ce fichier d'entête permet de fournir des fonctions pour vérifier les erreurs liées à l'allocation de mémoire (mcheck, mprobe). |
| memory.h | Ce fichier d'entête permet de fournir des fonctions de manipulation de mémoire comme memcpy, memmove, memset. |
| mntent.h | Ce fichier d'entête permet de fournir des fonctions pour lire et écrire des informations sur les systèmes de fichiers montés (/etc/mtab). |
| monetary.h | Ce fichier d'entête permet de fournir des fonctions pour formater des valeurs monétaires (strfmon). |
| mqueue.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler les files de messages POSIX (mq_open, mq_send,...). |
| netdb.h | Ce fichier d'entête permet de fournir des fonctions pour interagir avec les bases de données réseau, comme gethostbyname et getaddrinfo. |
| netgroup.h | Ce fichier d'entête permet de fournir des fonctions pour interroger les groupes réseau (setnetgrent, getnetgrent,...). |
| nl_types.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler des catalogues de messages (catopen, catgets, catclose). |
| nss.h | Ce fichier d'entête contient l'implémentation du service de commutation des noms (Name Service Switch). |
| nss_dns.h | Ce fichier d'entête contient le backend DNS du système NSS. |
| nss_files.h | Ce fichier d'entête contient le backend "files" (utilisant des fichiers locaux) du système NSS. |
| nsswitch.h | Ce fichier d'entête permet de fournir des macros et structures pour gérer les configurations NSS (Name Service Switch). |
| obstack.h | Ce fichier d'entête permet de fournir des fonctions pour la gestion des piles d'objets dynamiques (obstacks). |
| plural-exp.h | Ce fichier d'entête permet de gérer les règles de pluriels dans les catalogues de messages. |
| poll.h | Ce fichier d'entête permet de fournir des fonctions pour surveiller des descripteurs de fichiers et leurs événements (poll). |
| printf.h | Ce fichier d'entête contient l'implémentation des fonctions de formatage comme printf. |
| printf_buffer.h | Ce fichier d'entête permet de gérer les tampons utilisés dans printf et autres fonctions similaires. |
| programs | Ce fichier d'entête permet de gérer les programmes dans la glibc. |
| protocols | Ce fichier d'entête permet de fournir des constantes et structures pour les protocoles réseau, basé sur /etc/protocols. |
| pthread.h | Ce fichier d'entête permet de fournir des fonctions pour gérer les processus léger POSIX (pthread_create, pthread_mutex_lock,...). |
| pty.h | Ce fichier d'entête permet de fournir des fonctions pour gérer les pseudo-terminaux (openpty, forkpty). |
| pwd.h | Ce fichier d'entête permet de fournir des fonctions pour interagir avec les bases de données d'utilisateurs, comme getpwnam, getpwuid. |
| random-bits.h | Ce fichier d'entête permet de générer des bits aléatoires utilisés dans certaines parties de la glibc. |
| re_comp.h | Ce fichier d'entête permet de fournir des fonctions obsolètes pour la compilation d'expressions régulières. |
| regex.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler des expressions régulières POSIX (regcomp, regexec,...). |
| regexp.h | Ce fichier d'entête permet de fournir des fonctions similaires à regex.h mais dans un style BSD, maintenant obsolètes. |
| register-atfork.h | Ce fichier d'entête permet de gérer les gestionnaires enregistrés avec pthread_atfork. |
| resolv.h | Ce fichier d'entête permet de fournir des fonctions pour effectuer des requêtes DNS (res_query, res_search,...). |
| rounding-mode.h | Ce fichier d'entête permet de gérer le mode d'arrondi des opérations flottantes. |
| rtld-malloc.h | Ce fichier d'entête permet la gestion de la mémoire dans le chargeur dynamique. |
| sched.h | Ce fichier d'entête permet de fournir des fonctions pour la gestion de la planification des processus et processus léger (sched_yield, sched_setparam). |
| scratch_buffer.h | Ce fichier d'entête permet de gérer des tampons temporaires dans certaines parties de la glibc. |
| search.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler des tables de hachage et des arbres binaires (hsearch, tsearch,...). |
| set-freeres.h | Ce fichier d'entête permet de libérer des ressources associées aux processus légers et aux environnements locaux. |
| setjmp.h | Ce fichier d'entête permet de fournir des macros et fonctions pour manipuler des sauts non locaux (setjmp, longjmp). |
| sgtty.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler les terminaux, obsolètes et remplacées par termios. |
| shadow.h | Ce fichier d'entête permet de fournir des structures et fonctions pour accéder aux mots de passe sécurisés (/etc/shadow). |
| shlib-compat.h | Ce fichier d'entête permet de gérer la compatibilité entre différentes versions de bibliothèques partagées. |
| shm-directory.h | Ce fichier d'entête permet de gérer les segments de mémoire partagée (shared memory). |
| signal.h | Ce fichier d'entête permet de fournir des fonctions et macros pour manipuler les signaux Unix, comme signal, sigaction, raise, kill. |
| spawn.h | Ce fichier d'entête permet de fournir des fonctions pour créer et contrôler des processus (posix_spawn, posix_spawnp). |
| stab.h | Ce fichier d'entête permet de définir des constantes utilisées dans les tables de symboles de débogage (STAB). |
| stackinfo.h | Ce fichier d'entête permet de gérer les informations sur les piles des processus léger et processus. |
| stap-probe.h | Ce fichier d'entête permet d'intégrer des probes SystemTap dans la glibc. |
| stdbit.h | Ce fichier d'entête permet de définir des macros pour manipuler des bits, introduit dans C23. |
| stdc-predef.h | Ce fichier d'entête permet de définir des macros standard selon les versions du langage C et les extensions. |
| stdint.h | Ce fichier d'entête permet de définir les types d'entiers standard avec des tailles fixes (exemple, int32_t, uint64_t). |
| stdio.h | Ce fichier d'entête permet de fournir des fonctions pour les entrées/sorties standard (printf, scanf, fopen,...). |
| stdio_ext.h | Ce fichier d'entête permet de fournir des fonctions supplémentaires pour manipuler des flux de fichiers, spécifiques à glibc (__fbufsize, __fpending). |
| stdlib.h | Ce fichier d'entête permet de fournir des fonctions pour la gestion de la mémoire, les conversions, la génération de nombres aléatoires (malloc, atoi, rand). |
| string.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler des chaînes de caractères et des blocs mémoire (strlen, strcpy, memcpy). |
| strings.h | Ce fichier d'entête permet de fournir des fonctions supplémentaires pour les chaînes de caractères, comme strcasecmp et strncasecmp. |
| struct___timeb64.h | Ce fichier d'entête permet de définir la structure __timeb64, utilisée pour représenter les dates/horaires en 64 bits. |
| struct___timespec64.h | Ce fichier d'entête permet de définir la structure __timespec64, utilisée pour gérer les intervalles de temps en 64 bits. |
| struct___timeval64.h | Ce fichier d'entête permet de définir la structure __timeval64, utilisée pour représenter des durées temporelles en 64 bits. |
| stubs-prologue.h | Ce fichier d'entête permet de générer des stubs (bouts de code servant de placeholder). |
| syscall.h | Ce fichier d'entête permet de fournir des interfaces pour effectuer des appels système directement (syscall). |
| sysexits.h | Ce fichier d'entête permet de définir des codes de sortie standard pour les programmes, comme EX_OK, EX_USAGE. |
| syslog.h | Ce fichier d'entête permet de fournir des fonctions pour la journalisation système (syslog, openlog, closelog). |
| tar.h | Ce fichier d'entête permet de définir les constantes et structures utilisées pour manipuler des archives tar. |
| termios.h | Ce fichier d'entête permet de fournir des fonctions pour configurer et manipuler les terminaux (tcgetattr, tcsetattr). |
| tgmath.h | Ce fichier d'entête permet de fournir des fonctions mathématiques génériques compatibles avec des types complexes et réels. |
| time.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler des dates et heures (time, strftime, clock). |
| ttyent.h | Ce fichier d'entête permet de fournir des fonctions pour lire et manipuler les entrées de terminaux dans /etc/ttys. |
| uchar.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler les types de caractères Unicode (char16_t, char32_t). |
| ucontext.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler des contextes d'exécution (getcontext, setcontext). |
| ulimit.h | Ce fichier d'entête permet de fournir des fonctions pour interroger et définir les limites de ressources système (ulimit). |
| unistd.h | Ce fichier d'entête permet de fournir des définitions et fonctions POSIX générales pour les processus, fichiers, et IO (fork, read, exec). |
| unistd_ext.h | Ce fichier d'entête contient l'extension de unistd.h, spécifique à la glibc. |
| utime.h | Ce fichier d'entête permet de fournir des fonctions pour modifier les horodatages des fichiers (utime). |
| utmp.h | Ce fichier d'entête permet de fournir des structures et fonctions pour lire et écrire dans les fichiers d'état utilisateur (/var/run/utmp). |
| values.h | Ce fichier d'entête permet de définir des constantes mathématiques et de limites de types (ancien, remplacé par limits.h). |
| verify.h | Ce fichier d'entête permet de valider des conditions et générer des erreurs à la compilation si elles échouent. |
| wait.h | Ce fichier d'entête permet de fournir des macros et fonctions pour attendre la fin de processus enfants (wait, waitpid). |
| wchar.h | Ce fichier d'entête permet de fournir des fonctions pour manipuler des chaînes de caractères larges (wcslen, wcscpy). |
| wctype.h | Ce fichier d'entête permet de fournir des fonctions pour tester et manipuler des caractères larges (iswalpha, towupper). |
| wordexp.h | Ce fichier d'entête permet de fournir des fonctions pour l'expansion des mots en interpréteur de commande (wordexp, wordfree). |
Dernière mise à jour : Mercredi, le 1er janvier 2025