DragonFly On-Line Manual Pages

Search: Section:  


BIO(3)		      DragonFly Library Functions Manual		BIO(3)

NAME

BIO -- I/O abstraction

SYNOPSIS

#include <openssl/bio.h>

DESCRIPTION

A BIO is an I/O abstraction, it hides many of the underlying I/O details from an application. If an application uses a BIO for its I/O, it can transparently handle SSL connections, unencrypted network connections and file I/O. There are two types of BIO, a source/sink BIO and a filter BIO. As its name implies, a source/sink BIO is a source and/or sink of data, examples include a socket BIO and a file BIO. A filter BIO takes data from one BIO and passes it through to another, or to the application. The data may be left unmodified (for example a mes- sage digest BIO) or translated (for example an encryption BIO). The effect of a filter BIO may change according to the I/O operation it is performing: for example an encryption BIO will encrypt data if it is being written to and decrypt data if it is being read from. BIOs can be joined together to form a chain (a single BIO is a chain with one component). A chain normally consist of one source/sink BIO and one or more filter BIOs. Data read from or written to the first BIO then traverses the chain to the end (normally a source/sink BIO).

SEE ALSO

BIO_ctrl(3), BIO_f_base64(3), BIO_f_buffer(3), BIO_f_cipher(3), BIO_f_md(3), BIO_f_null(3), BIO_f_ssl(3), BIO_find_type(3), BIO_new(3), BIO_new_bio_pair(3), BIO_push(3), BIO_read(3), BIO_s_accept(3), BIO_s_bio(3), BIO_s_connect(3), BIO_s_fd(3), BIO_s_file(3), BIO_s_mem(3), BIO_s_null(3), BIO_s_socket(3), BIO_set_callback(3), BIO_should_retry(3) DragonFly 4.7 July 17, 2014 DragonFly 4.7 BIO_GET_EX_NEW_INDEX(3) DragonFly Library Functions Manual

NAME

BIO_get_ex_new_index, BIO_set_ex_data, BIO_get_ex_data, ENGINE_get_ex_new_index, ENGINE_set_ex_data, ENGINE_get_ex_data, UI_get_ex_new_index, UI_set_ex_data, UI_get_ex_data, X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data, EC_KEY_get_ex_new_index, EC_KEY_get_ex_data, EC_KEY_set_ex_data, ECDH_get_ex_new_index, ECDH_set_ex_data, ECDH_get_ex_data, ECDSA_get_ex_new_index, ECDSA_set_ex_data, ECDSA_get_ex_data - application-specific data

SYNOPSIS

#include <openssl/bio.h> #include <openssl/engine.h> #include <openssl/ui.h> #include <openssl/x509.h> #include <openssl/ec.h> #include <openssl/ecdh.h> #include <openssl/ecdsa.h> int TYPE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int TYPE_set_ex_data(TYPE *d, int idx, void *arg); void * TYPE_get_ex_data(TYPE *d, int idx);

DESCRIPTION

In the description here, TYPE is used a placeholder for any of the OpenSSL datatypes listed in CRYPTO_get_ex_new_index(3). These functions handle application-specific data in OpenSSL data structures. Their usage is identical to that of RSA_get_ex_new_index(3), RSA_set_ex_data(3), and RSA_get_ex_data(3). TYPE_get_ex_new_index() is a macro that calls CRYPTO_get_ex_new_index(3) with the correct index value. TYPE_set_ex_data() is a function that calls CRYPTO_set_ex_data(3) with an offset into the opaque exdata part of the TYPE object. TYPE_get_ex_data() is a function that calls CRYPTO_get_ex_data(3) with an offset into the opaque exdata part of the TYPE object.

RETURN VALUES

TYPE_get_new_ex_index() returns a new index on success or -1 on error. TYPE_set_ex_data() returns 1 on success or 0 on error. TYPE_get_ex_data() returns the application data or NULL if an error occurred.

SEE ALSO

BIO_new(3), CRYPTO_get_ex_new_index(3), RSA_get_ex_new_index(3), X509_new(3)

HISTORY

BIO_get_ex_new_index(), BIO_set_ex_data(), and BIO_get_ex_data() first appeared in SSLeay 0.9.0 and have been available since OpenBSD 2.4. X509_get_ex_new_index(), X509_set_ex_data(), and X509_get_ex_data() first appeared in OpenSSL 0.9.5 and have been available since OpenBSD 2.7. ENGINE_get_ex_new_index(), ENGINE_set_ex_data(), ENGINE_get_ex_data(), UI_get_ex_new_index(), UI_set_ex_data(), and UI_get_ex_data() first appeared in OpenSSL 0.9.7 and have been available since OpenBSD 3.2. ECDH_get_ex_new_index(), ECDH_set_ex_data(), ECDH_get_ex_data(), ECDSA_get_ex_new_index(), ECDSA_set_ex_data(), and ECDSA_get_ex_data() first appeared in OpenSSL 0.9.8 and have been available since OpenBSD 4.5. EC_KEY_get_ex_new_index(), EC_KEY_set_ex_data(), and EC_KEY_get_ex_data() first appeared in OpenSSL 1.1.0 and have been available since OpenBSD 6.5. DragonFly 5.9-DEVELOPMENT August 16, 2019 DragonFly 5.9-DEVELOPMENT

Search: Section: