1 #ifndef _BASE64_H_ 2 #define _BASE64_H_ 3 #include "first.h" 4 5 #include "buffer.h" 6 7 typedef enum { 8 BASE64_STANDARD, 9 BASE64_URL, 10 } base64_charset; 11 12 unsigned char* buffer_append_base64_decode(buffer *out, const char* in, size_t in_length, base64_charset charset); 13 14 size_t li_to_base64_no_padding(char* out, size_t out_length, const unsigned char* in, size_t in_length, base64_charset charset); 15 size_t li_to_base64(char* out, size_t out_length, const unsigned char* in, size_t in_length, base64_charset charset); 16 17 __attribute_returns_nonnull__ 18 char* buffer_append_base64_encode_no_padding(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset); 19 20 __attribute_returns_nonnull__ 21 char* buffer_append_base64_encode(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset); 22 23 #endif 24