NAME
BN_zero, BN_one,
    BN_value_one, BN_set_word,
    BN_get_word —
    BIGNUM assignment operations
SYNOPSIS
/* -lcrypto */
  
  #include <openssl/bn.h>
void
  
  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_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.