RSA BSAFE Micro Edition Suite

Streamlined security for mobile and embedded devices

Search  Print

BIO Reference

This structure contains the data and BIO method structure.

Samples:

app_cache.c, bio_client.c, bio_server.c, cache_server.c, cert.c, cert_smpl.c, cm.c, cm_adv.c, cm_dgst.c, cm_env.c, cm_env_sm.c, cm_env_strm.c, cm_env_strm_membio.c, cm_open.c, cm_open_strm.c, cm_open_strm_cb.c, cm_open_strm_membio.c, cm_sign.c, cm_sign_dgst.c, cm_sign_sm.c, cm_sign_strm.c, cm_smpl.c, cm_strm.c, cm_type.c, cm_vfy_strm_cb.c, evpkey2rpkey.c, ext.c, frombuf.c, nbio_client.c, nbio_server.c, ocsp_req_create.c, ocsp_req_print.c, ocsp_resp_ext.c, ocsp_resp_find_key.c, ocsp_resp_print.c, ocsp_resp_vfy.c, p7ssl_client.c, p7ssl_server.c, pkey.c, r_asym.c, r_asym_buf.c, r_asym_items.c, r_ciph.c, r_dgst.c, r_gnrt.c, r_hmac.c, r_random.c, r_sign.c, r_version.c, rcert2sslcert.c, req.c, req_smpl.c, reqgen.c, reslist_set.c, s_crl_check.c, s_crl_verify.c, sock_client.c, sock_server.c, ss_cert_smpl.c, ssl_client.c, ssl_server.c, sslcert2rcert.c, store.c, thread.c, verify.c, vfy_adv.c, vfy_bc.c, and vfy_smpl.c.

#include <bio.h>

struct bio_st
{
    BIO_METHOD *method;

    BIO_CB_FUNC_T *callback;

    char *cb_arg; /* first argument for the callback */

    int init;

    int shutdown;

    int flags;

    int retry_reason;

    int num;

    char *ptr;

    struct bio_st *next_bio;

    struct bio_st *prev_bio;        /* used by filter BIOs */

    int references;

    unsigned long num_read;

    unsigned long num_write;

    CRYPTO_EX_DATA *ex_data;
};

Data Fields

BIO_METHODmethod
 A pointer to the structure with the BIO method functions.

BIO_CB_FUNC_Tcallback
 The user-defined callback called before and after method functions when accessed through the BIO_xxx functions. More...

char* cb_arg
 A pointer to user-supplied data for the callback function.

int init
 The flag indicating whether the BIO is correctly initialized. More...

int shutdown
 The flag indicating whether the underlying connection, such as a socket, should be closed when the BIO is freed. More...

int flags
 A bit field storing values for the BIO state.

int retry_reason
 The reason behind a retry of read or write.

int num
 An integer field for BIO data.

char* ptr
 A pointer for BIO data. More...

struct bio_st* next_bio
 The next BIO in the stack (one element lower). More...

struct bio_st* prev_bio
 The previous BIO in the stack (one element higher). More...

int references
 The number of references to this BIO. More...

unsigned long num_read
 The number of Bytes read by the BIO.

unsigned long num_write
 The number of Bytes written by the BIO.

CRYPTO_EX_DATA* ex_data
 A pointer to external data.


Field Documentation

BIO_CB_FUNC_T* callback
 

The user-defined callback called before and after method functions when accessed through the BIO_xxx functions.

Parameters:
bio [In] A reference to the BIO.
mode [In] The bit field which gives the function and the return flag.
argp [In] The general pointer value for the callback.
argi [In] The general integer value for the callback.
argl [In] The general long value for the callback.
ret [In] The current return status of the method.

int init
 

The flag indicating whether the BIO is correctly initialized.
This flag must be set before the bread, bwrite, bgets, and bputs methods will work.

0 indicates BIO is not initialized. 1 indicates BIO is initialized.

struct bio_st* next_bio
 

The next BIO in the stack (one element lower). This is used by filter BIOs.

struct bio_st* prev_bio
 

The previous BIO in the stack (one element higher). This is used by filter BIOs.

char* ptr
 

A pointer for BIO data. May be a single value or a local context structure.

int references
 

The number of references to this BIO. This value is decremented by free. If the value becomes 0, the structure is also removed.

int shutdown
 

The flag indicating whether the underlying connection, such as a socket, should be closed when the BIO is freed.
See Shutdown Identifiers for valid values.


Copyright (c) 1999-2005 RSA Security Inc. All rights reserved. 072-001001-2100-001-000 - 2.1