BIO_f_buffer(3) BIO de mise en tampon

SYNOPSIS


#include <openssl/bio.h>
BIO_METHOD * BIO_f_buffer(void);
#define BIO_get_buffer_num_lines(b) BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL)
#define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0)
#define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1)
#define BIO_set_buffer_size(b,size) BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL)
#define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf)

DESCRIPTION

BIO_f_buffer() renvoie la méthode BIO de mise en tampon.

Les données écrites vers un BIO de mise en tampon sont mises en tampon et écrites périodiquement dans le BIO suivant de la chaîne. Les données lues d'un BIO de mise en tampon viennent d'un tampon interne qui est rempli à partir du BIO suivant de la chaîne. BIO_gets() et BIO_puts() sont toutes deux prises en charge.

Appeler BIO_reset() sur un BIO de mise en tampon efface toutes les données en tampon.

BIO_get_buffer_num_lines() renvoie le nombre de lignes actuellement dans le tampon.

BIO_set_read_buffer_size(), BIO_set_write_buffer_size() et BIO_set_buffer_size() définissent la lecture, l'écriture ou la lecture et l'écriture des tailles de tampon sur size. La taille de tampon initiale est DEFAULT_BUFFER_SIZE, actuellement 4096. Toute tentative de diminution de la taille de tampon en dessous de DEFAULT_BUFFER_SIZE est ignorée. Toutes les données en tampon sont effacées quand le tampon est redimensionné.

BIO_set_buffer_read_data() efface le tampon de lecture et le remplit avec num octets de buf. Si num est plus grand que la taille actuelle du tampon, le tampon est agrandi.

NOTES

Les BIO de mise en tampon implémentent BIO_gets() en utilisant des opérations BIO_read() sur le BIO suivant de la chaîne. En faisant précéder une chaîne par un BIO de mise en tampon, il est donc possible de fournir la fonctionnalité BIO_gets() si les BIO suivants ne le permettent pas (par exemple les BIO SSL).

Les données ne sont écrites sur le BIO suivant de la chaîne que lorsque le tampon d'écriture est plein ou que BIO_flush() est appelée. Il est donc important d'appeler BIO_flush() à chaque fois que des données en attente devraient être écrites comme lors de la suppression d'un BIO de mise en tampon en utilisant BIO_pop(). BIO_flush() pourrait devoir être réessayée si le dernier BIO source ou destination est non bloquant.

VALEURS DE RETOUR

BIO_f_buffer() renvoie la méthode BIO de mise en tampon.

BIO_get_buffer_num_lines() renvoie le nombre de lignes en tampon (peut être 0).

BIO_set_read_buffer_size(), BIO_set_write_buffer_size() et BIO_set_buffer_size() renvoient 1 si la taille du tampon a pu être modifiée ou 0 en cas d'échec.

BIO_set_buffer_read_data() renvoie 1 si les données ont pu être positionnées correctement ou 0 s'il y a eu une erreur.

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.