29 #define BASE64_SUCCESS (0)
30 #define BASE64_ERROR_BUFFER_OUT (-1)
31 #define BASE64_ERROR_BUFFER_OUT_SIZE (-2)
32 #define BASE64_ERROR_DATA_IN (-3)
33 #define BASE64_ERROR_DATA_IN_SIZE (-4)
42 static inline size_t base64_estimate_decode_size(size_t base64_in_size)
44 return (((base64_in_size + 3) / 4) * 3);
56 return (4 * ((data_in_size + 2) / 3));
77 void *base64_out,
size_t *base64_out_size);
103 void *base64_out,
size_t *base64_out_size);
123 int base64_decode(
const void *base64_in,
size_t base64_in_size,
124 void *data_out,
size_t *data_out_size);
int base64url_encode(const void *data_in, size_t data_in_size, void *base64_out, size_t *base64_out_size)
Encodes a given datum to base64 with URL and Filename Safe Alphabet and save the result to the given ...
static size_t base64_estimate_encode_size(size_t data_in_size)
Estimates the length of the resulting string after encoding data_in_size bytes into base64.
int base64_encode(const void *data_in, size_t data_in_size, void *base64_out, size_t *base64_out_size)
Encodes a given datum to base64 and save the result to the given destination.
int base64_decode(const void *base64_in, size_t base64_in_size, void *data_out, size_t *data_out_size)
Decodes a given base64 string and save the result to the given destination.