XML Security Library

LibXML2
LibXSLT
OpenSSL

bn

Name

bn -- 

Synopsis


enum        xmlSecBnFormat;
xmlSecBnPtr xmlSecBnCreate                  (xmlSecSize size);
void        xmlSecBnDestroy                 (xmlSecBnPtr bn);
int         xmlSecBnInitialize              (xmlSecBnPtr bn,
                                             xmlSecSize size);
void        xmlSecBnFinalize                (xmlSecBnPtr bn);
xmlSecByte* xmlSecBnGetData                 (xmlSecBnPtr bn);
int         xmlSecBnSetData                 (xmlSecBnPtr bn,
                                             const xmlSecByte *data,
                                             xmlSecSize size);
xmlSecSize  xmlSecBnGetSize                 (xmlSecBnPtr bn);
void        xmlSecBnZero                    (xmlSecBnPtr bn);
int         xmlSecBnFromString              (xmlSecBnPtr bn,
                                             const xmlChar *str,
                                             xmlSecSize base);
xmlChar*    xmlSecBnToString                (xmlSecBnPtr bn,
                                             xmlSecSize base);
int         xmlSecBnFromHexString           (xmlSecBnPtr bn,
                                             const xmlChar *str);
xmlChar*    xmlSecBnToHexString             (xmlSecBnPtr bn);
int         xmlSecBnFromDecString           (xmlSecBnPtr bn,
                                             const xmlChar *str);
xmlChar*    xmlSecBnToDecString             (xmlSecBnPtr bn);
int         xmlSecBnMul                     (xmlSecBnPtr bn,
                                             int multiplier);
int         xmlSecBnDiv                     (xmlSecBnPtr bn,
                                             int divider,
                                             int *mod);
int         xmlSecBnAdd                     (xmlSecBnPtr bn,
                                             int delta);
int         xmlSecBnReverse                 (xmlSecBnPtr bn);
int         xmlSecBnCompare                 (xmlSecBnPtr bn,
                                             const xmlSecByte *data,
                                             xmlSecSize dataSize);
int         xmlSecBnCompareReverse          (xmlSecBnPtr bn,
                                             const xmlSecByte *data,
                                             xmlSecSize dataSize);
int         xmlSecBnGetNodeValue            (xmlSecBnPtr bn,
                                             xmlNodePtr cur,
                                             xmlSecBnFormat format,
                                             int reverse);
int         xmlSecBnSetNodeValue            (xmlSecBnPtr bn,
                                             xmlNodePtr cur,
                                             xmlSecBnFormat format,
                                             int reverse,
                                             int addLineBreaks);
int         xmlSecBnBlobSetNodeValue        (const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlNodePtr cur,
                                             xmlSecBnFormat format,
                                             int reverse,
                                             int addLineBreaks);

Description

Details

enum xmlSecBnFormat

typedef enum {
    xmlSecBnBase64,
    xmlSecBnHex,
    xmlSecBnDec
} xmlSecBnFormat;

The big numbers formats.

xmlSecBnBase64

the base64 decoded binary blob.

xmlSecBnHex

the hex number.

xmlSecBnDec

the decimal number.


xmlSecBnCreate ()

xmlSecBnPtr xmlSecBnCreate                  (xmlSecSize size);

Creates a new BN object. Caller is responsible for destroying it by calling xmlSecBnDestroy function.

size :

the initial allocated BN size.

Returns :

the newly BN or a NULL if an error occurs.


xmlSecBnDestroy ()

void        xmlSecBnDestroy                 (xmlSecBnPtr bn);

Destroys bn object created with xmlSecBnCreate function.

bn :

the pointer to BN.


xmlSecBnInitialize ()

int         xmlSecBnInitialize              (xmlSecBnPtr bn,
                                             xmlSecSize size);

Initializes a BN object. Caller is responsible for destroying it by calling xmlSecBnFinalize function.

bn :

the pointer to BN.

size :

the initial allocated BN size.

Returns :

0 on success or a negative value if an error occurs.


xmlSecBnFinalize ()

void        xmlSecBnFinalize                (xmlSecBnPtr bn);

Destroys bn object created with xmlSecBnInitialize function.

bn :

the pointer to BN.


xmlSecBnGetData ()

xmlSecByte* xmlSecBnGetData                 (xmlSecBnPtr bn);

Gets pointer to the binary bn representation.

bn :

the pointer to BN.

Returns :

pointer to binary BN data or NULL if an error occurs.


xmlSecBnSetData ()

int         xmlSecBnSetData                 (xmlSecBnPtr bn,
                                             const xmlSecByte *data,
                                             xmlSecSize size);

Sets the value of bn to data.

bn :

the pointer to BN.

data :

the pointer to new BN binary data.

size :

the size of new BN data.

Returns :

0 on success or a negative value if an error occurs.


xmlSecBnGetSize ()

xmlSecSize  xmlSecBnGetSize                 (xmlSecBnPtr bn);

Gets the size of binary data in bn.

bn :

the pointer to BN.

Returns :

the size of binary data.


xmlSecBnZero ()

void        xmlSecBnZero                    (xmlSecBnPtr bn);

Sets the value of bn to zero.

bn :

the pointer to BN.


xmlSecBnFromString ()

int         xmlSecBnFromString              (xmlSecBnPtr bn,
                                             const xmlChar *str,
                                             xmlSecSize base);

