48 #ifndef B64_INCL_B64_H_B64
49 #define B64_INCL_B64_H_B64
55 #ifndef B64_DOCUMENTATION_SKIP_SECTION
56 #define B64_VER_B64_H_B64_MAJOR 1
57 #define B64_VER_B64_H_B64_MINOR 5
58 #define B64_VER_B64_H_B64_REVISION 4
59 #define B64_VER_B64_H_B64_EDIT 28
78 #ifndef B64_DOCUMENTATION_SKIP_SECTION
79 #define B64_VER_1_0_1 0x01000100
80 #define B64_VER_1_0_2 0x01000200
81 #define B64_VER_1_0_3 0x01000300
82 #define B64_VER_1_1_1 0x01010100
83 #define B64_VER_1_1_2 0x01010200
84 #define B64_VER_1_1_3 0x01010300
85 #define B64_VER_1_2_1 0x01020100
86 #define B64_VER_1_2_2 0x01020200
87 #define B64_VER_1_2_3 0x01020300
88 #define B64_VER_1_2_4 0x01020400
89 #define B64_VER_1_2_5 0x01020500
90 #define B64_VER_1_2_6 0x01020600
91 #define B64_VER_1_2_7 0x01020700
92 #define B64_VER_1_3_1 0x010301ff
93 #define B64_VER_1_3_2 0x010302ff
94 #define B64_VER_1_3_3 0x010303ff
95 #define B64_VER_1_3_4 0x010304ff
97 #define B64_VER B64_VER_1_3_4
99 #define B64_VER 0x010304ff
102 #define B64_VER_MAJOR 1
103 #define B64_VER_MINOR 3
104 #define B64_VER_REVISION 4
116 #if !defined(B64_NO_NAMESPACE) && !defined(__cplusplus)
117 #define B64_NO_NAMESPACE
124 #ifdef B64_NAMESPACE_QUALIFIER
125 #undef B64_NAMESPACE_QUALIFIER
128 #ifndef B64_NO_NAMESPACE
130 #ifdef B64_CUSTOM_NAMESPACE
131 #define B64_NAMESPACE B64_CUSTOM_NAMESPACE
133 #define B64_NAMESPACE b64
136 #if defined(B64_CUSTOM_NAMESPACE) && defined(B64_CUSTOM_NAMESPACE_QUALIFIER)
137 #define B64_NAMESPACE_QUALIFIER B64_CUSTOM_NAMESPACE_QUALIFIER
139 #define B64_NAMESPACE_QUALIFIER ::B64_NAMESPACE
150 namespace B64_NAMESPACE {
162 B64_RC_INSUFFICIENT_BUFFER = 1
164 B64_RC_TRUNCATED_INPUT = 2
166 B64_RC_DATA_ERROR = 3
167 #ifndef B64_DOCUMENTATION_SKIP_SECTION
174 typedef enum B64_RC B64_RC;
180 B64_F_LINE_LEN_USE_PARAM = 0x0000
182 B64_F_LINE_LEN_INFINITE = 0x0001
184 B64_F_LINE_LEN_64 = 0x0002
186 B64_F_LINE_LEN_76 = 0x0003
188 B64_F_LINE_LEN_MASK = 0x000f
190 B64_F_STOP_ON_NOTHING = 0x0000
192 B64_F_STOP_ON_UNKNOWN_CHAR = 0x0100
194 B64_F_STOP_ON_UNEXPECTED_WS = 0x0200
196 B64_F_STOP_ON_BAD_CHAR = 0x0300
200 typedef enum B64_FLAGS B64_FLAGS;
234 size_t b64_encode(
void const *src,
size_t srcSize,
char *dest,
size_t destLen);
264 size_t b64_encode2(
void const *src,
size_t srcSize,
char *dest,
size_t destLen,
unsigned flags,
int lineLen
301 size_t b64_decode(
char const *src,
size_t srcLen,
void *dest,
size_t destSize);
343 size_t b64_decode2(
char const *src,
size_t srcLen,
void *dest,
size_t destSize,
unsigned flags,
char const **badChar
351 char const *b64_getErrorString(B64_RC code);
359 size_t b64_getErrorStringLength(B64_RC code);
369 #ifndef B64_NO_NAMESPACE
372 #ifndef B64_DOCUMENTATION_SKIP_SECTION
376 inline char const *c_str_data_a(B64_NAMESPACE_QUALIFIER::B64_RC code) {
377 return B64_NAMESPACE_QUALIFIER::b64_getErrorString(code);
379 inline char const *c_str_data(B64_NAMESPACE_QUALIFIER::B64_RC code) {
380 return B64_NAMESPACE_QUALIFIER::b64_getErrorString(code);
383 inline size_t c_str_len_a(B64_NAMESPACE_QUALIFIER::B64_RC code) {
384 return B64_NAMESPACE_QUALIFIER::b64_getErrorStringLength(code);
386 inline size_t c_str_len(B64_NAMESPACE_QUALIFIER::B64_RC code) {
387 return B64_NAMESPACE_QUALIFIER::b64_getErrorStringLength(code);
390 inline char const *c_str_ptr_a(B64_NAMESPACE_QUALIFIER::B64_RC code) {
391 return B64_NAMESPACE_QUALIFIER::b64_getErrorString(code);
393 inline char const *c_str_ptr(B64_NAMESPACE_QUALIFIER::B64_RC code) {
394 return B64_NAMESPACE_QUALIFIER::b64_getErrorString(code);