NAME
BN_zero_ex
,
BN_zero
, BN_one
,
BN_value_one
, BN_set_word
,
BN_get_word
—
BIGNUM assignment operations
SYNOPSIS
#include
<openssl/bn.h>
void
BN_zero_ex
(BIGNUM *a);
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.
BN_zero_ex
(),
BN_one
(),
and
BN_set_word
()
set a to the values 0, 1 and w
respectively.
BN_zero
()
is a deprecated version of BN_zero_ex
() that may
attempt to allocate memory; consequently, and in contrast to
BN_zero_ex
(), it may fail.
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. These
functions have been available since OpenBSD 2.4.
BN_zero_ex
() first appeared in OpenSSL
0.9.8 and has been available since OpenBSD 4.5.
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.