table of contents
BN_ZERO(3) | Library Functions Manual | BN_ZERO(3) |
NAME¶
BN_zero
, BN_one
,
BN_value_one
, BN_set_word
,
BN_get_word
— BIGNUM
assignment operations
SYNOPSIS¶
#include
<openssl/bn.h>
int
BN_zero
(BIGNUM *a);
int
BN_one
(BIGNUM *a);
const BIGNUM *
BN_value_one
(void);
int
BN_set_word
(BIGNUM *a,
BN_ULONG w);
BN_ULONG
BN_get_word
(const BIGNUM
*a);
DESCRIPTION¶
BN_ULONG is a macro that expands to an
unsigned integral type optimized for the most efficient implementation on
the local platform. It is unsigned long (=
uint64_t) on _LP64
platforms
and unsigned int (= uint32_t)
elsewhere.
BN_zero
(),
BN_one
(),
and
BN_set_word
()
set a to the values 0, 1 and w
respectively.
BN_value_one
()
returns a BIGNUM constant of value 1. This constant is
useful for comparisons and assignments.
RETURN VALUES¶
BN_get_word
() returns the value
a, or a number with all bits set if
a cannot be represented as a
BN_ULONG.
BN_zero
(),
BN_one
(), and BN_set_word
()
return 1 on success, 0 otherwise. BN_value_one
()
returns the constant.
SEE ALSO¶
HISTORY¶
BN_zero
(),
BN_one
(), BN_value_one
(),
and BN_set_word
() first appeared in SSLeay 0.5.1.
BN_get_word
() first appeared in SSLeay 0.6.0. These
functions have been available since OpenBSD 2.4.
BUGS¶
Someone might change the constant.
If the value of a BIGNUM is equal to a
BN_ULONG with all bits set, the return value of
BN_get_word
() collides with return value used to
indicate errors.
BN_ULONG should probably be a typedef rather than a macro.
April 30, 2023 | Linux 6.4.0-150600.23.25-default |