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
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
155namespace 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
177typedef 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
196typedef enum B64_FLAGS B64_FLAGS;
230ORTP_PUBLIC
size_t b64_encode(
void const *src,
size_t srcSize,
char *dest,
size_t destLen);
301ORTP_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)
char const * b64_getErrorString(B64_RC code)
Returns the textual description of the error.
Definition: b64.c:595
size_t b64_getErrorStringLength(B64_RC code)
Returns the length of the textual description of the error.
Definition: b64.c:600
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
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
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_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