XML Security Library

LibXML2
LibXSLT
OpenSSL

base64

base64 — Base64 encoding/decoding functions and base64 transform implementation.

Stability Level

Stable, unless otherwise indicated

Types and Values

Description

Functions

xmlSecBase64GetDefaultLineSize ()

int
xmlSecBase64GetDefaultLineSize (void);

Gets the current default line size.

Returns

the current default line size.


xmlSecBase64SetDefaultLineSize ()

void
xmlSecBase64SetDefaultLineSize (int columns);

Sets the current default line size.

Parameters

columns

number of columns


xmlSecBase64CtxCreate ()

xmlSecBase64CtxPtr
xmlSecBase64CtxCreate (int encode,
                       int columns);

Allocates and initializes new base64 context.

Parameters

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.

Parameters

ctx

the pointer to xmlSecBase64Ctx structure.


xmlSecBase64CtxInitialize ()

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

Initializes new base64 context.

Parameters

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 .

Parameters

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.

Parameters

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.

Parameters

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.

Parameters

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.

Parameters

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

Types and Values

XMLSEC_BASE64_LINESIZE

#define XMLSEC_BASE64_LINESIZE                          64

The default maximum base64 encoded line size.