diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2000-09-09 01:01:35 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2000-09-09 01:01:35 +0000 |
commit | b144a5e907b5807248496ac6714a2c1a0b58e11c (patch) | |
tree | b31c7a76db27cfc814fba3d356b8866e887176e6 /doc/crypto/BIO_read.pod | |
parent | c5a3b7e790285a30ab128673e05db77c9fcbbfbf (diff) |
Really add BIO_read this time...
Diffstat (limited to 'doc/crypto/BIO_read.pod')
-rw-r--r-- | doc/crypto/BIO_read.pod | 52 |
1 files changed, 52 insertions, 0 deletions
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 <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); + +=head1 DESCRIPTION + +BIO_read() attempts to read B<len> bytes from BIO B<b> and places +the data in B<buf>. + +BIO_gets() performs the BIOs "gets" operation and places the data +in B<buf>. Usually this operation will attempt to read a line of data +from the BIO of maximum length B<len>. 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<len> bytes from B<buf> to BIO B<b>. + +BIO_puts() attempts to write a null terminated string B<buf> to BIO B<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<BIO_should_retry(3)|BIO_should_retry(3)> +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<BIO_f_buffer(3)|BIO_f_buffer(3)> +to the chain. + +=head1 SEE ALSO + +TBA |