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_free(BN_CTX *c);
15
16 Deprecated:
17
18 void BN_CTX_init(BN_CTX *c);
19
21 A BN_CTX is a structure that holds BIGNUM temporary variables used by
22 library functions. Since dynamic memory allocation to create BIGNUMs is
23 rather expensive when used in conjunction with repeated subroutine
24 calls, the BN_CTX structure is used.
25
26 BN_CTX_new() allocates and initializes a BN_CTX structure.
27
28 BN_CTX_free() frees the components of the BN_CTX, and if it was created
29 by BN_CTX_new(), also the structure itself. If BN_CTX_start(3) has
30 been used on the BN_CTX, BN_CTX_end(3) must be called before the BN_CTX
31 may be freed by BN_CTX_free().
32
33 BN_CTX_init() (deprecated) initializes an existing uninitialized
34 BN_CTX. This should not be used for new programs. Use BN_CTX_new()
35 instead.
36
38 BN_CTX_new() returns a pointer to the BN_CTX. If the allocation fails,
39 it returns NULL and sets an error code that can be obtained by
40 ERR_get_error(3).
41
42 BN_CTX_init() and BN_CTX_free() have no return values.
43
45 bn(3), ERR_get_error(3), BN_add(3), BN_CTX_start(3)
46
48 BN_CTX_new() and BN_CTX_free() are available in all versions on SSLeay
49 and OpenSSL. BN_CTX_init() was added in SSLeay 0.9.1b.
50
51
52
531.0.2o 2020-08-01 BN_CTX_new(3)