base64

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

Stability Level

Stable, unless otherwise indicated

Functions

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_ex ()

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

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

 

outWritten

the pointer to store the number of bytes written into the output

 

Returns

0 on success and a negative value otherwise.


xmlSecBase64CtxFinal_ex ()

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

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

 

outWritten

the pointer to store the number of bytes written into the output

 

Returns

0 on success and a negative value otherwise.


xmlSecBase64Encode ()

xmlChar *
xmlSecBase64Encode (const xmlSecByte *in,
                    xmlSecSize inSize,
                    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

in

the input buffer.

 

inSize

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_ex ()

int
xmlSecBase64Decode_ex (const xmlChar *str,
                       xmlSecByte *out,
                       xmlSecSize outSize,
                       xmlSecSize *outWritten);

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

Parameters

str

the input buffer with base64 encoded string

 

out

the output buffer

 

outSize

the output buffer size

 

outWritten

the pointer to store the number of bytes written into the output.

 

Returns

0 on success and a negative value otherwise.


xmlSecBase64DecodeInPlace ()

int
xmlSecBase64DecodeInPlace (xmlChar *str,
                           xmlSecSize *outWritten);

Decodes input base64 encoded string from str "in-place" (i.e. puts results into str buffer).

Parameters

str

the input/output buffer

 

outWritten

the pointer to store the number of bytes written into the output.

 

Returns

0 on success and a negative value otherwise.

Types and Values

XMLSEC_BASE64_LINESIZE

#define XMLSEC_BASE64_LINESIZE                          64

The default maximum base64 encoded line size.