
#use wml::openssl-macros area=docs page=BN_zero

<title>Documents, BN_zero(3)</title>

<h1>BN_zero(3)</h1>

#use wml::imp::generic

{:
## What's this? [[s|(<STRONG>[^<].+?)</A>(</STRONG><DD>)|$1$2|sg]]
[[s|<P>\s+<P>|<P>|sg]]
[[s|<P>\s+</|</|sg]]
[[s|<DD>\s*<DT>|<DD>&nbsp;<DT>|sg]]
[[s|<DD>\s*</DL>|<DD>&nbsp;</DL>|sg]]
[[s|\[|&#91;|sg]]
[[s|\]|&#93;|sg]]

<!-- INDEX BEGIN -->

<UL>

	<LI><A HREF="#NAME">NAME</A>
	<LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
	<LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
	<LI><A HREF="#RETURN_VALUES">RETURN VALUES</A>
	<LI><A HREF="#BUGS">BUGS</A>
	<LI><A HREF="#SEE_ALSO">SEE ALSO</A>
	<LI><A HREF="#HISTORY">HISTORY</A>
</UL>
<!-- INDEX END -->

<HR>
<P>
<HR>
<H1><A NAME="NAME">NAME</A></H1>
<P>
BN_zero, BN_one, BN_value_one, BN_set_word, BN_get_word - BIGNUM assignment
operations

</P>
<P>
<HR>
<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
<PRE> #include &lt;openssl/bn.h&gt;
</PRE>
<PRE> int BN_zero(BIGNUM *a);
 int BN_one(BIGNUM *a);
</PRE>
<PRE> const BIGNUM *BN_value_one(void);
</PRE>
<PRE> int BN_set_word(BIGNUM *a, unsigned long w);
 unsigned long BN_get_word(BIGNUM *a);
</PRE>
<P>
<HR>
<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
<P>
<CODE>BN_zero(),</CODE> <CODE>BN_one()</CODE> and
<CODE>BN_set_word()</CODE> set <STRONG>a</STRONG> to the values 0, 1 and
<STRONG>w</STRONG> respectively. <CODE>BN_zero()</CODE> and <CODE>BN_one()</CODE> are macros.

</P>
<P>
<CODE>BN_value_one()</CODE> returns a <STRONG>BIGNUM</STRONG> constant of value 1. This constant is useful for use in comparisons and
assignment.

</P>
<P>
<CODE>BN_get_word()</CODE> returns <STRONG>a</STRONG>, if it can be represented as an unsigned long.

</P>
<P>
<HR>
<H1><A NAME="RETURN_VALUES">RETURN VALUES</A></H1>
<P>
<CODE>BN_get_word()</CODE> returns the value <STRONG>a</STRONG>, and 0xffffffffL if <STRONG>a</STRONG> cannot be represented as an unsigned long.

</P>
<P>
<CODE>BN_zero(),</CODE> <CODE>BN_one()</CODE> and
<CODE>BN_set_word()</CODE> return 1 on success, 0 otherwise.
<CODE>BN_value_one()</CODE> returns the constant.

</P>
<P>
<HR>
<H1><A NAME="BUGS">BUGS</A></H1>
<P>
Someone might change the constant.

</P>
<P>
If a <STRONG>BIGNUM</STRONG> is equal to 0xffffffffL it can be represented as an unsigned long but this
value is also returned on error.

</P>
<P>
<HR>
<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
<P>
<A HREF="../crypto/bn.html#">bn(3)</A>, <A HREF="../crypto/BN_bn2bin.html#">BN_bn2bin(3)</A>



</P>
<P>
<HR>
<H1><A NAME="HISTORY">HISTORY</A></H1>
<P>
<CODE>BN_zero(),</CODE> <CODE>BN_one()</CODE> and
<CODE>BN_set_word()</CODE> are available in all versions of SSLeay and
OpenSSL. <CODE>BN_value_one()</CODE> and <CODE>BN_get_word()</CODE> were
added in SSLeay 0.8.

</P>
<P>
<CODE>BN_value_one()</CODE> was changed to return a true const BIGNUM * in
OpenSSL 0.9.7.

</P>
:}

