.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "fr::crypto::BIO_read 3SSL" .TH fr::crypto::BIO_read 3SSL "2015-12-31" "1.0.2a 1.0.2c" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" BIO_read, BIO_write, BIO_gets, BIO_puts \- Fonctions d'entrées et sorties de \&\s-1BIO\s0 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& \& 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); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBBIO_read\fR() essaye de lire \fIlen\fR octets du \s-1BIO \s0\fIb\fR et place les données dans \fIbuf\fR. .PP \&\fBBIO_gets\fR() réalise l'opération « gets » des \s-1BIO\s0 et place les données dans \&\fIbuf\fR. Normalement, cette opération essayera de lire une ligne de données de taille maximale \fIlen\fR du \s-1BIO.\s0 Il y a cependant des exceptions à cela, par exemple \fBBIO_gets\fR() sur un \s-1BIO\s0 de signature calculera et renverra la signature mais d'autres \s-1BIO\s0 pourraient ne pas prendre \fBBIO_gets\fR() en charge du tout. .PP \&\fBBIO_write\fR() essaye d'écrire \fIlen\fR octets de \fIbuf\fR sur le \s-1BIO \s0\fIb\fR. .PP \&\fBBIO_puts\fR() essaye d'écrire une chaîne \fIbuf\fR terminée par null sur le \s-1BIO \&\s0\fIb\fR. .SH "VALEURS DE RETOUR" .IX Header "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 \s-1BIO\s0 en particulier. .SH "NOTES" .IX Header "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. .PP Une technique parfois utilisée avec les sockets bloquantes est d'utiliser un appel système (comme \fBselect\fR(), \fBpoll\fR() ou équivalent) pour déterminer quand les données sont disponibles et ensuite d'appeler \fBread\fR() pour lire les données. L'équivalent avec les \s-1BIO \s0(c'est\-à\-dire appeler \fBselect\fR() sur la structure d'entrées et sorties sous-jacente et ensuite d'appeler \&\fBBIO_read\fR() pour lire les données) ne devrait \fBpas\fR être utilisé parce qu'un simple appel de \fBBIO_read\fR() peut provoquer plusieurs lectures (et écritures dans le cas des \s-1BIO SSL\s0) sur la structure d'entrées et sorties sous-jacente et pourrait par conséquent bloquer. À la place, \fBselect\fR() (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. .PP Consultez \fIBIO_should_retry\fR\|(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. .PP Si la fonction \fBBIO_gets\fR() n'est pas prise en charge par un \s-1BIO,\s0 alors contourner cela est possible en ajoutant un \s-1BIO\s0 tampon \&\fIBIO_f_buffer\fR\|(3) à la chaîne. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fIBIO_should_retry\fR\|(3) .PP À préciser .SH "TRADUCTION" .IX Header "TRADUCTION" La traduction de cette page de manuel est maintenue par les membres de la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.