/simpletypesystem/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/simpletypesystem/trunk
89 by Gustav Hartvigsson
* Started working on Threads
1
#ifndef __H_BASE_N__
2
#define __H_BASE_N__
3
4
#include "defs.h"
5
6
BEGIN_DECLS
7
8
/**
9
 * @file
10
 * @defgroup BaseN BaseN
92 by Gustav Hartvigsson
* Woops.
11
 * @addtogroup BaseN
12
 * @{
89 by Gustav Hartvigsson
* Started working on Threads
13
 * https://tools.ietf.org/html/rfc4648
14
 */
15
16
/**
17
 * Encode a Byte array to a Base16 string.
18
 */
19
schar *
20
s_base_16_enc (sbyte * input_data,
100 by Gustav Hartvigsson
* Fixed README.
21
               size_t in_len,
22
               size_t * out_len);
23
89 by Gustav Hartvigsson
* Started working on Threads
24
/**
25
 * Decode a base16 encoded string into a Byte array.
26
 */
27
sbyte *
28
s_base_16_dec (schar * base16_str,
100 by Gustav Hartvigsson
* Fixed README.
29
               size_t in_len,
30
               size_t * out_len);
31
89 by Gustav Hartvigsson
* Started working on Threads
32
/**
33
 * Encode a Byte array to a Base16 string.
34
 */
35
schar *
36
s_base_32_enc (sbyte * input_data,
100 by Gustav Hartvigsson
* Fixed README.
37
               size_t in_len,
38
               size_t * out_len);
39
89 by Gustav Hartvigsson
* Started working on Threads
40
/**
41
 * Decode a base32 encoded string into a Byte array.
90 by Gustav Hartvigsson
* Macros were wrong.
42
 */
89 by Gustav Hartvigsson
* Started working on Threads
43
sbyte *
44
s_base_32_dec (schar * base32_str,
100 by Gustav Hartvigsson
* Fixed README.
45
               size_t in_len,
46
               size_t * out_len);
47
89 by Gustav Hartvigsson
* Started working on Threads
48
/**
49
 * Encode a Byte array to a Base32 Hex (Extended hex) string.
90 by Gustav Hartvigsson
* Macros were wrong.
50
 */
89 by Gustav Hartvigsson
* Started working on Threads
51
schar *
52
s_base_32_hex_enc (sbyte * input_data,
100 by Gustav Hartvigsson
* Fixed README.
53
                   size_t in_len,
54
                   size_t * out_len);
55
89 by Gustav Hartvigsson
* Started working on Threads
56
/**
57
 * Decode a base32 Hex (Extended hex) encoded string into a Byte array.
90 by Gustav Hartvigsson
* Macros were wrong.
58
 */
89 by Gustav Hartvigsson
* Started working on Threads
59
sbyte *
60
s_base_32_hex_dec (schar * base32_str,
100 by Gustav Hartvigsson
* Fixed README.
61
                   size_t in_len,
62
                   size_t * out_len);
63
89 by Gustav Hartvigsson
* Started working on Threads
64
/**
65
 * Encode a Byte array to a Base64 string.
90 by Gustav Hartvigsson
* Macros were wrong.
66
 */
89 by Gustav Hartvigsson
* Started working on Threads
67
schar *
68
s_base_64_enc (sbyte * input_data,
100 by Gustav Hartvigsson
* Fixed README.
69
               size_t in_len,
70
               size_t * out_len);
71
89 by Gustav Hartvigsson
* Started working on Threads
72
/**
73
 * Decode a base64 encoded string into a Byte array.
90 by Gustav Hartvigsson
* Macros were wrong.
74
 */
75
sbyte *
76
s_base_64_dec (schar * base64_str,
100 by Gustav Hartvigsson
* Fixed README.
77
               size_t in_len,
78
               size_t * out_len);
79
90 by Gustav Hartvigsson
* Macros were wrong.
80
/**
81
 * Encode a byte array into a URI safe Base64 string.
82
 */
83
schar *
84
s_base_64_safe_enc (sbyte * input_data,
100 by Gustav Hartvigsson
* Fixed README.
85
                    size_t in_len,
86
                    size_t * out_len);
87
90 by Gustav Hartvigsson
* Macros were wrong.
88
/**
89
 * Decode a URI safe Base64 string into a byte array.
90
 */
91
sbyte *
92
s_base_64_safe_dec (schar * base64_str,
100 by Gustav Hartvigsson
* Fixed README.
93
                    size_t in_len,
94
                    size_t * out_len);
95
90 by Gustav Hartvigsson
* Macros were wrong.
96
97
89 by Gustav Hartvigsson
* Started working on Threads
98
/**
99
 * @}
100
 */
101
102
END_DECLS
103
104
#endif __H_BASE_N__
105