|
|
|
@ -11,25 +11,19 @@ typedef enum {
|
|
|
|
|
|
|
|
|
|
unsigned char* buffer_append_base64_decode(buffer *out, const char* in, size_t in_length, base64_charset charset);
|
|
|
|
|
|
|
|
|
|
size_t li_to_base64_no_padding(char* out, size_t out_length, const unsigned char* in, size_t in_length, base64_charset charset);
|
|
|
|
|
size_t li_to_base64(char* out, size_t out_length, const unsigned char* in, size_t in_length, base64_charset charset);
|
|
|
|
|
size_t li_base64_enc(char* restrict out, size_t out_length, const unsigned char* restrict in, size_t in_length, base64_charset charset, int pad);
|
|
|
|
|
#define li_to_base64_no_padding(out, out_length, in, in_length, charset) \
|
|
|
|
|
li_base64_enc((out), (out_length), (in), (in_length), (charset), 0)
|
|
|
|
|
#define li_to_base64(out, out_length, in, in_length, charset) \
|
|
|
|
|
li_base64_enc((out), (out_length), (in), (in_length), (charset), 1)
|
|
|
|
|
|
|
|
|
|
__attribute_nonnull__
|
|
|
|
|
__attribute_returns_nonnull__
|
|
|
|
|
char* buffer_append_base64_encode_opt(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset, int pad);
|
|
|
|
|
char* buffer_append_base64_enc(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset, int pad);
|
|
|
|
|
|
|
|
|
|
__attribute_nonnull__
|
|
|
|
|
__attribute_returns_nonnull__
|
|
|
|
|
static inline char* buffer_append_base64_encode_no_padding(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset);
|
|
|
|
|
static inline char* buffer_append_base64_encode_no_padding(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset) {
|
|
|
|
|
return buffer_append_base64_encode_opt(out, in, in_length, charset, 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
__attribute_nonnull__
|
|
|
|
|
__attribute_returns_nonnull__
|
|
|
|
|
static inline char* buffer_append_base64_encode(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset);
|
|
|
|
|
static inline char* buffer_append_base64_encode(buffer *out, const unsigned char* in, size_t in_length, base64_charset charset) {
|
|
|
|
|
return buffer_append_base64_encode_opt(out, in, in_length, charset, 1);
|
|
|
|
|
}
|
|
|
|
|
#define buffer_append_base64_encode_no_padding(out, in, in_length, charset) \
|
|
|
|
|
buffer_append_base64_enc((out), (in), (in_length), (charset), 0)
|
|
|
|
|
#define buffer_append_base64_encode(out, in, in_length, charset) \
|
|
|
|
|
buffer_append_base64_enc((out), (in), (in_length), (charset), 1)
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|