<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>bn</title> <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7"> <link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> <link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> <link rel="PREVIOUS" title="base64" href="xmlsec-base64.html"> <link rel="NEXT" title="buffer" href="xmlsec-buffer.html"> <meta name="GENERATOR" content="GTK-Doc V1.2 (SGML mode)"> <style type="text/css">.synopsis, .classsynopsis { background: #eeeeee; border: solid 1px #aaaaaa; padding: 0.5em; } .programlisting { background: #eeeeff; border: solid 1px #aaaaff; padding: 0.5em; } .variablelist { padding: 4px; margin-left: 3em; } .navigation { background: #ffeeee; border: solid 1px #ffaaaa; margin-top: 0.5em; margin-bottom: 0.5em; } .navigation a { color: #770000; } .navigation a:visited { color: #550000; } .navigation .title { font-size: 200%; }</style> </head> <body><table witdh="100%" valign="top"><tr valign="top"> <td valign="top" align="left" width="210"> <img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> <ul> <li><a href="../index.html">Home</a></li> <li><a href="../download.html">Download</a></li> <li><a href="../news.html">News</a></li> <li><a href="../documentation.html">Documentation</a></li> <ul> <li><a href="../faq.html">FAQ</a></li> <li><a href="../api/xmlsec-notes.html">Tutorial</a></li> <li><a href="../api/xmlsec-reference.html">API reference</a></li> <li><a href="../api/xmlsec-examples.html">Examples</a></li> </ul> <li><a href="../xmldsig.html">XML Digital Signature</a></li> <ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> <li><a href="../xmlenc.html">XML Encryption</a></li> <li><a href="../c14n.html">XML Canonicalization</a></li> <li><a href="../bugs.html">Reporting Bugs</a></li> <li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> <li><a href="../related.html">Related</a></li> <li><a href="../authors.html">Authors</a></li> </ul> <table width="100%"> <tr> <td width="15"></td> <td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> </tr> <tr> <td width="15"></td> <td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> </tr> <tr> <td width="15"></td> <td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> </tr> <!--Links - start--><!--Links - end--> </table> </td> <td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> <table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> <td><a accesskey="p" href="xmlsec-base64.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> <td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> <th width="100%" align="center">XML Security Library Reference Manual</th> <td><a accesskey="n" href="xmlsec-buffer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> </tr></table> <h1> <a name="XMLSEC-BN"></a>bn</h1> <div class="REFNAMEDIV"> <a name="AEN2961"></a><h2>Name</h2>bn--Big numbers support functions.</div> <div class="REFSYNOPSISDIV"> <a name="AEN2964"></a><h2>Synopsis</h2> <pre class="SYNOPSIS"> enum <a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a>; <font>xmlSecBnPtr</font> <a href="xmlsec-bn.html#XMLSECBNCREATE">xmlSecBnCreate</a> (<a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> size); <font>void</font> <a href="xmlsec-bn.html#XMLSECBNDESTROY">xmlSecBnDestroy</a> (<font>xmlSecBnPtr</font> bn); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNINITIALIZE">xmlSecBnInitialize</a> (<font>xmlSecBnPtr</font> bn, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> size); <font>void</font> <a href="xmlsec-bn.html#XMLSECBNFINALIZE">xmlSecBnFinalize</a> (<font>xmlSecBnPtr</font> bn); <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a>* <a href="xmlsec-bn.html#XMLSECBNGETDATA">xmlSecBnGetData</a> (<font>xmlSecBnPtr</font> bn); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNSETDATA">xmlSecBnSetData</a> (<font>xmlSecBnPtr</font> bn, const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> size); <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> <a href="xmlsec-bn.html#XMLSECBNGETSIZE">xmlSecBnGetSize</a> (<font>xmlSecBnPtr</font> bn); <font>void</font> <a href="xmlsec-bn.html#XMLSECBNZERO">xmlSecBnZero</a> (<font>xmlSecBnPtr</font> bn); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNFROMSTRING">xmlSecBnFromString</a> (<font>xmlSecBnPtr</font> bn, const <font>xmlChar</font> *str, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> base); <font>xmlChar</font>* <a href="xmlsec-bn.html#XMLSECBNTOSTRING">xmlSecBnToString</a> (<font>xmlSecBnPtr</font> bn, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> base); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNFROMHEXSTRING">xmlSecBnFromHexString</a> (<font>xmlSecBnPtr</font> bn, const <font>xmlChar</font> *str); <font>xmlChar</font>* <a href="xmlsec-bn.html#XMLSECBNTOHEXSTRING">xmlSecBnToHexString</a> (<font>xmlSecBnPtr</font> bn); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNFROMDECSTRING">xmlSecBnFromDecString</a> (<font>xmlSecBnPtr</font> bn, const <font>xmlChar</font> *str); <font>xmlChar</font>* <a href="xmlsec-bn.html#XMLSECBNTODECSTRING">xmlSecBnToDecString</a> (<font>xmlSecBnPtr</font> bn); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNMUL">xmlSecBnMul</a> (<font>xmlSecBnPtr</font> bn, <font>int</font> multiplier); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNDIV">xmlSecBnDiv</a> (<font>xmlSecBnPtr</font> bn, <font>int</font> divider, <font>int</font> *mod); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNADD">xmlSecBnAdd</a> (<font>xmlSecBnPtr</font> bn, <font>int</font> delta); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNREVERSE">xmlSecBnReverse</a> (<font>xmlSecBnPtr</font> bn); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNCOMPARE">xmlSecBnCompare</a> (<font>xmlSecBnPtr</font> bn, const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNCOMPAREREVERSE">xmlSecBnCompareReverse</a> (<font>xmlSecBnPtr</font> bn, const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNGETNODEVALUE">xmlSecBnGetNodeValue</a> (<font>xmlSecBnPtr</font> bn, <font>xmlNodePtr</font> cur, <a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a> format, <font>int</font> reverse); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNSETNODEVALUE">xmlSecBnSetNodeValue</a> (<font>xmlSecBnPtr</font> bn, <font>xmlNodePtr</font> cur, <a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a> format, <font>int</font> reverse, <font>int</font> addLineBreaks); <font>int</font> <a href="xmlsec-bn.html#XMLSECBNBLOBSETNODEVALUE">xmlSecBnBlobSetNodeValue</a> (const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize, <font>xmlNodePtr</font> cur, <a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a> format, <font>int</font> reverse, <font>int</font> addLineBreaks);</pre> </div> <div class="REFSECT1"> <a name="AEN3065"></a><h2>Description</h2> <p>Big numbers support functions.</p> </div> <div class="REFSECT1"> <a name="AEN3068"></a><h2>Details</h2> <div class="REFSECT2"> <a name="AEN3070"></a><h3> <a name="XMLSECBNFORMAT"></a>enum xmlSecBnFormat</h3> <pre class="PROGRAMLISTING">typedef enum { xmlSecBnBase64, xmlSecBnHex, xmlSecBnDec } xmlSecBnFormat;</pre> <p>The big numbers formats.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3079"><span style="white-space: nowrap"><var class="LITERAL">xmlSecBnBase64</var></span></a></td> <td align="LEFT" valign="TOP"><p> the base64 decoded binary blob.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3084"><span style="white-space: nowrap"><var class="LITERAL">xmlSecBnHex</var></span></a></td> <td align="LEFT" valign="TOP"><p> the hex number.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3089"><span style="white-space: nowrap"><var class="LITERAL">xmlSecBnDec</var></span></a></td> <td align="LEFT" valign="TOP"><p> the decimal number.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3094"></a><h3> <a name="XMLSECBNCREATE"></a>xmlSecBnCreate ()</h3> <pre class="PROGRAMLISTING"><font>xmlSecBnPtr</font> xmlSecBnCreate (<a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> size);</pre> <p>Creates a new BN object. Caller is responsible for destroying it by calling <var class="PARAMETER">xmlSecBnDestroy</var> function.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3106"><span style="white-space: nowrap"><var class="PARAMETER">size</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the initial allocated BN size.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3111"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>the newly BN or a NULL if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3116"></a><h3> <a name="XMLSECBNDESTROY"></a>xmlSecBnDestroy ()</h3> <pre class="PROGRAMLISTING"><font>void</font> xmlSecBnDestroy (<font>xmlSecBnPtr</font> bn);</pre> <p>Destroys <var class="PARAMETER">bn</var> object created with <var class="PARAMETER">xmlSecBnCreate</var> function.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> <td align="LEFT" valign="TOP"><a name="AEN3129"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr></tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3134"></a><h3> <a name="XMLSECBNINITIALIZE"></a>xmlSecBnInitialize ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnInitialize (<font>xmlSecBnPtr</font> bn, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> size);</pre> <p>Initializes a BN object. Caller is responsible for destroying it by calling <var class="PARAMETER">xmlSecBnFinalize</var> function.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3147"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3152"><span style="white-space: nowrap"><var class="PARAMETER">size</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the initial allocated BN size.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3157"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3162"></a><h3> <a name="XMLSECBNFINALIZE"></a>xmlSecBnFinalize ()</h3> <pre class="PROGRAMLISTING"><font>void</font> xmlSecBnFinalize (<font>xmlSecBnPtr</font> bn);</pre> <p>Destroys <var class="PARAMETER">bn</var> object created with <var class="PARAMETER">xmlSecBnInitialize</var> function.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> <td align="LEFT" valign="TOP"><a name="AEN3175"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr></tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3180"></a><h3> <a name="XMLSECBNGETDATA"></a>xmlSecBnGetData ()</h3> <pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a>* xmlSecBnGetData (<font>xmlSecBnPtr</font> bn);</pre> <p>Gets pointer to the binary <var class="PARAMETER">bn</var> representation.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3192"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3197"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>pointer to binary BN data or NULL if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3202"></a><h3> <a name="XMLSECBNSETDATA"></a>xmlSecBnSetData ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnSetData (<font>xmlSecBnPtr</font> bn, const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> size);</pre> <p>Sets the value of <var class="PARAMETER">bn</var> to <var class="PARAMETER">data</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3217"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3222"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to new BN binary data.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3227"><span style="white-space: nowrap"><var class="PARAMETER">size</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the size of new BN data.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3232"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3237"></a><h3> <a name="XMLSECBNGETSIZE"></a>xmlSecBnGetSize ()</h3> <pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> xmlSecBnGetSize (<font>xmlSecBnPtr</font> bn);</pre> <p>Gets the size of binary data in <var class="PARAMETER">bn</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3249"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3254"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>the size of binary data.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3259"></a><h3> <a name="XMLSECBNZERO"></a>xmlSecBnZero ()</h3> <pre class="PROGRAMLISTING"><font>void</font> xmlSecBnZero (<font>xmlSecBnPtr</font> bn);</pre> <p>Sets the value of <var class="PARAMETER">bn</var> to zero.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> <td align="LEFT" valign="TOP"><a name="AEN3271"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr></tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3276"></a><h3> <a name="XMLSECBNFROMSTRING"></a>xmlSecBnFromString ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnFromString (<font>xmlSecBnPtr</font> bn, const <font>xmlChar</font> *str, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> base);</pre> <p>Reads <var class="PARAMETER">bn</var> from string <var class="PARAMETER">str</var> assuming it has base <var class="PARAMETER">base</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3292"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3297"><span style="white-space: nowrap"><var class="PARAMETER">str</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the string with BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3302"><span style="white-space: nowrap"><var class="PARAMETER">base</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the base for <var class="PARAMETER">str</var>.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3308"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3313"></a><h3> <a name="XMLSECBNTOSTRING"></a>xmlSecBnToString ()</h3> <pre class="PROGRAMLISTING"><font>xmlChar</font>* xmlSecBnToString (<font>xmlSecBnPtr</font> bn, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> base);</pre> <p>Writes <var class="PARAMETER">bn</var> to string with base <var class="PARAMETER">base</var>. Caller is responsible for freeing returned string with <var class="PARAMETER">xmlFree</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3328"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3333"><span style="white-space: nowrap"><var class="PARAMETER">base</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the base for returned string.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3338"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>the string represenataion if BN or a NULL if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3343"></a><h3> <a name="XMLSECBNFROMHEXSTRING"></a>xmlSecBnFromHexString ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnFromHexString (<font>xmlSecBnPtr</font> bn, const <font>xmlChar</font> *str);</pre> <p>Reads <var class="PARAMETER">bn</var> from hex string <var class="PARAMETER">str</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3357"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3362"><span style="white-space: nowrap"><var class="PARAMETER">str</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the string with BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3367"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3372"></a><h3> <a name="XMLSECBNTOHEXSTRING"></a>xmlSecBnToHexString ()</h3> <pre class="PROGRAMLISTING"><font>xmlChar</font>* xmlSecBnToHexString (<font>xmlSecBnPtr</font> bn);</pre> <p>Writes <var class="PARAMETER">bn</var> to hex string. Caller is responsible for freeing returned string with <var class="PARAMETER">xmlFree</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3385"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3390"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>the string represenataion if BN or a NULL if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3395"></a><h3> <a name="XMLSECBNFROMDECSTRING"></a>xmlSecBnFromDecString ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnFromDecString (<font>xmlSecBnPtr</font> bn, const <font>xmlChar</font> *str);</pre> <p>Reads <var class="PARAMETER">bn</var> from decimal string <var class="PARAMETER">str</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3409"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3414"><span style="white-space: nowrap"><var class="PARAMETER">str</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the string with BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3419"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3424"></a><h3> <a name="XMLSECBNTODECSTRING"></a>xmlSecBnToDecString ()</h3> <pre class="PROGRAMLISTING"><font>xmlChar</font>* xmlSecBnToDecString (<font>xmlSecBnPtr</font> bn);</pre> <p>Writes <var class="PARAMETER">bn</var> to decimal string. Caller is responsible for freeing returned string with <var class="PARAMETER">xmlFree</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3437"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3442"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>the string represenataion if BN or a NULL if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3447"></a><h3> <a name="XMLSECBNMUL"></a>xmlSecBnMul ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnMul (<font>xmlSecBnPtr</font> bn, <font>int</font> multiplier);</pre> <p>Multiplies <var class="PARAMETER">bn</var> with <var class="PARAMETER">multiplier</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3461"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3466"><span style="white-space: nowrap"><var class="PARAMETER">multiplier</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the multiplier.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3471"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3476"></a><h3> <a name="XMLSECBNDIV"></a>xmlSecBnDiv ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnDiv (<font>xmlSecBnPtr</font> bn, <font>int</font> divider, <font>int</font> *mod);</pre> <p>Divides <var class="PARAMETER">bn</var> by <var class="PARAMETER">divider</var> and places modulus into <var class="PARAMETER">mod</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3492"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3497"><span style="white-space: nowrap"><var class="PARAMETER">divider</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the divider</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3502"><span style="white-space: nowrap"><var class="PARAMETER">mod</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer for modulus result.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3507"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3512"></a><h3> <a name="XMLSECBNADD"></a>xmlSecBnAdd ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnAdd (<font>xmlSecBnPtr</font> bn, <font>int</font> delta);</pre> <p>Adds <var class="PARAMETER">delta</var> to <var class="PARAMETER">bn</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3526"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3531"><span style="white-space: nowrap"><var class="PARAMETER">delta</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the delta.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3536"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3541"></a><h3> <a name="XMLSECBNREVERSE"></a>xmlSecBnReverse ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnReverse (<font>xmlSecBnPtr</font> bn);</pre> <p>Reverses bytes order in <var class="PARAMETER">bn</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3553"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3558"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3563"></a><h3> <a name="XMLSECBNCOMPARE"></a>xmlSecBnCompare ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnCompare (<font>xmlSecBnPtr</font> bn, const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize);</pre> <p>Compares the <var class="PARAMETER">bn</var> with <var class="PARAMETER">data</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3578"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3583"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the data to compare BN to.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3588"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the <var class="PARAMETER">data</var> size.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3594"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 if data is equal, negative value if <var class="PARAMETER">bn</var> is less or positive value if <var class="PARAMETER">bn</var> is greater than <var class="PARAMETER">data</var>.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3602"></a><h3> <a name="XMLSECBNCOMPAREREVERSE"></a>xmlSecBnCompareReverse ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnCompareReverse (<font>xmlSecBnPtr</font> bn, const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize);</pre> <p>Compares the <var class="PARAMETER">bn</var> with reverse <var class="PARAMETER">data</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3617"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3622"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the data to compare BN to.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3627"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the <var class="PARAMETER">data</var> size.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3633"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 if data is equal, negative value if <var class="PARAMETER">bn</var> is less or positive value if <var class="PARAMETER">bn</var> is greater than <var class="PARAMETER">data</var>.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3641"></a><h3> <a name="XMLSECBNGETNODEVALUE"></a>xmlSecBnGetNodeValue ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnGetNodeValue (<font>xmlSecBnPtr</font> bn, <font>xmlNodePtr</font> cur, <a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a> format, <font>int</font> reverse);</pre> <p>Converts the node content from <var class="PARAMETER">format</var> to <var class="PARAMETER">bn</var>.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3657"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3662"><span style="white-space: nowrap"><var class="PARAMETER">cur</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the poitner to an XML node.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3667"><span style="white-space: nowrap"><var class="PARAMETER">format</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the BN format.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3672"><span style="white-space: nowrap"><var class="PARAMETER">reverse</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> if set then reverse read buffer after reading.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3677"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success and a negative values if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3682"></a><h3> <a name="XMLSECBNSETNODEVALUE"></a>xmlSecBnSetNodeValue ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnSetNodeValue (<font>xmlSecBnPtr</font> bn, <font>xmlNodePtr</font> cur, <a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a> format, <font>int</font> reverse, <font>int</font> addLineBreaks);</pre> <p>Converts the <var class="PARAMETER">bn</var> and sets it to node content.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3698"><span style="white-space: nowrap"><var class="PARAMETER">bn</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3703"><span style="white-space: nowrap"><var class="PARAMETER">cur</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the poitner to an XML node.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3708"><span style="white-space: nowrap"><var class="PARAMETER">format</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the BN format.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3713"><span style="white-space: nowrap"><var class="PARAMETER">reverse</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the flag that indicates whether to reverse the buffer before writing.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3718"><span style="white-space: nowrap"><var class="PARAMETER">addLineBreaks</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the flag; it is equal to 1 then linebreaks will be added before and after new buffer content.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3723"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success and a negative values if an error occurs.</p></td> </tr> </tbody></table> </div> <hr> <div class="REFSECT2"> <a name="AEN3728"></a><h3> <a name="XMLSECBNBLOBSETNODEVALUE"></a>xmlSecBnBlobSetNodeValue ()</h3> <pre class="PROGRAMLISTING"><font>int</font> xmlSecBnBlobSetNodeValue (const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data, <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize, <font>xmlNodePtr</font> cur, <a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a> format, <font>int</font> reverse, <font>int</font> addLineBreaks);</pre> <p>Converts the <var class="PARAMETER">blob</var> and sets it to node content.</p> <p></p> <p></p> <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> <td align="LEFT" valign="TOP"><a name="AEN3745"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the pointer to BN blob.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3750"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the size of BN blob.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3755"><span style="white-space: nowrap"><var class="PARAMETER">cur</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the poitner to an XML node.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3760"><span style="white-space: nowrap"><var class="PARAMETER">format</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the BN format.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3765"><span style="white-space: nowrap"><var class="PARAMETER">reverse</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> the flag that indicates whether to reverse the buffer before writing.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3770"><span style="white-space: nowrap"><var class="PARAMETER">addLineBreaks</var>:</span></a></td> <td align="LEFT" valign="TOP"><p> if the flag is equal to 1 then linebreaks will be added before and after new buffer content.</p></td> </tr> <tr> <td align="LEFT" valign="TOP"><a name="AEN3775"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> <td align="LEFT" valign="TOP"><p>0 on success and a negative values if an error occurs.</p></td> </tr> </tbody></table> </div> </div> <table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> <td align="left"><a accesskey="p" href="xmlsec-base64.html"><b><<<base64</b></a></td> <td align="right"><a accesskey="n" href="xmlsec-buffer.html"><b>buffer>>></b></a></td> </tr></table> </td></tr></table></td> </tr></table></body> </html>