Synopsis
#define XMLSEC_BASE64_LINESIZE
int xmlSecBase64GetDefaultLineSize (void);
void xmlSecBase64SetDefaultLineSize (int columns);
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);
Details
XMLSEC_BASE64_LINESIZE
#define XMLSEC_BASE64_LINESIZE 64
The default maximum base64 encoded line size.
xmlSecBase64GetDefaultLineSize ()
int xmlSecBase64GetDefaultLineSize (void);
Gets the current default line size.
xmlSecBase64SetDefaultLineSize ()
void xmlSecBase64SetDefaultLineSize (int columns);
Sets the current default 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 |