Section courante

A propos

Section administrative du site

alloc_buffer.h

Allocation de tampon
glibc

Description

Ce fichier d'entête permet de gérer des tampons dynamiques alloués en mémoire.

Liste des fonctions

Nom Description
alloc_buffer_add_byte Cette fonction permet d'ajouter un octet au tampon. Si l'espace restant est insuffisant, le tampon est marqué comme échoué.
alloc_buffer_alloc Cette macro permet d'allouer de l'espace dans le tampon pour un objet de type spécifié (type). Elle utilise une fonction interne __alloc_buffer_alloc pour effectuer l'allocation.
alloc_buffer_alloc_array Cette macro permet d'allouer un tableau d'objets d'un type donné dans le tampon.
alloc_buffer_alloc_bytes Cette fonction permet d'allouer une séquence de longueur d'octets dans le tampon et consomme cet espace. Renvoie un pointeur sur l'espace alloué ou NULL si l'espace est insuffisant (le tampon est alors marqué comme échoué).
alloc_buffer_allocate Cette fonction permet d'allouer dynamiquement un tampon de mémoire de taille spécifié via malloc. Si l'allocation échoue, le tampon est marqué comme "en échec".
alloc_buffer_copy_bytes Cette fonction permet de copier un bloc de données de taille spécifiée depuis une source spécifiée dans le tampon.
alloc_buffer_copy_string Cette fonction permet de copier une chaîne de caractères, y compris son terminateur nul (\0), depuis une source spécifié dans le tampon.
alloc_buffer_create Cette fonction permet de créer un tampon d'allocation à partir d'un intervalle de mémoire spécifiée (start à start + size - 1).
alloc_buffer_next Cette macro permet d'obtenir un pointeur vers un emplacement aligné dans le tampon pour un objet du type donné, sans avancer le drapeau d'allocation.
alloc_buffer_mark_failed Cette fonction permet de marquer explicitement un tampon comme "en échec". Cela invalide le tampon en assignant des pointeurs spéciaux à ses champs (__ALLOC_BUFFER_INVALID_POINTER).
alloc_buffer_has_failed Cette fonction permet de vérifier si un tampon est dans un état "en échec". Renvoie true si le tampon a été marqué comme échoué, sinon false.
alloc_buffer_size Cette fonction permet de retourner la quantité d'espace restant dans le tampon, calculée comme la différence entre les pointeurs de début et de fin.
__alloc_buffer_alloc Cette fonction permet d'allouer un objet dans le tampon avec des contraintes d'alignement et de taille.
__alloc_buffer_assert_size Cette fonction permet de vérifier statiquement que la taille passée est une constante non nulle, sinon une erreur est levée à la compilation.
__alloc_buffer_assert_align Cette fonction permet de valider que l'alignement est une constante, non nul, et une puissance de deux. Sinon, une erreur est signalée.
__alloc_buffer_next Cette fonction permet de retourner un pointeur vers un emplacement aligné dans le tampon, sans avancer la position d'allocation au-delà de cet emplacement.
__libc_alloc_buffer_alloc_array Cette fonction permet d'allouer un tableau dans le tampon.


Dernière mise à jour : Dimanche, le 5 Janvier 2025