Provided by: manpages-fr-extra_20151231_all 

NOM
BIO_read, BIO_write, BIO_gets, BIO_puts - Fonctions d'entrées et sorties de BIO
SYNOPSIS
#include <openssl/bio.h>
int BIO_read(BIO *b, void *buf, int len);
int BIO_gets(BIO *b,char *buf, int size);
int BIO_write(BIO *b, const void *buf, int len);
int BIO_puts(BIO *b,const char *buf);
DESCRIPTION
BIO_read() essaye de lire len octets du BIO b et place les données dans buf.
BIO_gets() réalise l'opération « gets » des BIO et place les données dans buf. Normalement, cette
opération essayera de lire une ligne de données de taille maximale len du BIO. Il y a cependant des
exceptions à cela, par exemple BIO_gets() sur un BIO de signature calculera et renverra la signature mais
d'autres BIO pourraient ne pas prendre BIO_gets() en charge du tout.
BIO_write() essaye d'écrire len octets de buf sur le BIO b.
BIO_puts() essaye d'écrire une chaîne buf terminée par null sur le BIO b.
VALEURS DE RETOUR
Toutes ces fonctions renvoient soit la quantité de données lues ou écrites correctement (si la valeur de
retour est positive), soit 0 ou -1 si aucune donnée n'a été lue ou écrite, soit -2 si l'opération n'est
pas implémentée dans ce type de BIO en particulier.
NOTES
Une valeur de retour de 0 ou -1 n'est pas forcément une indication d'erreur. En particulier quand la
source ou la destination sont non bloquantes ou d'un certain type, cela pourrait juste être une
indication qu'aucune donnée n'est actuellement disponible et que l'application devrait réessayer
l'opération plus tard.
Une technique parfois utilisée avec les sockets bloquantes est d'utiliser un appel système (comme
select(), poll() ou équivalent) pour déterminer quand les données sont disponibles et ensuite d'appeler
read() pour lire les données. L'équivalent avec les BIO (c'est-à-dire appeler select() sur la structure
d'entrées et sorties sous-jacente et ensuite d'appeler BIO_read() pour lire les données) ne devrait pas
être utilisé parce qu'un simple appel de BIO_read() peut provoquer plusieurs lectures (et écritures dans
le cas des BIO SSL) sur la structure d'entrées et sorties sous-jacente et pourrait par conséquent
bloquer. À la place, select() (ou équivalent) devrait être combiné avec des entrées et sorties non
bloquantes pour que les lectures successives demandent à réessayer au lieu de bloquer.
Consultez BIO_should_retry(3) pour des précisions sur la façon de déterminer la cause d'un réessai ou
tout autre problème d'entrées et sorties.
Si la fonction BIO_gets() n'est pas prise en charge par un BIO, alors contourner cela est possible en
ajoutant un BIO tampon BIO_f_buffer(3) à la chaîne.
VOIR AUSSI
BIO_should_retry(3)
À 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.
1.0.2a 1.0.2c 2015-12-31 fr::crypto::BIO_read(3SSL)