/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
#include "BaseN.h"
2
3
#define S_BASE_16_LAST 15
90 by Gustav Hartvigsson
* Macros were wrong.
4
#define S_BASE_32_LAST 31
5
#define S_BASE_64_LAST 63
6
7
#define padding_mark =
8
9
/* ****************************************************************************
10
 ***************************** BASE N ALPHABETS *******************************
11
 **************************************************************************** */
12
89 by Gustav Hartvigsson
* Started working on Threads
13
UNUSED
14
static const schar
15
S_BASE_16_ALPHABET[16] = {
16
  '0','1','2','3','4','5','6','7','8','9',
17
  
18
  'A','B','C','D','E','F'
19
};
20
21
UNUSED
22
static const schar
23
S_BASE_32_HEX_ALPHABET[32] = {
24
  '0','1','2','3','4','5','6','7','8','9',
25
  
26
  'A','B','C','D','E','F','G','H','I','J',
27
  'K','L','M','N','O','P','Q','R','S','T',
28
  'U','V'
29
};
30
31
UNUSED
32
static const schar
33
S_BASE_32_ALPHABET[32] = {
34
  'A','B','C','D','E','F','G','H','I','J',
35
  'K','L','M','N','O','P','Q','R','S','T',
36
  'U','V','W','X','Y','Z',
37
  
38
  '2','3','4','5','6','7'
39
};
40
41
UNUSED
42
static const schar
43
S_BASE_64_ALPHABET[64] = {
44
  'A','B','C','D','E','F','G','H','I','J',
45
  'K','L','M','N','O','P','Q','R','S','T',
46
  'U','V','W','X','Y','Z',
47
  
48
  'a','b','c','d','e','f','g','h','i','j',
49
  'k','l','m','n','o','p','q','r','s','t',
50
  'u','v','w','x','y','z',
51
  
52
  '0','1','2','3','4','5','6','7','8','9',
53
  '+','/'
54
};
55
56
UNUSED
57
static const schar
58
S_BASE_64_SAFE_ALPHABET[64] = {
59
  'A','B','C','D','E','F','G','H','I','J',
60
  'K','L','M','N','O','P','Q','R','S','T',
61
  'U','V','W','X','Y','Z',
62
  
63
  'a','b','c','d','e','f','g','h','i','j',
64
  'k','l','m','n','o','p','q','r','s','t',
65
  'u','v','w','x','y','z',
66
  
67
  '0','1','2','3','4','5','6','7','8','9',
68
  '-','_'
69
};
70
90 by Gustav Hartvigsson
* Macros were wrong.
71
/* ****************************************************************************
72
 ********************************* BASE 16 ************************************
73
 **************************************************************************** */
74
schar *
75
s_base_16_enc (sbyte * input_data);
76
77
sbyte *
78
s_base_16_dec (schar * base16_str);
79
80
/* ****************************************************************************
81
 ********************************* BASE 32 ************************************
82
 **************************************************************************** */
83
schar *
84
s_base_32_enc (sbyte * input_data);
85
86
sbyte *
87
s_base_32_dec (schar * base32_str);
88
89
schar *
90
s_base_32_hex_enc (sbyte * input_data);
91
92
sbyte *
93
s_base_32_hex_dec (schar * base32_str);
94
95
96
/* ****************************************************************************
97
 ********************************* BASE 64 ************************************
98
 **************************************************************************** */
99
schar *
100
s_base_64_enc (sbyte * input_data);
101
102
sbyte *
103
s_base_64_dec (schar * base64_str);
104
105
schar *
106
s_base_64_safe_enc (sbyte * input_data);
107
108
sbyte *
109
s_base_64_safe_dec (schar * base64_str);
110
111