XML Security Library

LibXML2
LibXSLT
OpenSSL

base64

Name

base64 -- 

Synopsis


#define     XMLSEC_BASE64_LINESIZE
xmlSecBase64CtxPtr xmlSecBase64CtxCreate    (int encode,
                                             int columns);
void        xmlSecBase64CtxDestroy          (xmlSecBase64CtxPtr ctx);
int         xmlSecBase64CtxInitialize       (xmlSecBase64CtxPtr ctx,
                                             int encode,
                                             int columns);
void        xmlSecBase64CtxFinalize         (xmlSecBase64CtxPtr ctx);
int         xmlSecBase64CtxUpdate           (xmlSecBase64CtxPtr ctx,
                                             const xmlSecByte *in,
                                             xmlSecSize inSize,
                                             xmlSecByte *out,
                                             xmlSecSize outSize);
int         xmlSecBase64CtxFinal            (xmlSecBase64CtxPtr ctx,
                                             xmlSecByte *out,
                                             xmlSecSize outSize);
xmlChar*    xmlSecBase64Encode              (const xmlSecByte *buf,
                                             xmlSecSize len,
                                             int columns);
int         xmlSecBase64Decode              (const xmlChar *str,
                                             xmlSecByte *buf,
                                             xmlSecSize len);

Description

Details

XMLSEC_BASE64_LINESIZE

#define XMLSEC_BASE64_LINESIZE				64

The default maximum base64 encoded line size.


xmlSecBase64CtxCreate ()

xmlSecBase64CtxPtr xmlSecBase64CtxCreate    (int encode,
                                             int columns);

Allocates and initializes new base64 context.

encode :

the encode/decode flag (1 - encode, 0 - decode)

columns :

the max line length.

Returns :

a pointer to newly created xmlSecBase64Ctx structure or NULL if an error occurs.


xmlSecBase64CtxDestroy ()

void        xmlSecBase64CtxDestroy          (xmlSecBase64CtxPtr ctx);

Destroys base64 context.

ctx :

the pointer to xmlSecBase64Ctx structure.


xmlSecBase64CtxInitialize ()

int         xmlSecBase64CtxInitialize       (xmlSecBase64CtxPtr ctx,
                                             int encode,
                                             int columns);

Initializes new base64 context.

ctx :

the pointer to xmlSecBase64Ctx structure,

encode :

the encode/decode flag (1 - encode, 0 - decode)

columns :

the max line length.

Returns :

0 on success and a negative value otherwise.


xmlSecBase64CtxFinalize ()

void        xmlSecBase64CtxFinalize         (xmlSecBase64CtxPtr ctx);

Frees all the resources allocated by ctx.

ctx :

the pointer to xmlSecBase64Ctx structure,


xmlSecBase64CtxUpdate ()

int         xmlSecBase64CtxUpdate           (xmlSecBase64CtxPtr ctx,
                                             const xmlSecByte *in,
                                             xmlSecSize inSize,
                                             xmlSecByte *out,
                                             xmlSecSize outSize);

Encodes or decodes the next piece of data from input buffer.

ctx :

the pointer to xmlSecBase64Ctx structure

in :

the input buffer

inSize :

the input buffer size

out :

the output buffer

outSize :

the output buffer size

Returns :

the number of bytes written to output buffer or -1 if an error occurs.


xmlSecBase64CtxFinal ()

int         xmlSecBase64CtxFinal            (xmlSecBase64CtxPtr ctx,
                                             xmlSecByte *out,
                                             xmlSecSize outSize);

Encodes or decodes the last piece of data stored in the context and finalizes the result.

ctx :

the pointer to xmlSecBase64Ctx structure

out :

the output buffer

outSize :

the output buffer size

Returns :

the number of bytes written to output buffer or -1 if an error occurs.


xmlSecBase64Encode ()

xmlChar*    xmlSecBase64Encode              (const xmlSecByte *buf,
                                             xmlSecSize len,
                                             int columns);

Encodes the data from input buffer and allocates the string for the result. The caller is responsible for freeing returned buffer using xmlFree() function.

buf :

the input buffer.

len :

the input buffer size.

columns :

the output max line length (if 0 then no line breaks would be inserted)

Returns :

newly allocated string with base64 encoded data or NULL if an error occurs.


xmlSecBase64Decode ()

int         xmlSecBase64Decode              (const xmlChar *str,
                                             xmlSecByte *buf,
                                             xmlSecSize len);

Decodes input base64 encoded string and puts result into the output buffer.

str :

the input buffer with base64 encoded string

buf :

the output buffer

len :

the output buffer size

Returns :

the number of bytes written to the output buffer or a negative value if an error occurs