1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- =pod
- =head1 NAME
- BIO_set_data, BIO_get_data, BIO_set_init, BIO_get_init, BIO_set_shutdown,
- BIO_get_shutdown - functions for managing BIO state information
- =head1 SYNOPSIS
- #include <openssl/bio.h>
- void BIO_set_data(BIO *a, void *ptr);
- void *BIO_get_data(BIO *a);
- void BIO_set_init(BIO *a, int init);
- int BIO_get_init(BIO *a);
- void BIO_set_shutdown(BIO *a, int shut);
- int BIO_get_shutdown(BIO *a);
- =head1 DESCRIPTION
- These functions are mainly useful when implementing a custom BIO.
- The BIO_set_data() function associates the custom data pointed to by B<ptr> with
- the BIO. This data can subsequently be retrieved via a call to BIO_get_data().
- This can be used by custom BIOs for storing implementation specific information.
- The BIO_set_init() function sets the value of the BIO's "init" flag to indicate
- whether initialisation has been completed for this BIO or not. A non-zero value
- indicates that initialisation is complete, whilst zero indicates that it is not.
- Often initialisation will complete during initial construction of the BIO. For
- some BIOs however, initialisation may not complete until after additional steps
- have occurred (for example through calling custom ctrls). The BIO_get_init()
- function returns the value of the "init" flag.
- The BIO_set_shutdown() and BIO_get_shutdown() functions set and get the state of
- this BIO's shutdown (i.e. BIO_CLOSE) flag. If set then the underlying resource
- is also closed when the BIO is freed.
- =head1 RETURN VALUES
- BIO_get_data() returns a pointer to the implementation specific custom data
- associated with this BIO, or NULL if none has been set.
- BIO_get_init() returns the state of the BIO's init flag.
- BIO_get_shutdown() returns the stat of the BIO's shutdown (i.e. BIO_CLOSE) flag.
- =head1 SEE ALSO
- L<bio>, L<BIO_meth_new>
- =head1 HISTORY
- The functions described here were added in OpenSSL 1.1.0.
- =head1 COPYRIGHT
- Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
- Licensed under the OpenSSL license (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
|