49 #ifndef B64_INCL_B64_H_B64
50 #define B64_INCL_B64_H_B64
56 #ifndef B64_DOCUMENTATION_SKIP_SECTION
57 # define B64_VER_B64_H_B64_MAJOR 1
58 # define B64_VER_B64_H_B64_MINOR 5
59 # define B64_VER_B64_H_B64_REVISION 4
60 # define B64_VER_B64_H_B64_EDIT 28
79 #ifndef B64_DOCUMENTATION_SKIP_SECTION
80 # define B64_VER_1_0_1 0x01000100
81 # define B64_VER_1_0_2 0x01000200
82 # define B64_VER_1_0_3 0x01000300
83 # define B64_VER_1_1_1 0x01010100
84 # define B64_VER_1_1_2 0x01010200
85 # define B64_VER_1_1_3 0x01010300
86 # define B64_VER_1_2_1 0x01020100
87 # define B64_VER_1_2_2 0x01020200
88 # define B64_VER_1_2_3 0x01020300
89 # define B64_VER_1_2_4 0x01020400
90 # define B64_VER_1_2_5 0x01020500
91 # define B64_VER_1_2_6 0x01020600
92 # define B64_VER_1_2_7 0x01020700
93 # define B64_VER_1_3_1 0x010301ff
94 # define B64_VER_1_3_2 0x010302ff
95 # define B64_VER_1_3_3 0x010303ff
96 # define B64_VER_1_3_4 0x010304ff
98 # define B64_VER B64_VER_1_3_4
100 # define B64_VER 0x010304ff
103 #define B64_VER_MAJOR 1
104 #define B64_VER_MINOR 3
105 #define B64_VER_REVISION 4
117 #if !defined(B64_NO_NAMESPACE) && \
118 !defined(__cplusplus)
119 # define B64_NO_NAMESPACE
123 # undef B64_NAMESPACE
126 #ifdef B64_NAMESPACE_QUALIFIER
127 # undef B64_NAMESPACE_QUALIFIER
131 #ifndef B64_NO_NAMESPACE
133 # ifdef B64_CUSTOM_NAMESPACE
134 # define B64_NAMESPACE B64_CUSTOM_NAMESPACE
136 # define B64_NAMESPACE b64
139 # if defined(B64_CUSTOM_NAMESPACE) && \
140 defined(B64_CUSTOM_NAMESPACE_QUALIFIER)
141 # define B64_NAMESPACE_QUALIFIER B64_CUSTOM_NAMESPACE_QUALIFIER
143 # define B64_NAMESPACE_QUALIFIER ::B64_NAMESPACE
155 namespace B64_NAMESPACE
168 , B64_RC_INSUFFICIENT_BUFFER = 1
169 , B64_RC_TRUNCATED_INPUT = 2
170 , B64_RC_DATA_ERROR = 3
171 #ifndef B64_DOCUMENTATION_SKIP_SECTION
177 typedef enum B64_RC B64_RC;
184 B64_F_LINE_LEN_USE_PARAM = 0x0000
185 , B64_F_LINE_LEN_INFINITE = 0x0001
186 , B64_F_LINE_LEN_64 = 0x0002
187 , B64_F_LINE_LEN_76 = 0x0003
188 , B64_F_LINE_LEN_MASK = 0x000f
189 , B64_F_STOP_ON_NOTHING = 0x0000
190 , B64_F_STOP_ON_UNKNOWN_CHAR = 0x0100
191 , B64_F_STOP_ON_UNEXPECTED_WS = 0x0200
192 , B64_F_STOP_ON_BAD_CHAR = 0x0300
196 typedef enum B64_FLAGS B64_FLAGS;
230 ORTP_PUBLIC
size_t b64_encode(
void const *src,
size_t srcSize,
char *dest,
size_t destLen);
301 ORTP_PUBLIC
size_t b64_decode(
char const *src,
size_t srcLen,
void *dest,
size_t destSize);
348 ,
char const **badChar
375 #ifndef B64_NO_NAMESPACE
378 # ifndef B64_DOCUMENTATION_SKIP_SECTION
383 inline char const *c_str_data_a( B64_NAMESPACE_QUALIFIER::B64_RC code)
387 inline char const *c_str_data( B64_NAMESPACE_QUALIFIER::B64_RC code)
392 inline size_t c_str_len_a( B64_NAMESPACE_QUALIFIER::B64_RC code)
396 inline size_t c_str_len( B64_NAMESPACE_QUALIFIER::B64_RC code)
401 inline char const *c_str_ptr_a( B64_NAMESPACE_QUALIFIER::B64_RC code)
405 inline char const *c_str_ptr( B64_NAMESPACE_QUALIFIER::B64_RC code)
size_t b64_encode2(void const *src, size_t srcSize, char *dest, size_t destLen, unsigned flags, int lineLen, B64_RC *rc)
Encodes a block of binary data into Base-64.
Definition: b64.c:433
size_t b64_getErrorStringLength(B64_RC code)
Returns the length of the textual description of the error.
Definition: b64.c:600
size_t b64_encode(void const *src, size_t srcSize, char *dest, size_t destLen)
Encodes a block of binary data into Base-64.
Definition: b64.c:423
char const * b64_getErrorString(B64_RC code)
Returns the textual description of the error.
Definition: b64.c:595
size_t b64_decode(char const *src, size_t srcLen, void *dest, size_t destSize)
Decodes a sequence of Base-64 into a block of binary data.
Definition: b64.c:477
size_t b64_decode2(char const *src, size_t srcLen, void *dest, size_t destSize, unsigned flags, char const **badChar, B64_RC *rc)
Decodes a sequence of Base-64 into a block of binary data.
Definition: b64.c:488