mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
6859cf7459
manual when the specific function is refered to in the current manual text. This correction was originally introduced in OpenBSD's tracking of OpenSSL.
54 lines
1.4 KiB
Plaintext
54 lines
1.4 KiB
Plaintext
=pod
|
|
|
|
=head1 NAME
|
|
|
|
BN_CTX_new, BN_CTX_init, BN_CTX_free - allocate and free BN_CTX structures
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
#include <openssl/bn.h>
|
|
|
|
BN_CTX *BN_CTX_new(void);
|
|
|
|
void BN_CTX_init(BN_CTX *c);
|
|
|
|
void BN_CTX_free(BN_CTX *c);
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
A B<BN_CTX> is a structure that holds B<BIGNUM> temporary variables used by
|
|
library functions. Since dynamic memory allocation to create B<BIGNUM>s
|
|
is rather expensive when used in conjunction with repeated subroutine
|
|
calls, the B<BN_CTX> structure is used.
|
|
|
|
BN_CTX_new() allocates and initializes a B<BN_CTX>
|
|
structure. BN_CTX_init() initializes an existing uninitialized
|
|
B<BN_CTX>.
|
|
|
|
BN_CTX_free() frees the components of the B<BN_CTX>, and if it was
|
|
created by BN_CTX_new(), also the structure itself.
|
|
If L<BN_CTX_start(3)|BN_CTX_start(3)> has been used on the B<BN_CTX>,
|
|
L<BN_CTX_end(3)|BN_CTX_end(3)> must be called before the B<BN_CTX>
|
|
may be freed by BN_CTX_free().
|
|
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
BN_CTX_new() returns a pointer to the B<BN_CTX>. If the allocation fails,
|
|
it returns B<NULL> and sets an error code that can be obtained by
|
|
L<ERR_get_error(3)|ERR_get_error(3)>.
|
|
|
|
BN_CTX_init() and BN_CTX_free() have no return values.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<BN_add(3)|BN_add(3)>,
|
|
L<BN_CTX_start(3)|BN_CTX_start(3)>
|
|
|
|
=head1 HISTORY
|
|
|
|
BN_CTX_new() and BN_CTX_free() are available in all versions on SSLeay
|
|
and OpenSSL. BN_CTX_init() was added in SSLeay 0.9.1b.
|
|
|
|
=cut
|