1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
10 * Enumeration of the result codes for Base64 conversion.
12 typedef enum base64_result_t_
{
15 BASE64_BUFFER_OVERRUN
,
18 BASE64_BAD_BLOCK_SIZE
,
22 #define MAX_BASE64_STRING_LEN 60
24 /* Result code string table */
25 extern char *base64_result_table
[];
28 * BASE64_RESULT_TO_STRING
29 * Macro to convert a Base64 result code into a human readable string.
31 #define BASE64_RESULT_TO_STRING(_result) (((_result)>=0 && (_result)<BASE64_RESULT_MAX)?(base64_result_table[_result]):("UNKNOWN Result Code"))
35 int base64_est_encode_size_bytes(int raw_size_bytes
);
36 int base64_est_decode_size_bytes(int base64_size_bytes
);
38 base64_result_t
base64_encode(unsigned char *src
, int src_bytes
, unsigned char *dest
, int *dest_bytes
);
40 base64_result_t
base64_decode(unsigned char *src
, int src_bytes
, unsigned char *dest
, int *dest_bytes
);
42 #endif /* _SDP_BASE64_H_ */