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);
 
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  |