base64: XML Security Library Reference Manual

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 base64 — Base64 encoding/decoding functions and base64 transform implementation. |
## Stability Level Stable, unless otherwise indicated ## Functions
int | xmlSecBase64GetDefaultLineSize ()
void | xmlSecBase64SetDefaultLineSize ()
xmlSecBase64CtxPtr | xmlSecBase64CtxCreate ()
void | xmlSecBase64CtxDestroy ()
int | xmlSecBase64CtxInitialize ()
void | xmlSecBase64CtxFinalize ()
int | xmlSecBase64CtxUpdate ()
int | xmlSecBase64CtxFinal ()
xmlChar * | xmlSecBase64Encode ()
int | xmlSecBase64Decode ()
## Types and Values
#define | XMLSEC_BASE64_LINESIZE
## 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.