mirror of
https://github.com/openssl/openssl.git
synced 2024-12-27 06:21:43 +08:00
62 lines
1.8 KiB
Plaintext
62 lines
1.8 KiB
Plaintext
|
=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
|