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(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.
BN_zero(),
BN_one(),
and
BN_set_word()
set a to the values 0, 1 and w
respectively. BN_zero() and
BN_one() are macros.
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. All
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.