fr::crypto::BIO_new(3SSL)

NOM
BIO_new, BIO_set, BIO_free, BIO_vfree, BIO_free_all - Fonctions d'allocation et libération de BIO

SYNOPSIS
 #include <openssl/bio.h>

 BIO *  BIO_new(BIO_METHOD *type);
 int    BIO_set(BIO *a,BIO_METHOD *type);
 int    BIO_free(BIO *a);
 void   BIO_vfree(BIO *a);
 void   BIO_free_all(BIO *a);

DESCRIPTION
La fonction BIO_new() renvoie un nouveau BIO utilisant la méthode type.

BIO_set() définit la méthode d'un BIO déjà existant.

BIO_free() libère un seul BIO, BIO_vfree() libère aussi un seul BIO mais ne renvoie pas de valeur. Appeler BIO_free() pourrait aussi avoir un certain effet sur la structure d'entrées et sorties sous-jacente, par exemple elle pourrait fermer le fichier référencé dans certaines circonstances. Consultez les descriptions de chaque BIO_METHOD pour plus de précisions.

BIO_free_all() libère toute une chaîne de BIO, elle ne s'arrête pas en cas d'erreur de libération d'un BIO de la chaîne.

VALEURS DE RETOUR
BIO_new() renvoie un BIO nouvellement créé ou NULL si l'appel échoue.

BIO_set() et BIO_free() renvoient 1 si elles réussissent et 0 si elles échouent.

BIO_free_all() et BIO_vfree() ne renvoient pas de valeur.

NOTES
Certains BIO (comme les BIO mémoire) peuvent être utilisés immédiatement après avoir appelé BIO_new(). D'autres (comme les BIO fichier) ont besoin d'initialisation supplémentaire et une fonction utilitaire existe souvent pour créer et initialiser ce genre de BIO.

Si BIO_free() est appelée sur une chaîne de BIO, elle ne libérera qu'un seul BIO avec pour conséquence une fuite de mémoire.

Appeler BIO_free_all() sur un seul BIO a le même effet que d'appeler BIO_free() dessus à part l'absence de valeur de retour.

L'argument type est normalement fourni par une fonction qui renvoie un pointeur vers une BIO_METHOD. Une convention de nommage existe pour ce genre de fonction : un BIO source ou destination s'appelle BIO_s_*() et un BIO filtre BIO_f_*().

EXEMPLE
Créer un BIO mémoire :

 BIO *mem = BIO_new(BIO_s_mem());

VOIR AUSSI
À préciser

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.