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.