| =pod |
| |
| =head1 NAME |
| |
| BIO_f_readbuffer |
| - read only buffering BIO that supports BIO_tell() and BIO_seek() |
| |
| =head1 SYNOPSIS |
| |
| #include <openssl/bio.h> |
| |
| const BIO_METHOD *BIO_f_readbuffer(void); |
| |
| =head1 DESCRIPTION |
| |
| BIO_f_readbuffer() returns the read buffering BIO method. |
| |
| This BIO filter can be inserted on top of BIO's that do not support BIO_tell() |
| or BIO_seek() (e.g. A file BIO that uses stdin). |
| |
| Data read from a read buffering BIO comes from an internal buffer which is |
| filled from the next BIO in the chain. |
| |
| BIO_gets() is supported for read buffering BIOs. |
| Writing data to a read buffering BIO is not supported. |
| |
| Calling BIO_reset() on a read buffering BIO does not clear any buffered data. |
| |
| =head1 NOTES |
| |
| Read buffering BIOs implement BIO_read_ex() by using BIO_read_ex() operations |
| on the next BIO (e.g. a file BIO) in the chain and storing the result in an |
| internal buffer, from which bytes are given back to the caller as appropriate |
| for the call. BIO_read_ex() is guaranteed to give the caller the number of bytes |
| it asks for, unless there's an error or end of communication is reached in the |
| next BIO. The internal buffer can grow to cache the entire contents of the next |
| BIO in the chain. BIO_seek() uses the internal buffer, so that it can only seek |
| into data that is already read. |
| |
| =head1 RETURN VALUES |
| |
| BIO_f_readbuffer() returns the read buffering BIO method. |
| |
| =head1 SEE ALSO |
| |
| L<bio(7)>, |
| L<BIO_read(3)>, |
| L<BIO_gets(3)>, |
| L<BIO_reset(3)>, |
| L<BIO_ctrl(3)>. |
| |
| =head1 COPYRIGHT |
| |
| Copyright 2021 The OpenSSL Project Authors. All Rights Reserved. |
| |
| Licensed under the Apache License 2.0 (the "License"). You may not use |
| this file except in compliance with the License. You can obtain a copy |
| in the file LICENSE in the source distribution or at |
| L<https://www.openssl.org/source/license.html>. |
| |
| =cut |