2
* arch/s390/kernel/ebcdic.c
3
* ECBDIC -> ASCII, ASCII -> ECBDIC,
4
* upper to lower case (EBCDIC) conversion tables.
7
* Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
8
* Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
9
* Martin Peschke <peschke@fh-brandenburg.de>
12
#include <linux/module.h>
13
#include <asm/types.h>
14
#include <asm/ebcdic.h>
17
* ASCII (IBM PC 437) -> EBCDIC 037
21
/*00 NUL SOH STX ETX EOT ENQ ACK BEL */
22
0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F,
23
/*08 BS HT LF VT FF CR SO SI */
25
0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
26
/*10 DLE DC1 DC2 DC3 DC4 NAK SYN ETB */
27
0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26,
28
/*18 CAN EM SUB ESC FS GS RS US */
29
/* ->IGS ->IRS ->IUS */
30
0x18, 0x19, 0x3F, 0x27, 0x22, 0x1D, 0x1E, 0x1F,
31
/*20 SP ! " # $ % & ' */
32
0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D,
33
/*28 ( ) * + , - . / */
34
0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
35
/*30 0 1 2 3 4 5 6 7 */
36
0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
37
/*38 8 9 : ; < = > ? */
38
0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
39
/*40 @ A B C D E F G */
40
0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
41
/*48 H I J K L M N O */
42
0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
43
/*50 P Q R S T U V W */
44
0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6,
45
/*58 X Y Z [ \ ] ^ _ */
46
0xE7, 0xE8, 0xE9, 0xBA, 0xE0, 0xBB, 0xB0, 0x6D,
47
/*60 ` a b c d e f g */
48
0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
49
/*68 h i j k l m n o */
50
0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
51
/*70 p q r s t u v w */
52
0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
53
/*78 x y z { | } ~ DL */
54
0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07,
56
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
58
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
60
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
62
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
64
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
66
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
68
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
70
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
72
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
74
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
76
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
78
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
80
0x3F, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
82
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
84
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
86
0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x3F, 0xFF
90
* EBCDIC 037 -> ASCII (IBM PC 437)
94
/* 0x00 NUL SOH STX ETX *SEL HT *RNL DEL */
95
0x00, 0x01, 0x02, 0x03, 0x07, 0x09, 0x07, 0x7F,
96
/* 0x08 -GE -SPS -RPT VT FF CR SO SI */
97
0x07, 0x07, 0x07, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
98
/* 0x10 DLE DC1 DC2 DC3 -RES -NL BS -POC
100
0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07,
101
/* 0x18 CAN EM -UBS -CU1 -IFS -IGS -IRS -ITB
103
0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
104
/* 0x20 -DS -SOS FS -WUS -BYP LF ETB ESC
106
0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B,
107
/* 0x28 -SA -SFE -SM -CSP -MFA ENQ ACK BEL
109
0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07,
110
/* 0x30 ---- ---- SYN -IR -PP -TRN -NBS EOT */
111
0x07, 0x07, 0x16, 0x07, 0x07, 0x07, 0x07, 0x04,
112
/* 0x38 -SBS -IT -RFF -CU3 DC4 NAK ---- SUB */
113
0x07, 0x07, 0x07, 0x07, 0x14, 0x15, 0x07, 0x1A,
114
/* 0x40 SP RSP �� ---- */
115
0x20, 0xFF, 0x83, 0x84, 0x85, 0xA0, 0x07, 0x86,
117
0x87, 0xA4, 0x9B, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
119
0x26, 0x82, 0x88, 0x89, 0x8A, 0xA1, 0x8C, 0x07,
120
/* 0x58 �� ! $ * ) ; */
121
0x8D, 0xE1, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0xAA,
122
/* 0x60 - / ---- �� ---- ---- ---- */
123
0x2D, 0x2F, 0x07, 0x8E, 0x07, 0x07, 0x07, 0x8F,
124
/* 0x68 ---- , % _ > ? */
125
0x80, 0xA5, 0x07, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
126
/* 0x70 ---- ---- ---- ---- ---- ---- ---- */
127
0x07, 0x90, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
128
/* 0x78 * ` : # @ ' = " */
129
0x70, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
130
/* 0x80 * a b c d e f g */
131
0x07, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
132
/* 0x88 h i ---- ---- ---- */
133
0x68, 0x69, 0xAE, 0xAF, 0x07, 0x07, 0x07, 0xF1,
134
/* 0x90 �� j k l m n o p */
135
0xF8, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70,
136
/* 0x98 q r ---- ---- */
137
0x71, 0x72, 0xA6, 0xA7, 0x91, 0x07, 0x92, 0x07,
138
/* 0xA0 ~ s t u v w x */
139
0xE6, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
140
/* 0xA8 y z ---- ---- ---- ---- */
141
0x79, 0x7A, 0xAD, 0xAB, 0x07, 0x07, 0x07, 0x07,
142
/* 0xB0 ^ ---- �� ---- */
143
0x5E, 0x9C, 0x9D, 0xFA, 0x07, 0x07, 0x07, 0xAC,
144
/* 0xB8 ---- [ ] ---- ---- ---- ---- */
145
0xAB, 0x07, 0x5B, 0x5D, 0x07, 0x07, 0x07, 0x07,
146
/* 0xC0 { A B C D E F G */
147
0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
148
/* 0xC8 H I ---- �� ---- */
149
0x48, 0x49, 0x07, 0x93, 0x94, 0x95, 0xA2, 0x07,
150
/* 0xD0 } J K L M N O P */
151
0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50,
152
/* 0xD8 Q R ---- �� */
153
0x51, 0x52, 0x07, 0x96, 0x81, 0x97, 0xA3, 0x98,
154
/* 0xE0 \ S T U V W X */
155
0x5C, 0xF6, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
156
/* 0xE8 Y Z ---- �� ---- ---- ---- */
157
0x59, 0x5A, 0xFD, 0x07, 0x99, 0x07, 0x07, 0x07,
158
/* 0xF0 0 1 2 3 4 5 6 7 */
159
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
160
/* 0xF8 8 9 ---- ---- �� ---- ---- ---- */
161
0x38, 0x39, 0x07, 0x07, 0x9A, 0x07, 0x07, 0x07
166
* ASCII (IBM PC 437) -> EBCDIC 500
168
__u8 _ascebc_500[256] =
170
/*00 NUL SOH STX ETX EOT ENQ ACK BEL */
171
0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F,
172
/*08 BS HT LF VT FF CR SO SI */
174
0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
175
/*10 DLE DC1 DC2 DC3 DC4 NAK SYN ETB */
176
0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26,
177
/*18 CAN EM SUB ESC FS GS RS US */
178
/* ->IGS ->IRS ->IUS */
179
0x18, 0x19, 0x3F, 0x27, 0x22, 0x1D, 0x1E, 0x1F,
180
/*20 SP ! " # $ % & ' */
181
0x40, 0x4F, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D,
182
/*28 ( ) * + , - . / */
183
0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
184
/*30 0 1 2 3 4 5 6 7 */
185
0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
186
/*38 8 9 : ; < = > ? */
187
0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
188
/*40 @ A B C D E F G */
189
0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
190
/*48 H I J K L M N O */
191
0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
192
/*50 P Q R S T U V W */
193
0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6,
194
/*58 X Y Z [ \ ] ^ _ */
195
0xE7, 0xE8, 0xE9, 0x4A, 0xE0, 0x5A, 0x5F, 0x6D,
196
/*60 ` a b c d e f g */
197
0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
198
/*68 h i j k l m n o */
199
0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
200
/*70 p q r s t u v w */
201
0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
202
/*78 x y z { | } ~ DL */
203
0xA7, 0xA8, 0xA9, 0xC0, 0xBB, 0xD0, 0xA1, 0x07,
205
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
207
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
209
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
211
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
213
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
215
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
217
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
219
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
221
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
223
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
225
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
227
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
229
0x3F, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
231
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
233
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
235
0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x3F, 0xFF
239
* EBCDIC 500 -> ASCII (IBM PC 437)
241
__u8 _ebcasc_500[256] =
243
/* 0x00 NUL SOH STX ETX *SEL HT *RNL DEL */
244
0x00, 0x01, 0x02, 0x03, 0x07, 0x09, 0x07, 0x7F,
245
/* 0x08 -GE -SPS -RPT VT FF CR SO SI */
246
0x07, 0x07, 0x07, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
247
/* 0x10 DLE DC1 DC2 DC3 -RES -NL BS -POC
249
0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07,
250
/* 0x18 CAN EM -UBS -CU1 -IFS -IGS -IRS -ITB
252
0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
253
/* 0x20 -DS -SOS FS -WUS -BYP LF ETB ESC
255
0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B,
256
/* 0x28 -SA -SFE -SM -CSP -MFA ENQ ACK BEL
258
0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07,
259
/* 0x30 ---- ---- SYN -IR -PP -TRN -NBS EOT */
260
0x07, 0x07, 0x16, 0x07, 0x07, 0x07, 0x07, 0x04,
261
/* 0x38 -SBS -IT -RFF -CU3 DC4 NAK ---- SUB */
262
0x07, 0x07, 0x07, 0x07, 0x14, 0x15, 0x07, 0x1A,
263
/* 0x40 SP RSP �� ---- */
264
0x20, 0xFF, 0x83, 0x84, 0x85, 0xA0, 0x07, 0x86,
265
/* 0x48 [ . < ( + ! */
266
0x87, 0xA4, 0x5B, 0x2E, 0x3C, 0x28, 0x2B, 0x21,
268
0x26, 0x82, 0x88, 0x89, 0x8A, 0xA1, 0x8C, 0x07,
269
/* 0x58 �� ] $ * ) ; ^ */
270
0x8D, 0xE1, 0x5D, 0x24, 0x2A, 0x29, 0x3B, 0x5E,
271
/* 0x60 - / ---- �� ---- ---- ---- */
272
0x2D, 0x2F, 0x07, 0x8E, 0x07, 0x07, 0x07, 0x8F,
273
/* 0x68 ---- , % _ > ? */
274
0x80, 0xA5, 0x07, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
275
/* 0x70 ---- ---- ---- ---- ---- ---- ---- */
276
0x07, 0x90, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
277
/* 0x78 * ` : # @ ' = " */
278
0x70, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
279
/* 0x80 * a b c d e f g */
280
0x07, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
281
/* 0x88 h i ---- ---- ---- */
282
0x68, 0x69, 0xAE, 0xAF, 0x07, 0x07, 0x07, 0xF1,
283
/* 0x90 �� j k l m n o p */
284
0xF8, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70,
285
/* 0x98 q r ---- ---- */
286
0x71, 0x72, 0xA6, 0xA7, 0x91, 0x07, 0x92, 0x07,
287
/* 0xA0 ~ s t u v w x */
288
0xE6, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
289
/* 0xA8 y z ---- ---- ---- ---- */
290
0x79, 0x7A, 0xAD, 0xAB, 0x07, 0x07, 0x07, 0x07,
291
/* 0xB0 ---- �� ---- */
292
0x9B, 0x9C, 0x9D, 0xFA, 0x07, 0x07, 0x07, 0xAC,
293
/* 0xB8 ---- | ---- ---- ---- ---- */
294
0xAB, 0x07, 0xAA, 0x7C, 0x07, 0x07, 0x07, 0x07,
295
/* 0xC0 { A B C D E F G */
296
0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
297
/* 0xC8 H I ---- �� ---- */
298
0x48, 0x49, 0x07, 0x93, 0x94, 0x95, 0xA2, 0x07,
299
/* 0xD0 } J K L M N O P */
300
0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50,
301
/* 0xD8 Q R ---- �� */
302
0x51, 0x52, 0x07, 0x96, 0x81, 0x97, 0xA3, 0x98,
303
/* 0xE0 \ S T U V W X */
304
0x5C, 0xF6, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
305
/* 0xE8 Y Z ---- �� ---- ---- ---- */
306
0x59, 0x5A, 0xFD, 0x07, 0x99, 0x07, 0x07, 0x07,
307
/* 0xF0 0 1 2 3 4 5 6 7 */
308
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
309
/* 0xF8 8 9 ---- ---- �� ---- ---- ---- */
310
0x38, 0x39, 0x07, 0x07, 0x9A, 0x07, 0x07, 0x07
315
* EBCDIC 037/500 conversion table:
316
* from upper to lower case
318
__u8 _ebc_tolower[256] =
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
356
* EBCDIC 037/500 conversion table:
357
* from lower to upper case
359
__u8 _ebc_toupper[256] =
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
395
EXPORT_SYMBOL(_ascebc_500);
396
EXPORT_SYMBOL(_ebcasc_500);
397
EXPORT_SYMBOL(_ascebc);
398
EXPORT_SYMBOL(_ebcasc);
399
EXPORT_SYMBOL(_ebc_tolower);
400
EXPORT_SYMBOL(_ebc_toupper);