1
2
3
4
5
6
7
8
9
10
11
12#include <linux/types.h>
13#include <linux/export.h>
14#include <asm/ebcdic.h>
15
16
17
18
19__u8 _ascebc[256] =
20{
21
22 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F,
23
24
25 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
26
27 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26,
28
29
30 0x18, 0x19, 0x3F, 0x27, 0x22, 0x1D, 0x1E, 0x1F,
31
32 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D,
33
34 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
35
36 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
37
38 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
39
40 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
41
42 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
43
44 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6,
45
46 0xE7, 0xE8, 0xE9, 0xBA, 0xE0, 0xBB, 0xB0, 0x6D,
47
48 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
49
50 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
51
52 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
53
54 0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07,
55
56 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
57
58 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
59
60 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
61
62 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
63
64 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
65
66 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
67
68 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
69
70 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
71
72 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
73
74 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
75
76 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
77
78 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
79
80 0x3F, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
81
82 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
83
84 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
85
86 0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x3F, 0xFF
87};
88
89
90
91
92__u8 _ebcasc[256] =
93{
94
95 0x00, 0x01, 0x02, 0x03, 0x07, 0x09, 0x07, 0x7F,
96
97 0x07, 0x07, 0x07, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
98
99
100 0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07,
101
102
103 0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
104
105
106 0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B,
107
108
109 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07,
110
111 0x07, 0x07, 0x16, 0x07, 0x07, 0x07, 0x07, 0x04,
112
113 0x07, 0x07, 0x07, 0x07, 0x14, 0x15, 0x07, 0x1A,
114
115 0x20, 0xFF, 0x83, 0x84, 0x85, 0xA0, 0x07, 0x86,
116
117 0x87, 0xA4, 0x9B, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
118
119 0x26, 0x82, 0x88, 0x89, 0x8A, 0xA1, 0x8C, 0x07,
120
121 0x8D, 0xE1, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0xAA,
122
123 0x2D, 0x2F, 0x07, 0x8E, 0x07, 0x07, 0x07, 0x8F,
124
125 0x80, 0xA5, 0x07, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
126
127 0x07, 0x90, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
128
129 0x70, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
130
131 0x07, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
132
133 0x68, 0x69, 0xAE, 0xAF, 0x07, 0x07, 0x07, 0xF1,
134
135 0xF8, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70,
136
137 0x71, 0x72, 0xA6, 0xA7, 0x91, 0x07, 0x92, 0x07,
138
139 0xE6, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
140
141 0x79, 0x7A, 0xAD, 0xAB, 0x07, 0x07, 0x07, 0x07,
142
143 0x5E, 0x9C, 0x9D, 0xFA, 0x07, 0x07, 0x07, 0xAC,
144
145 0xAB, 0x07, 0x5B, 0x5D, 0x07, 0x07, 0x07, 0x07,
146
147 0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
148
149 0x48, 0x49, 0x07, 0x93, 0x94, 0x95, 0xA2, 0x07,
150
151 0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50,
152
153 0x51, 0x52, 0x07, 0x96, 0x81, 0x97, 0xA3, 0x98,
154
155 0x5C, 0xF6, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
156
157 0x59, 0x5A, 0xFD, 0x07, 0x99, 0x07, 0x07, 0x07,
158
159 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
160
161 0x38, 0x39, 0x07, 0x07, 0x9A, 0x07, 0x07, 0x07
162};
163
164
165
166
167
168__u8 _ascebc_500[256] =
169{
170
171 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F,
172
173
174 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
175
176 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26,
177
178
179 0x18, 0x19, 0x3F, 0x27, 0x22, 0x1D, 0x1E, 0x1F,
180
181 0x40, 0x4F, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D,
182
183 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
184
185 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
186
187 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
188
189 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
190
191 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
192
193 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6,
194
195 0xE7, 0xE8, 0xE9, 0x4A, 0xE0, 0x5A, 0x5F, 0x6D,
196
197 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
198
199 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
200
201 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
202
203 0xA7, 0xA8, 0xA9, 0xC0, 0xBB, 0xD0, 0xA1, 0x07,
204
205 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
206
207 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
208
209 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
210
211 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
212
213 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
214
215 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
216
217 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
218
219 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
220
221 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
222
223 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
224
225 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
226
227 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
228
229 0x3F, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
230
231 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
232
233 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
234
235 0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x3F, 0xFF
236};
237
238
239
240
241__u8 _ebcasc_500[256] =
242{
243
244 0x00, 0x01, 0x02, 0x03, 0x07, 0x09, 0x07, 0x7F,
245
246 0x07, 0x07, 0x07, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
247
248
249 0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07,
250
251
252 0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
253
254
255 0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B,
256
257
258 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07,
259
260 0x07, 0x07, 0x16, 0x07, 0x07, 0x07, 0x07, 0x04,
261
262 0x07, 0x07, 0x07, 0x07, 0x14, 0x15, 0x07, 0x1A,
263
264 0x20, 0xFF, 0x83, 0x84, 0x85, 0xA0, 0x07, 0x86,
265
266 0x87, 0xA4, 0x5B, 0x2E, 0x3C, 0x28, 0x2B, 0x21,
267
268 0x26, 0x82, 0x88, 0x89, 0x8A, 0xA1, 0x8C, 0x07,
269
270 0x8D, 0xE1, 0x5D, 0x24, 0x2A, 0x29, 0x3B, 0x5E,
271
272 0x2D, 0x2F, 0x07, 0x8E, 0x07, 0x07, 0x07, 0x8F,
273
274 0x80, 0xA5, 0x07, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
275
276 0x07, 0x90, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
277
278 0x70, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
279
280 0x07, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
281
282 0x68, 0x69, 0xAE, 0xAF, 0x07, 0x07, 0x07, 0xF1,
283
284 0xF8, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70,
285
286 0x71, 0x72, 0xA6, 0xA7, 0x91, 0x07, 0x92, 0x07,
287
288 0xE6, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
289
290 0x79, 0x7A, 0xAD, 0xAB, 0x07, 0x07, 0x07, 0x07,
291
292 0x9B, 0x9C, 0x9D, 0xFA, 0x07, 0x07, 0x07, 0xAC,
293
294 0xAB, 0x07, 0xAA, 0x7C, 0x07, 0x07, 0x07, 0x07,
295
296 0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
297
298 0x48, 0x49, 0x07, 0x93, 0x94, 0x95, 0xA2, 0x07,
299
300 0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50,
301
302 0x51, 0x52, 0x07, 0x96, 0x81, 0x97, 0xA3, 0x98,
303
304 0x5C, 0xF6, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
305
306 0x59, 0x5A, 0xFD, 0x07, 0x99, 0x07, 0x07, 0x07,
307
308 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
309
310 0x38, 0x39, 0x07, 0x07, 0x9A, 0x07, 0x07, 0x07
311};
312
313
314
315
316
317
318__u8 _ebc_tolower[256] =
319{
320 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
321 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
322 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
323 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
324 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
325 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
326 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
327 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
328 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
329 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
330 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
331 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
332 0x60, 0x61, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
333 0x48, 0x49, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
334 0x70, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
335 0x58, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
336 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
337 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,
338 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
339 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9C, 0x9F,
340 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
341 0xA8, 0xA9, 0xAA, 0xAB, 0x8C, 0x8D, 0x8E, 0xAF,
342 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
343 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
344 0xC0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
345 0x88, 0x89, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
346 0xD0, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
347 0x98, 0x99, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
348 0xE0, 0xE1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
349 0xA8, 0xA9, 0xEA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
350 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
351 0xF8, 0xF9, 0xFA, 0xDB, 0xDC, 0xDD, 0xDE, 0xFF
352};
353
354
355
356
357
358
359__u8 _ebc_toupper[256] =
360{
361 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
362 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
363 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
364 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
365 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
366 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
367 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
368 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
369 0x40, 0x41, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
370 0x68, 0x69, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
371 0x50, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
372 0x78, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
373 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
374 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
375 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
376 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
377 0x80, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
378 0xC8, 0xC9, 0x8A, 0x8B, 0xAC, 0xAD, 0xAE, 0x8F,
379 0x90, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
380 0xD8, 0xD9, 0x9A, 0x9B, 0x9E, 0x9D, 0x9E, 0x9F,
381 0xA0, 0xA1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
382 0xE8, 0xE9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
383 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
384 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
385 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
386 0xC8, 0xC9, 0xCA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
387 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
388 0xD8, 0xD9, 0xDA, 0xFB, 0xFC, 0xFD, 0xFE, 0xDF,
389 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
390 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
391 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
392 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
393};
394
395EXPORT_SYMBOL(_ascebc_500);
396EXPORT_SYMBOL(_ebcasc_500);
397EXPORT_SYMBOL(_ascebc);
398EXPORT_SYMBOL(_ebcasc);
399EXPORT_SYMBOL(_ebc_tolower);
400EXPORT_SYMBOL(_ebc_toupper);
401
402