36
36
* responsible for freeing the strings.
40
// These functions return xmalloc'd memory which caller needs to xfree
41
inkcoreapi char *ink_base64_decode(const char *input, int input_len, int *output_len);
42
char *ink_base64_encode(const char *input, int input_len, int *output_len);
43
char *ink_base64_encode_unsigned(const unsigned char *input, int input_len, int *output_len);
45
// Decodes into user supplied buffer. Returns number of bytes decoded
46
inkcoreapi int ink_base64_decode(const char *inBuffer, int outBufSize, unsigned char *outBuffer);
47
int ink_base64_uuencode(const char *bufin, int nbytes, unsigned char *outBuffer);
39
// Encodes / Decodes into user supplied buffer. Returns number of bytes decoded
40
bool ats_base64_encode(const char *inBuffer, size_t inBufferSize, char *outBuffer, size_t outBufSize, size_t *length);
41
bool ats_base64_encode(const unsigned char *inBuffer, size_t inBufferSize, char *outBuffer, size_t outBufSize, size_t *length);
43
bool ats_base64_decode(const char *inBuffer, size_t inBufferSize, unsigned char *outBuffer, size_t outBufSize, size_t *length);
45
// Little helper functions to calculate minimum required output buffer for encoding/decoding.
46
#define ATS_BASE64_ENCODE_DSTLEN(_length) ((_length * 8) / 6 + 4)
47
#define ATS_BASE64_DECODE_DSTLEN(_length) (((_length + 3) / 4) * 3)