From: Dr. Stephen Henson Date: Sat, 9 Sep 2000 01:01:35 +0000 (+0000) Subject: Really add BIO_read this time... X-Git-Tag: OpenSSL-engine-0_9_6-beta1~8^2 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b144a5e907b5807248496ac6714a2c1a0b58e11c;p=oweals%2Fopenssl.git Really add BIO_read this time... --- diff --git a/doc/crypto/BIO_read.pod b/doc/crypto/BIO_read.pod new file mode 100644 index 0000000000..16787e386e --- /dev/null +++ b/doc/crypto/BIO_read.pod @@ -0,0 +1,52 @@ +=pod + +=head1 NAME + + BIO_read, BIO_write, BIO_gets, BIO_puts - BIO I/O functions + +=head1 SYNOPSIS + + #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); + +=head1 DESCRIPTION + +BIO_read() attempts to read B bytes from BIO B and places +the data in B. + +BIO_gets() performs the BIOs "gets" operation and places the data +in B. Usually this operation will attempt to read a line of data +from the BIO of maximum length B. There are exceptions to this +however, for example BIO_gets() on a digest BIO will calculate and +return the digest and other BIOs may not support BIO_gets() at all. + +BIO_write() attempts to write B bytes from B to BIO B. + +BIO_puts() attempts to write a null terminated string B to BIO B + +=head1 RETURN VALUES + +All these functions return either the amount of data successfully read or +written (if the return value is positive) or that no data was successfully +read or written (if the result is zero or negative). + +=head1 NOTES + +A negative or zero return is not necessarily an indication of an error. In +particular when the source/sink is non-blocking or of a certain type (for +example an SSL BIO can retry even if the underlying connection is blocking) +it may merely be an indication that no data is currently available and that +the application should retry the operation later. L +can be called to determine the precise cause. + +If the BIO_gets() function is not supported by a BIO then it possible to +work around this by adding a buffering BIO L +to the chain. + +=head1 SEE ALSO + +TBA