Sortix 1.1dev ports manual
This manual documents Sortix 1.1dev ports. You can instead view this document in the latest official manual.
BIO_METH_NEW(3) | Library Functions Manual | BIO_METH_NEW(3) |
NAME
BIO_get_new_index, BIO_meth_new, BIO_meth_free, BIO_meth_get_write, BIO_meth_set_write, BIO_meth_get_read, BIO_meth_set_read, BIO_meth_get_puts, BIO_meth_set_puts, BIO_meth_get_gets, BIO_meth_set_gets, BIO_meth_get_ctrl, BIO_meth_set_ctrl, BIO_meth_get_create, BIO_meth_set_create, BIO_meth_get_destroy, BIO_meth_set_destroy, BIO_meth_get_callback_ctrl, BIO_meth_set_callback_ctrl — manipulate BIO_METHOD structuresSYNOPSIS
#include <openssl/bio.h> intBIO_get_new_index(void); BIO_METHOD *
BIO_meth_new(int type, const char *name); void
BIO_meth_free(BIO_METHOD *biom); int
(*BIO_meth_get_write(const BIO_METHOD *biom))(BIO *, const char *, int); int
BIO_meth_set_write(BIO_METHOD *biom, int (*write)(BIO *, const char *, int)); int
(*BIO_meth_get_read(const BIO_METHOD *biom))(BIO *, char *, int); int
BIO_meth_set_read(BIO_METHOD *biom, int (*read)(BIO *, char *, int)); int
(*BIO_meth_get_puts(const BIO_METHOD *biom))(BIO *, const char *); int
BIO_meth_set_puts(BIO_METHOD *biom, int (*puts)(BIO *, const char *)); int
(*BIO_meth_get_gets(const BIO_METHOD *biom))(BIO *, char *, int); int
BIO_meth_set_gets(BIO_METHOD *biom, int (*gets)(BIO *, char *, int)); long
(*BIO_meth_get_ctrl(const BIO_METHOD *biom))(BIO *, int, long, void *); int
BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl)(BIO *, int, long, void *)); int
(*BIO_meth_get_create(const BIO_METHOD *biom))(BIO *); int
BIO_meth_set_create(BIO_METHOD *biom, int (*create)(BIO *)); int
(*BIO_meth_get_destroy(const BIO_METHOD *biom))(BIO *); int
BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy)(BIO *)); long
(*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom))(BIO *, int, BIO_info_cb *); int
BIO_meth_set_callback_ctrl(BIO_METHOD *biom, long (*callback_ctrl)(BIO *, int, BIO_info_cb *));
DESCRIPTION
The BIO_METHOD structure stores function pointers implementing a BIO type. See BIO_new(3) for more information about BIO objects. BIO_meth_new() creates a new BIO_METHOD structure. It requires a unique integer type; use BIO_get_new_index() to get the value for type. Currently, the user can only create up to 127 different BIO types, and type is limited to the range 129–255. The name pointer is stored in the structure and will not be freed by BIO_meth_free(). The standard BIO types are listed in <openssl/bio.h>. Some examples includeBIO_TYPE_BUFFER
and
BIO_TYPE_CIPHER
. The
type of filter BIOs should have the
BIO_TYPE_FILTER
bit set. Source/sink BIOs
should have the BIO_TYPE_SOURCE_SINK
bit
set. File descriptor based BIOs (e.g. socket, fd, connect, accept etc.) should
additionally have the BIO_TYPE_DESCRIPTOR
bit set. See
BIO_find_type(3)
for more information.
BIO_meth_free() is an alias for
free(3).
BIO_meth_get_write(),
BIO_meth_set_write(),
BIO_meth_get_read(), and
BIO_meth_set_read() get and set the functions
write and
read used for writing and reading arbitrary
length data to and from the BIO. These
functions are called from
BIO_write(3) and
BIO_read(3),
respectively. The parameters and return values of
write and
read have the same meaning as for
BIO_write(3) and
BIO_read(3).
BIO_meth_get_puts() and
BIO_meth_set_puts() get and set the function
puts used for writing a NUL-terminated string
to the BIO. This function is called from
BIO_puts(3). The
parameters and the return value of puts have
the same meaning as for
BIO_puts(3).
BIO_meth_get_gets() and
BIO_meth_set_gets() get and set the function
gets used for reading a line of data from the
BIO. This function is called from
BIO_gets(3). The
parameters and the return value of gets have
the same meaning as for
BIO_gets(3).
BIO_meth_get_ctrl() and
BIO_meth_set_ctrl() get and set the function
ctrl used for processing control messages in
the BIO. This function is called from
BIO_ctrl(3). The
parameters and return value of ctrl have the
same meaning as for
BIO_ctrl(3).
BIO_meth_get_create() and
BIO_meth_set_create() get and set a function
create used while initializing a new instance
of the BIO. This function is called from
BIO_new(3). The
BIO_new(3) function
allocates the memory for the new BIO, and a
pointer to this newly allocated structure is passed as the parameter to
create.
BIO_meth_get_destroy() and
BIO_meth_set_destroy() get and set a function
destroy used while destroying an instance of
a BIO. This function is called from
BIO_free(3). A
pointer to the BIO to be destroyed is passed
as the parameter. The destroy function is
intended to perform clean-up specific to the
BIO type.
The memory for the BIO itself must not be
freed by this function.
BIO_meth_get_callback_ctrl() and
BIO_meth_set_callback_ctrl() get and set the
function callback_ctrl used for processing
callback control messages in the BIO. This
function is called from
BIO_callback_ctrl(3).
The parameters and return value of
callback_ctrl have the same meaning as for
BIO_callback_ctrl(3).
RETURN VALUES
BIO_get_new_index() returns the new BIO type value or -1 if an error occurs. BIO_meth_new() returns the new BIO_METHOD structure orNULL
if an error occurs.
The BIO_meth_set_*() functions return 1 on success
or 0 on error. Currently, they cannot fail.
The BIO_meth_get_*() functions return function
pointers.
SEE ALSO
BIO_ctrl(3), BIO_find_type(3), BIO_new(3), BIO_read(3)HISTORY
These functions first appeared in OpenSSL 1.1.0 and have been available since OpenBSD 6.3.July 9, 2018 | Debian |