Home Download GitHub News Documentation FAQ Tutorial API reference Examples XML Digital Signature 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_ex ()
int | xmlSecBase64CtxFinal_ex ()
xmlChar * | xmlSecBase64Encode ()
int | xmlSecBase64Decode_ex ()
int | xmlSecBase64DecodeInPlace ()
## 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_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.