BN_CTX_START(3) OpenSSL BN_CTX_START(3)
BN_CTX_start, BN_CTX_get, BN_CTX_end - use temporary BIGNUM
variables
#include <openssl/bn.h>
void BN_CTX_start(BN_CTX *ctx);
BIGNUM *BN_CTX_get(BN_CTX *ctx);
void BN_CTX_end(BN_CTX *ctx);
These functions are used to obtain temporary BIGNUM vari-
ables from a BN_CTX (which can been created by using
BN_CTX_new(3)) in order to save the overhead of repeatedly
creating and freeing BIGNUMs in functions that are called
from inside a loop.
A function must call BN_CTX_start() first. Then,
BN_CTX_get() may be called repeatedly to obtain temporary
BIGNUMs. All BN_CTX_get() calls must be made before calling
any other functions that use the ctx as an argument.
Finally, BN_CTX_end() must be called before returning from
the function. When BN_CTX_end() is called, the BIGNUM
pointers obtained from BN_CTX_get() become invalid.
BN_CTX_start() and BN_CTX_end() return no values.
BN_CTX_get() returns a pointer to the BIGNUM, or NULL on
error. Once BN_CTX_get() has failed, the subsequent calls
will return NULL as well, so it is sufficient to check the
return value of the last BN_CTX_get() call. In case of an
error, an error code is set, which can be obtained by
ERR_get_error(3).
BN_CTX_new(3)
BN_CTX_start(), BN_CTX_get() and BN_CTX_end() were added in
OpenSSL 0.9.5.
MirOS BSD #10-current 2005-02-05 1
Generated on 2012-02-20 02:47:02 by $MirOS: src/scripts/roff2htm,v 1.70 2011/12/03 18:21:12 tg Exp $
These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002‒2011 The MirOS Project, Germany.
This product includes material
provided by Thorsten Glaser.
This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.