base64

Home Download News Documentation FAQ Tutorial API reference Examples XML Digital Signature Online Verifier XML Encryption XML Canonicalization Reporting Bugs Mailing list Related Authors
# 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
Aleksey Sanin