/simpletypesystem/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/simpletypesystem/trunk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#pragma once

#include "defs.h"
#include "utils.h"

S_BEGIN_DECLS

/**
 * @file
 * @defgroup BaseN BaseN
 * @addtogroup BaseN
 * @{
 * https://tools.ietf.org/html/rfc4648
 */

/**
 * Encode a Byte array to a Base16 string.
 */
S_EXPORTED
schar *
s_base_16_enc (const sbyte * input_data,
               size_t in_len,
               size_t * out_len);

/**
 * Decode a base16 encoded string into a Byte array.
 */
S_EXPORTED
sbyte *
s_base_16_dec (const schar * base16_str,
               size_t in_len,
               size_t * out_len);

/**
 * Decode a base16 string into a byte array of a fixed size.
 */
S_EXPORTED
sbyte *
s_base_16_dec_size (const schar * base16_str,
                    size_t in_len,
                    size_t out_len);

/**
 * Encode a Byte array to a Base16 string.
 */
S_EXPORTED
schar *
s_base_32_enc (const sbyte * input_data,
               size_t in_len,
               size_t * out_len);

/**
 * Decode a base32 encoded string into a Byte array.
 */
S_EXPORTED
sbyte *
s_base_32_dec (const schar * base32_str,
               size_t in_len,
               size_t * out_len);

/**
 * Decode a base32 encoded string into a Byte array of fixed size.
 */
S_EXPORTED
sbyte *
s_base_32_dec_size (const schar * base32_str,
                    size_t in_len,
                    size_t out_len);


/**
 * Encode a Byte array to a Base32 Hex (Extended hex) string.
 */
S_EXPORTED
schar *
s_base_32_hex_enc (const sbyte * input_data,
                   size_t in_len,
                   size_t * out_len);

/**
 * Decode a base32 Hex (Extended hex) encoded string into a Byte array.
 */
S_EXPORTED
sbyte *
s_base_32_hex_dec (const schar * base32_str,
                   size_t in_len,
                   size_t * out_len);

/**
 * Encode a Byte array to a Base64 string.
 */
S_EXPORTED
schar *
s_base_64_enc (const sbyte * input_data,
               size_t in_len,
               size_t * out_len);

/**
 * Decode a base64 encoded string into a Byte array.
 */
S_EXPORTED
sbyte *
s_base_64_dec (const schar * base64_str,
               size_t in_len,
               size_t * out_len);

/**
 * Encode a byte array into a URI safe Base64 string.
 */
S_EXPORTED
schar *
s_base_64_safe_enc (const sbyte * input_data,
                    size_t in_len,
                    size_t * out_len);

/**
 * Decode a URI safe Base64 string into a byte array.
 */
S_EXPORTED
sbyte *
s_base_64_safe_dec (const schar * base64_str,
                    size_t in_len,
                    size_t * out_len);



/**
 * @}
 */

S_END_DECLS