GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
BN_CTX_START(3) FreeBSD Library Functions Manual BN_CTX_START(3)

BN_CTX_start, BN_CTX_get, BN_CTX_enduse 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 variables from a BN_CTX (which can be created 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 () first. Then, () 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, () must be called before returning from the function. When BN_CTX_end() is called, the BIGNUM pointers obtained from BN_CTX_get() become invalid. If ctx is NULL, no action occurs.

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_new(3)

BN_CTX_start(), BN_CTX_get(), and BN_CTX_end() first appeared in OpenSSL 0.9.5 and have been available since OpenBSD 2.7.

August 20, 2019 FreeBSD 14.3-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.