1BN_CTX_new(3) OpenSSL BN_CTX_new(3)
2
3
4
6 BN_CTX_new, BN_CTX_init, BN_CTX_free - allocate and free BN_CTX
7 structures
8
10 #include <openssl/bn.h>
11
12 BN_CTX *BN_CTX_new(void);
13
14 void BN_CTX_init(BN_CTX *c);
15
16 void BN_CTX_free(BN_CTX *c);
17
19 A BN_CTX is a structure that holds BIGNUM temporary variables used by
20 library functions. Since dynamic memory allocation to create BIGNUMs is
21 rather expensive when used in conjunction with repeated subroutine
22 calls, the BN_CTX structure is used.
23
24 BN_CTX_new() allocates and initializes a BN_CTX structure.
25 BN_CTX_init() initializes an existing uninitialized BN_CTX.
26
27 BN_CTX_free() frees the components of the BN_CTX, and if it was created
28 by BN_CTX_new(), also the structure itself. If BN_CTX_start(3) has
29 been used on the BN_CTX, BN_CTX_end(3) must be called before the BN_CTX
30 may be freed by BN_CTX_free().
31
33 BN_CTX_new() returns a pointer to the BN_CTX. If the allocation fails,
34 it returns NULL and sets an error code that can be obtained by
35 ERR_get_error(3).
36
37 BN_CTX_init() and BN_CTX_free() have no return values.
38
40 bn(3), ERR_get_error(3), BN_add(3), BN_CTX_start(3)
41
43 BN_CTX_new() and BN_CTX_free() are available in all versions on SSLeay
44 and OpenSSL. BN_CTX_init() was added in SSLeay 0.9.1b.
45
46
47
481.0.0e 2002-09-25 BN_CTX_new(3)