Reads bn from string str assuming it has base base.

bn :

the pointer to BN.

str :

the string with BN.

base :

the base for str.

Returns :

0 on success or a negative value if an error occurs.


xmlSecBnToString ()

xmlChar*    xmlSecBnToString                (xmlSecBnPtr bn,
                                             xmlSecSize base);

Writes bn to string with base base. Caller is responsible for freeing returned string with xmlFree.

bn :

the pointer to BN.

base :

the base for returned string.

Returns :

the string represenataion if BN or a NULL if an error occurs.


xmlSecBnFromHexString ()

int         xmlSecBnFromHexString           (xmlSecBnPtr bn,
                                             const xmlChar *str);

Reads bn from hex string str.

bn :

the pointer to BN.

str :

the string with BN.

Returns :

0 on success or a negative value if an error occurs.


xmlSecBnToHexString ()

xmlChar*    xmlSecBnToHexString             (xmlSecBnPtr bn);

Writes bn to hex string. Caller is responsible for freeing returned string with xmlFree.

bn :

the pointer to BN.

Returns :

the string represenataion if BN or a NULL if an error occurs.


xmlSecBnFromDecString ()

int         xmlSecBnFromDecString           (xmlSecBnPtr bn,
                                             const xmlChar *str);

Reads bn from decimal string str.

bn :

the pointer to BN.

str :

the string with BN.

Returns :

0 on success or a negative value if an error occurs.


xmlSecBnToDecString ()

xmlChar*    xmlSecBnToDecString             (xmlSecBnPtr bn);

Writes bn to decimal string. Caller is responsible for freeing returned string with xmlFree.

bn :

the pointer to BN.

Returns :

the string represenataion if BN or a NULL if an error occurs.


xmlSecBnMul ()

int         xmlSecBnMul                     (xmlSecBnPtr bn,
                                             int multiplier);

Multiplies bn with multiplier.

bn :

the pointer to BN.

multiplier :

the multiplier.

Returns :

0 on success or a negative value if an error occurs.


xmlSecBnDiv ()

int         xmlSecBnDiv                     (xmlSecBnPtr bn,
                                             int divider,
                                             int *mod);

Divides bn by divider and places modulus into mod.

bn :

the pointer to BN.

divider :

the divider

mod :

the pointer for modulus result.

Returns :

0 on success or a negative value if an error occurs.


xmlSecBnAdd ()

int         xmlSecBnAdd                     (xmlSecBnPtr bn,
                                             int delta);

Adds delta to bn.

bn :

the pointer to BN.

delta :

the delta.

Returns :

0 on success or a negative value if an error occurs.


xmlSecBnReverse ()

int         xmlSecBnReverse                 (xmlSecBnPtr bn);

Reverses bytes order in bn.

bn :

the pointer to BN.

Returns :

0 on success or a negative value if an error occurs.


xmlSecBnCompare ()

int         xmlSecBnCompare                 (xmlSecBnPtr bn,
                                             const xmlSecByte *data,
                                             xmlSecSize dataSize);

Compares the bn with data.

bn :

the pointer to BN.

data :

the data to compare BN to.

dataSize :

the data size.

Returns :

0 if data is equal, negative value if bn is less or positive value if bn is greater than data.


xmlSecBnCompareReverse ()

int         xmlSecBnCompareReverse          (xmlSecBnPtr bn,
                                             const xmlSecByte *data,
                                             xmlSecSize dataSize);

Compares the bn with reverse data.

bn :

the pointer to BN.

data :

the data to compare BN to.

dataSize :

the data size.

Returns :

0 if data is equal, negative value if bn is less or positive value if bn is greater than data.


xmlSecBnGetNodeValue ()

int         xmlSecBnGetNodeValue            (xmlSecBnPtr bn,
                                             xmlNodePtr cur,
                                             xmlSecBnFormat format,
                                             int reverse);

Converts the node content from format to bn.

bn :

the pointer to BN.

cur :

the poitner to an XML node.

format :

the BN format.

reverse :

if set then reverse read buffer after reading.

Returns :

0 on success and a negative values if an error occurs.


xmlSecBnSetNodeValue ()

int         xmlSecBnSetNodeValue            (xmlSecBnPtr bn,
                                             xmlNodePtr cur,
                                             xmlSecBnFormat format,
                                             int reverse,
                                             int addLineBreaks);

Converts the bn and sets it to node content.

bn :

the pointer to BN.

cur :

the poitner to an XML node.

format :

the BN format.

reverse :

the flag that indicates whether to reverse the buffer before writing.

addLineBreaks :

the flag; it is equal to 1 then linebreaks will be added before and after new buffer content.

Returns :

0 on success and a negative values if an error occurs.


xmlSecBnBlobSetNodeValue ()

int         xmlSecBnBlobSetNodeValue        (const xmlSecByte *data,
                                             xmlSecSize dataSize,
                                             xmlNodePtr cur,
                                             xmlSecBnFormat format,
                                             int reverse,
                                             int addLineBreaks);

Converts the blob and sets it to node content.

data :

the pointer to BN blob.

dataSize :

the size of BN blob.

cur :

the poitner to an XML node.

format :

the BN format.

reverse :

the flag that indicates whether to reverse the buffer before writing.

addLineBreaks :

if the flag is equal to 1 then linebreaks will be added before and after new buffer content.

Returns :

0 on success and a negative values if an error occurs.



Aleksey Sanin