BN_CTX_new 3 2003-07-24 0.9.9-dev OpenSSL

NAME

BN_CTX_new, BN_CTX_init, BN_CTX_free - allocate and free BN_CTX structures

LIBRARY

libcrypto, -lcrypto

SYNOPSIS


 #include 


 BN_CTX *BN_CTX_new(void);


 void BN_CTX_init(BN_CTX *c);


 void BN_CTX_free(BN_CTX *c);

DESCRIPTION

A BBNN__CCTTXX is a structure that holds BBIIGGNNUUMM temporary variables used by library functions. Since dynamic memory allocation to create BBIIGGNNUUMMs is rather expensive when used in conjunction with repeated subroutine calls, the BBNN__CCTTXX structure is used.

_B_N___C_T_X___n_e_w_(_) allocates and initializes a BBNN__CCTTXX structure. _B_N___C_T_X___i_n_i_t_(_) initializes an existing uninitialized BBNN__CCTTXX.

_B_N___C_T_X___f_r_e_e_(_) frees the components of the BBNN__CCTTXX, and if it was created by _B_N___C_T_X___n_e_w_(_), also the structure itself. If _B_N___C_T_X___s_t_a_r_t(3) has been used on the BBNN__CCTTXX, _B_N___C_T_X___e_n_d(3) must be called before the BBNN__CCTTXX may be freed by _B_N___C_T_X___f_r_e_e_(_).

RETURN VALUES

_B_N___C_T_X___n_e_w_(_) returns a pointer to the BBNN__CCTTXX. If the allocation fails, it returns NNUULLLL and sets an error code that can be obtained by _E_R_R___g_e_t___e_r_r_o_r(3).

_B_N___C_T_X___i_n_i_t_(_) and _B_N___C_T_X___f_r_e_e_(_) have no return values.

SEE ALSO

_o_p_e_n_s_s_l___b_n(3), _E_R_R___g_e_t___e_r_r_o_r(3), _B_N___a_d_d(3), _B_N___C_T_X___s_t_a_r_t(3)

HISTORY

_B_N___C_T_X___n_e_w_(_) and _B_N___C_T_X___f_r_e_e_(_) are available in all versions on SSLeay and OpenSSL. _B_N___C_T_X___i_n_i_t_(_) was added in SSLeay 0.9.1b.