NOM
BUF_MEM_new, BUF_MEM_free, BUF_MEM_grow, BUF_strdup − Structure de tableaux de caractères simples
SYNOPSIS
#include <openssl/buffer.h> BUF_MEM *BUF_MEM_new(void); void BUF_MEM_free(BUF_MEM *a); int BUF_MEM_grow(BUF_MEM *str, int len); char * BUF_strdup(const char *str);
DESCRIPTION
La bibliothèque de tampon utilise des tableaux de caractères simples. Les tampons sont utilisés à des fins diverses dans la bibliothèque, notamment pour les BIO mémoires.
La bibliothèque utilise la structure BUF_MEM définie dans buffer.h
typedef struct buf_mem_st { int length; /* nombre actuel d'octets */ char *data; int max; /* taille du tampon */ } BUF_MEM;
length est la taille actuelle du tampon en octets, max est la quantité de mémoire allouée au tampon. Il y a trois fonctions qui gèrent celles-ci, ainsi qu’une fonction « divers ».
BUF_MEM_new() alloue un nouveau tampon de taille 0.
BUF_MEM_free() libère un tampon préexistant. Les données sont mises à 0 avant d’être libérées au cas où le tampon contiendrait des données sensibles.
BUF_MEM_grow() change la taille d’un tampon déjà existant à la taille len. Les données présentes dans le tampon sont préservées si celui-ci est agrandi.
BUF_strdup() copie une chaîne terminée par null dans un bloc de mémoire alloué et renvoie un pointeur vers ce bloc. À la différence de la fonction strdup() de la bibliothèque standard de C, cette fonction utilise OPENSSL_malloc() et donc devrait être préférée à strdup() car elle peut être utilisée pour détecter des fuites de mémoire ou pour remplacer la fonction malloc().
La mémoire allouée par BUF_strdup() doit être libérée en utilisant la fonction OPENSSL_free().
VALEURS DE RETOUR
BUF_MEM_new() renvoie le tampon ou NULL en cas d’erreur.
BUF_MEM_free() n’a pas de valeur de retour.
BUF_MEM_grow() renvoie la nouvelle taille (c’est−à−dire len), ou 0 en cas d’erreur.
VOIR AUSSI
HISTORIQUE
BUF_MEM_new(), BUF_MEM_free() et BUF_MEM_grow() sont disponibles dans toutes les versions de SSLeay et d’OpenSSL. BUF_strdup() a été ajouté dans SSLeay 0.8.
TRADUCTION
La traduction de cette page de manuel est maintenue par les membres de la liste <debian−l10n−french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.