/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
S_BEGIN_DECLS
110 by Gustav Hartvigsson
* added S_ prifix to my macros. I should not be a scrub.
7
89 by Gustav Hartvigsson
* Started working on Threads
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
S_EXPORTED
119 by Gustav Hartvigsson
* added S_EXPERTED to public functions.
20
schar *
89 by Gustav Hartvigsson
* Started working on Threads
21
s_base_16_enc (sbyte * input_data,
100 by Gustav Hartvigsson
* Fixed README.
22
               size_t in_len,
23
               size_t * out_len);
24
89 by Gustav Hartvigsson
* Started working on Threads
25
/**
26
 * Decode a base16 encoded string into a Byte array.
27
 */
28
S_EXPORTED
119 by Gustav Hartvigsson
* added S_EXPERTED to public functions.
29
sbyte *
89 by Gustav Hartvigsson
* Started working on Threads
30
s_base_16_dec (schar * base16_str,
100 by Gustav Hartvigsson
* Fixed README.
31
               size_t in_len,
32
               size_t * out_len);
33
89 by Gustav Hartvigsson
* Started working on Threads
34
/**
35
 * Encode a Byte array to a Base16 string.
36
 */
37
S_EXPORTED
119 by Gustav Hartvigsson
* added S_EXPERTED to public functions.
38
schar *
89 by Gustav Hartvigsson
* Started working on Threads
39
s_base_32_enc (sbyte * input_data,
100 by Gustav Hartvigsson
* Fixed README.
40
               size_t in_len,
41
               size_t * out_len);
42
89 by Gustav Hartvigsson
* Started working on Threads
43
/**
44
 * Decode a base32 encoded string into a Byte array.
90 by Gustav Hartvigsson
* Macros were wrong.
45
 */
89 by Gustav Hartvigsson
* Started working on Threads
46
sbyte *
47
s_base_32_dec (schar * base32_str,
100 by Gustav Hartvigsson
* Fixed README.
48
               size_t in_len,
49
               size_t * out_len);
50
89 by Gustav Hartvigsson
* Started working on Threads
51
/**
52
 * Encode a Byte array to a Base32 Hex (Extended hex) string.
90 by Gustav Hartvigsson
* Macros were wrong.
53
 */
89 by Gustav Hartvigsson
* Started working on Threads
54
S_EXPORTED
119 by Gustav Hartvigsson
* added S_EXPERTED to public functions.
55
schar *
89 by Gustav Hartvigsson
* Started working on Threads
56
s_base_32_hex_enc (sbyte * input_data,
100 by Gustav Hartvigsson
* Fixed README.
57
                   size_t in_len,
58
                   size_t * out_len);
59
89 by Gustav Hartvigsson
* Started working on Threads
60
/**
61
 * Decode a base32 Hex (Extended hex) encoded string into a Byte array.
90 by Gustav Hartvigsson
* Macros were wrong.
62
 */
89 by Gustav Hartvigsson
* Started working on Threads
63
S_EXPORTED
119 by Gustav Hartvigsson
* added S_EXPERTED to public functions.
64
sbyte *
89 by Gustav Hartvigsson
* Started working on Threads
65
s_base_32_hex_dec (schar * base32_str,
100 by Gustav Hartvigsson
* Fixed README.
66
                   size_t in_len,
67
                   size_t * out_len);
68
89 by Gustav Hartvigsson
* Started working on Threads
69
/**
70
 * Encode a Byte array to a Base64 string.
90 by Gustav Hartvigsson
* Macros were wrong.
71
 */
89 by Gustav Hartvigsson
* Started working on Threads
72
S_EXPORTED
119 by Gustav Hartvigsson
* added S_EXPERTED to public functions.
73
schar *
89 by Gustav Hartvigsson
* Started working on Threads
74
s_base_64_enc (sbyte * input_data,
100 by Gustav Hartvigsson
* Fixed README.
75
               size_t in_len,
76
               size_t * out_len);
77
89 by Gustav Hartvigsson
* Started working on Threads
78
/**
79
 * Decode a base64 encoded string into a Byte array.
90 by Gustav Hartvigsson
* Macros were wrong.
80
 */
81
S_EXPORTED
119 by Gustav Hartvigsson
* added S_EXPERTED to public functions.
82
sbyte *
90 by Gustav Hartvigsson
* Macros were wrong.
83
s_base_64_dec (schar * base64_str,
100 by Gustav Hartvigsson
* Fixed README.
84
               size_t in_len,
85
               size_t * out_len);
86
90 by Gustav Hartvigsson
* Macros were wrong.
87
/**
88
 * Encode a byte array into a URI safe Base64 string.
89
 */
90
S_EXPORTED
119 by Gustav Hartvigsson
* added S_EXPERTED to public functions.
91
schar *
90 by Gustav Hartvigsson
* Macros were wrong.
92
s_base_64_safe_enc (sbyte * input_data,
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
 * Decode a URI safe Base64 string into a byte array.
98
 */
99
S_EXPORTED
119 by Gustav Hartvigsson
* added S_EXPERTED to public functions.
100
sbyte *
90 by Gustav Hartvigsson
* Macros were wrong.
101
s_base_64_safe_dec (schar * base64_str,
100 by Gustav Hartvigsson
* Fixed README.
102
                    size_t in_len,
103
                    size_t * out_len);
104
90 by Gustav Hartvigsson
* Macros were wrong.
105
106
89 by Gustav Hartvigsson
* Started working on Threads
107
/**
108
 * @}
109
 */
110
111
S_END_DECLS
110 by Gustav Hartvigsson
* added S_ prifix to my macros. I should not be a scrub.
112
89 by Gustav Hartvigsson
* Started working on Threads
113
#endif __H_BASE_N__
114