PatchworkOS
Loading...
Searching...
No Matches
ascii_table.c
Go to the documentation of this file.
1#include "ascii_table.h"
2
3#include <stdint.h>
4
6 {/* NUL */ _ASCII_CNTRL, 0x00, 0x00},
7 {/* SOH */ _ASCII_CNTRL, 0x01, 0x01},
8 {/* STX */ _ASCII_CNTRL, 0x02, 0x02},
9 {/* ETX */ _ASCII_CNTRL, 0x03, 0x03},
10 {/* EOT */ _ASCII_CNTRL, 0x04, 0x04},
11 {/* ENQ */ _ASCII_CNTRL, 0x05, 0x05},
12 {/* ACK */ _ASCII_CNTRL, 0x06, 0x06},
13 {/* BEL */ _ASCII_CNTRL, 0x07, 0x07},
14 {/* BS */ _ASCII_CNTRL, 0x08, 0x08},
15 {/* HT */ _ASCII_CNTRL | _ASCII_BLANK | _ASCII_SPACE, 0x09, 0x09},
16 {/* LF */ _ASCII_CNTRL | _ASCII_SPACE, 0x0A, 0x0A},
17 {/* VT */ _ASCII_CNTRL | _ASCII_SPACE, 0x0B, 0x0B},
18 {/* FF */ _ASCII_CNTRL | _ASCII_SPACE, 0x0C, 0x0C},
19 {/* CR */ _ASCII_CNTRL | _ASCII_SPACE, 0x0D, 0x0D},
20 {/* SO */ _ASCII_CNTRL, 0x0E, 0x0E},
21 {/* SI */ _ASCII_CNTRL, 0x0F, 0x0F},
22 {/* DLE */ _ASCII_CNTRL, 0x10, 0x10},
23 {/* DC1 */ _ASCII_CNTRL, 0x11, 0x11},
24 {/* DC2 */ _ASCII_CNTRL, 0x12, 0x12},
25 {/* DC3 */ _ASCII_CNTRL, 0x13, 0x13},
26 {/* DC4 */ _ASCII_CNTRL, 0x14, 0x14},
27 {/* NAK */ _ASCII_CNTRL, 0x15, 0x15},
28 {/* SYN */ _ASCII_CNTRL, 0x16, 0x16},
29 {/* ETB */ _ASCII_CNTRL, 0x17, 0x17},
30 {/* CAN */ _ASCII_CNTRL, 0x18, 0x18},
31 {/* EM */ _ASCII_CNTRL, 0x19, 0x19},
32 {/* SUB */ _ASCII_CNTRL, 0x1A, 0x1A},
33 {/* ESC */ _ASCII_CNTRL, 0x1B, 0x1B},
34 {/* FS */ _ASCII_CNTRL, 0x1C, 0x1C},
35 {/* GS */ _ASCII_CNTRL, 0x1D, 0x1D},
36 {/* RS */ _ASCII_CNTRL, 0x1E, 0x1E},
37 {/* US */ _ASCII_CNTRL, 0x1F, 0x1F},
38 {/* SP */ _ASCII_BLANK | _ASCII_SPACE, 0x20, 0x20},
39 {/* '!' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x21, 0x21},
40 {/* '"' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x22, 0x22},
41 {/* '#' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x23, 0x23},
42 {/* '$' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x24, 0x24},
43 {/* '%' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x25, 0x25},
44 {/* '&' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x26, 0x26},
45 {/* ''' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x27, 0x27},
46 {/* '(' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x28, 0x28},
47 {/* ')' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x29, 0x29},
48 {/* '*' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x2A, 0x2A},
49 {/* '+' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x2B, 0x2B},
50 {/* ',' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x2C, 0x2C},
51 {/* '-' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x2D, 0x2D},
52 {/* '.' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x2E, 0x2E},
53 {/* '/' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x2F, 0x2F},
54 {/* '0' */ _ASCII_GRAPH | _ASCII_DIGIT | _ASCII_XDIGIT, 0x30, 0x30},
55 {/* '1' */ _ASCII_GRAPH | _ASCII_DIGIT | _ASCII_XDIGIT, 0x31, 0x31},
56 {/* '2' */ _ASCII_GRAPH | _ASCII_DIGIT | _ASCII_XDIGIT, 0x32, 0x32},
57 {/* '3' */ _ASCII_GRAPH | _ASCII_DIGIT | _ASCII_XDIGIT, 0x33, 0x33},
58 {/* '4' */ _ASCII_GRAPH | _ASCII_DIGIT | _ASCII_XDIGIT, 0x34, 0x34},
59 {/* '5' */ _ASCII_GRAPH | _ASCII_DIGIT | _ASCII_XDIGIT, 0x35, 0x35},
60 {/* '6' */ _ASCII_GRAPH | _ASCII_DIGIT | _ASCII_XDIGIT, 0x36, 0x36},
61 {/* '7' */ _ASCII_GRAPH | _ASCII_DIGIT | _ASCII_XDIGIT, 0x37, 0x37},
62 {/* '8' */ _ASCII_GRAPH | _ASCII_DIGIT | _ASCII_XDIGIT, 0x38, 0x38},
63 {/* '9' */ _ASCII_GRAPH | _ASCII_DIGIT | _ASCII_XDIGIT, 0x39, 0x39},
64 {/* ':' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x3A, 0x3A},
65 {/* ';' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x3B, 0x3B},
66 {/* '<' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x3C, 0x3C},
67 {/* '=' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x3D, 0x3D},
68 {/* '>' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x3E, 0x3E},
69 {/* '?' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x3F, 0x3F},
70 {/* '@' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x40, 0x40},
71 {/* 'A' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER | _ASCII_XDIGIT, 0x41, 0x61},
72 {/* 'B' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER | _ASCII_XDIGIT, 0x42, 0x62},
73 {/* 'C' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER | _ASCII_XDIGIT, 0x43, 0x63},
74 {/* 'D' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER | _ASCII_XDIGIT, 0x44, 0x64},
75 {/* 'E' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER | _ASCII_XDIGIT, 0x45, 0x65},
76 {/* 'F' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER | _ASCII_XDIGIT, 0x46, 0x66},
77 {/* 'G' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x47, 0x67},
78 {/* 'H' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x48, 0x68},
79 {/* 'I' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x49, 0x69},
80 {/* 'J' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x4A, 0x6A},
81 {/* 'K' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x4B, 0x6B},
82 {/* 'L' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x4C, 0x6C},
83 {/* 'M' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x4D, 0x6D},
84 {/* 'N' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x4E, 0x6E},
85 {/* 'O' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x4F, 0x6F},
86 {/* 'P' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x50, 0x70},
87 {/* 'Q' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x51, 0x71},
88 {/* 'R' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x52, 0x72},
89 {/* 'S' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x53, 0x73},
90 {/* 'T' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x54, 0x74},
91 {/* 'U' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x55, 0x75},
92 {/* 'V' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x56, 0x76},
93 {/* 'W' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x57, 0x77},
94 {/* 'X' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x58, 0x78},
95 {/* 'Y' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x59, 0x79},
96 {/* 'Z' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_UPPER, 0x5A, 0x7A},
97 {/* '[' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x5B, 0x5B},
98 {/* '\' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x5C, 0x5C},
99 {/* ']' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x5D, 0x5D},
100 {/* '^' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x5E, 0x5E},
101 {/* '_' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x5F, 0x5F},
102 {/* '`' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x60, 0x60},
103 {/* 'a' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER | _ASCII_XDIGIT, 0x41, 0x61},
104 {/* 'b' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER | _ASCII_XDIGIT, 0x42, 0x62},
105 {/* 'c' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER | _ASCII_XDIGIT, 0x43, 0x63},
106 {/* 'd' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER | _ASCII_XDIGIT, 0x44, 0x64},
107 {/* 'e' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER | _ASCII_XDIGIT, 0x45, 0x65},
108 {/* 'f' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER | _ASCII_XDIGIT, 0x46, 0x66},
109 {/* 'g' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x47, 0x67},
110 {/* 'h' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x48, 0x68},
111 {/* 'i' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x49, 0x69},
112 {/* 'j' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x4A, 0x6A},
113 {/* 'k' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x4B, 0x6B},
114 {/* 'l' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x4C, 0x6C},
115 {/* 'm' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x4D, 0x6D},
116 {/* 'n' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x4E, 0x6E},
117 {/* 'o' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x4F, 0x6F},
118 {/* 'p' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x50, 0x70},
119 {/* 'q' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x51, 0x71},
120 {/* 'r' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x52, 0x72},
121 {/* 's' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x53, 0x73},
122 {/* 't' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x54, 0x74},
123 {/* 'u' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x55, 0x75},
124 {/* 'v' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x56, 0x76},
125 {/* 'w' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x57, 0x77},
126 {/* 'x' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x58, 0x78},
127 {/* 'y' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x59, 0x79},
128 {/* 'z' */ _ASCII_GRAPH | _ASCII_ALPHA | _ASCII_LOWER, 0x5A, 0x7A},
129 {/* '{' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x7B, 0x7B},
130 {/* '|' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x7C, 0x7C},
131 {/* '}' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x7D, 0x7D},
132 {/* '~' */ _ASCII_GRAPH | _ASCII_PUNCT, 0x7E, 0x7E},
133 {/* DEL */ _ASCII_CNTRL, 0x7F, 0x7F},
134 {0x00, 0x80, 0x80},
135 {0x00, 0x81, 0x81},
136 {0x00, 0x82, 0x82},
137 {0x00, 0x83, 0x83},
138 {0x00, 0x84, 0x84},
139 {0x00, 0x85, 0x85},
140 {0x00, 0x86, 0x86},
141 {0x00, 0x87, 0x87},
142 {0x00, 0x88, 0x88},
143 {0x00, 0x89, 0x89},
144 {0x00, 0x8A, 0x8A},
145 {0x00, 0x8B, 0x8B},
146 {0x00, 0x8C, 0x8C},
147 {0x00, 0x8D, 0x8D},
148 {0x00, 0x8E, 0x8E},
149 {0x00, 0x8F, 0x8F},
150 {0x00, 0x90, 0x90},
151 {0x00, 0x91, 0x91},
152 {0x00, 0x92, 0x92},
153 {0x00, 0x93, 0x93},
154 {0x00, 0x94, 0x94},
155 {0x00, 0x95, 0x95},
156 {0x00, 0x96, 0x96},
157 {0x00, 0x97, 0x97},
158 {0x00, 0x98, 0x98},
159 {0x00, 0x99, 0x99},
160 {0x00, 0x9A, 0x9A},
161 {0x00, 0x9B, 0x9B},
162 {0x00, 0x9C, 0x9C},
163 {0x00, 0x9D, 0x9D},
164 {0x00, 0x9E, 0x9E},
165 {0x00, 0x9F, 0x9F},
166 {0x00, 0xA0, 0xA0},
167 {0x00, 0xA1, 0xA1},
168 {0x00, 0xA2, 0xA2},
169 {0x00, 0xA3, 0xA3},
170 {0x00, 0xA4, 0xA4},
171 {0x00, 0xA5, 0xA5},
172 {0x00, 0xA6, 0xA6},
173 {0x00, 0xA7, 0xA7},
174 {0x00, 0xA8, 0xA8},
175 {0x00, 0xA9, 0xA9},
176 {0x00, 0xAA, 0xAA},
177 {0x00, 0xAB, 0xAB},
178 {0x00, 0xAC, 0xAC},
179 {0x00, 0xAD, 0xAD},
180 {0x00, 0xAE, 0xAE},
181 {0x00, 0xAF, 0xAF},
182 {0x00, 0xB0, 0xB0},
183 {0x00, 0xB1, 0xB1},
184 {0x00, 0xB2, 0xB2},
185 {0x00, 0xB3, 0xB3},
186 {0x00, 0xB4, 0xB4},
187 {0x00, 0xB5, 0xB5},
188 {0x00, 0xB6, 0xB6},
189 {0x00, 0xB7, 0xB7},
190 {0x00, 0xB8, 0xB8},
191 {0x00, 0xB9, 0xB9},
192 {0x00, 0xBA, 0xBA},
193 {0x00, 0xBB, 0xBB},
194 {0x00, 0xBC, 0xBC},
195 {0x00, 0xBD, 0xBD},
196 {0x00, 0xBE, 0xBE},
197 {0x00, 0xBF, 0xBF},
198 {0x00, 0xC0, 0xC0},
199 {0x00, 0xC1, 0xC1},
200 {0x00, 0xC2, 0xC2},
201 {0x00, 0xC3, 0xC3},
202 {0x00, 0xC4, 0xC4},
203 {0x00, 0xC5, 0xC5},
204 {0x00, 0xC6, 0xC6},
205 {0x00, 0xC7, 0xC7},
206 {0x00, 0xC8, 0xC8},
207 {0x00, 0xC9, 0xC9},
208 {0x00, 0xCA, 0xCA},
209 {0x00, 0xCB, 0xCB},
210 {0x00, 0xCC, 0xCC},
211 {0x00, 0xCD, 0xCD},
212 {0x00, 0xCE, 0xCE},
213 {0x00, 0xCF, 0xCF},
214 {0x00, 0xD0, 0xD0},
215 {0x00, 0xD1, 0xD1},
216 {0x00, 0xD2, 0xD2},
217 {0x00, 0xD3, 0xD3},
218 {0x00, 0xD4, 0xD4},
219 {0x00, 0xD5, 0xD5},
220 {0x00, 0xD6, 0xD6},
221 {0x00, 0xD7, 0xD7},
222 {0x00, 0xD8, 0xD8},
223 {0x00, 0xD9, 0xD9},
224 {0x00, 0xDA, 0xDA},
225 {0x00, 0xDB, 0xDB},
226 {0x00, 0xDC, 0xDC},
227 {0x00, 0xDD, 0xDD},
228 {0x00, 0xDE, 0xDE},
229 {0x00, 0xDF, 0xDF},
230 {0x00, 0xE0, 0xE0},
231 {0x00, 0xE1, 0xE1},
232 {0x00, 0xE2, 0xE2},
233 {0x00, 0xE3, 0xE3},
234 {0x00, 0xE4, 0xE4},
235 {0x00, 0xE5, 0xE5},
236 {0x00, 0xE6, 0xE6},
237 {0x00, 0xE7, 0xE7},
238 {0x00, 0xE8, 0xE8},
239 {0x00, 0xE9, 0xE9},
240 {0x00, 0xEA, 0xEA},
241 {0x00, 0xEB, 0xEB},
242 {0x00, 0xEC, 0xEC},
243 {0x00, 0xED, 0xED},
244 {0x00, 0xEE, 0xEE},
245 {0x00, 0xEF, 0xEF},
246 {0x00, 0xF0, 0xF0},
247 {0x00, 0xF1, 0xF1},
248 {0x00, 0xF2, 0xF2},
249 {0x00, 0xF3, 0xF3},
250 {0x00, 0xF4, 0xF4},
251 {0x00, 0xF5, 0xF5},
252 {0x00, 0xF6, 0xF6},
253 {0x00, 0xF7, 0xF7},
254 {0x00, 0xF8, 0xF8},
255 {0x00, 0xF9, 0xF9},
256 {0x00, 0xFA, 0xFA},
257 {0x00, 0xFB, 0xFB},
258 {0x00, 0xFC, 0xFC},
259 {0x00, 0xFD, 0xFD},
260 {0x00, 0xFE, 0xFE},
261 {0x00, 0xFF, 0xFF},
262};
_ascii_entry_t _ascii_table[UINT8_MAX+1]
Definition ascii_table.c:5
@ _ASCII_XDIGIT
Definition ascii_table.h:9
@ _ASCII_SPACE
Definition ascii_table.h:14
@ _ASCII_GRAPH
Definition ascii_table.h:12
@ _ASCII_ALPHA
Definition ascii_table.h:7
@ _ASCII_CNTRL
Definition ascii_table.h:11
@ _ASCII_DIGIT
Definition ascii_table.h:8
@ _ASCII_BLANK
Definition ascii_table.h:10
@ _ASCII_LOWER
Definition ascii_table.h:15
@ _ASCII_UPPER
Definition ascii_table.h:16
@ _ASCII_PUNCT
Definition ascii_table.h:13
#define UINT8_MAX
Definition stdint.h:62
Definition ascii_table.h:20