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.14.1-1-default |