OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [arch/] [s390/] [kernel/] [ebcdic.c] - Blame information for rev 63

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 63 marcus.erl
/*
2
 *  arch/s390/kernel/ebcdic.c
3
 *    ECBDIC -> ASCII, ASCII -> ECBDIC,
4
 *    upper to lower case (EBCDIC) conversion tables.
5
 *
6
 *  S390 version
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>
10
 */
11
 
12
#include <linux/module.h>
13
#include <asm/types.h>
14
#include <asm/ebcdic.h>
15
 
16
/*
17
 * ASCII (IBM PC 437)  -> EBCDIC 037
18
 */
19
__u8 _ascebc[256] =
20
{
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 */
24
 /*              ->NL                               */
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,
55
 /*80*/
56
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
57
 /*88*/
58
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
59
 /*90*/
60
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
61
 /*98*/
62
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
63
 /*A0*/
64
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
65
 /*A8*/
66
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
67
 /*B0*/
68
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
69
 /*B8*/
70
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
71
 /*C0*/
72
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
73
 /*C8*/
74
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
75
 /*D0*/
76
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
77
 /*D8*/
78
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
79
 /*E0        sz                                         */
80
     0x3F, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
81
 /*E8*/
82
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
83
 /*F0*/
84
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
85
 /*F8*/
86
     0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x3F, 0xFF
87
};
88
 
89
/*
90
 * EBCDIC 037 -> ASCII (IBM PC 437)
91
 */
92
__u8 _ebcasc[256] =
93
{
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
99
                                  -ENP  ->LF             */
100
          0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07,
101
 /* 0x18   CAN    EM  -UBS  -CU1  -IFS  -IGS  -IRS  -ITB
102
                                                    -IUS */
103
          0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
104
 /* 0x20   -DS  -SOS    FS  -WUS  -BYP    LF   ETB   ESC
105
                                  -INP                   */
106
          0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B,
107
 /* 0x28   -SA  -SFE   -SM  -CSP  -MFA   ENQ   ACK   BEL
108
                       -SW                               */
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,
116
 /* 0x48                       .     <     (     +     | */
117
          0x87, 0xA4, 0x9B, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
118
 /* 0x50     &                                      ---- */
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
162
};
163
 
164
 
165
/*
166
 * ASCII (IBM PC 437)  -> EBCDIC 500
167
 */
168
__u8 _ascebc_500[256] =
169
{
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 */
173
 /*              ->NL                               */
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,
204
 /*80*/
205
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
206
 /*88*/
207
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
208
 /*90*/
209
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
210
 /*98*/
211
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
212
 /*A0*/
213
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
214
 /*A8*/
215
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
216
 /*B0*/
217
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
218
 /*B8*/
219
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
220
 /*C0*/
221
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
222
 /*C8*/
223
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
224
 /*D0*/
225
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
226
 /*D8*/
227
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
228
 /*E0        sz                                         */
229
     0x3F, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
230
 /*E8*/
231
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
232
 /*F0*/
233
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
234
 /*F8*/
235
     0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x3F, 0xFF
236
};
237
 
238
/*
239
 * EBCDIC 500 -> ASCII (IBM PC 437)
240
 */
241
__u8 _ebcasc_500[256] =
242
{
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
248
                                  -ENP  ->LF             */
249
          0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07,
250
 /* 0x18   CAN    EM  -UBS  -CU1  -IFS  -IGS  -IRS  -ITB
251
                                                    -IUS */
252
          0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
253
 /* 0x20   -DS  -SOS    FS  -WUS  -BYP    LF   ETB   ESC
254
                                  -INP                   */
255
          0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B,
256
 /* 0x28   -SA  -SFE   -SM  -CSP  -MFA   ENQ   ACK   BEL
257
                       -SW                               */
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,
267
 /* 0x50     &                                      ---- */
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
311
};
312
 
313
 
314
/*
315
 * EBCDIC 037/500 conversion table:
316
 * from upper to lower case
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
 * EBCDIC 037/500 conversion table:
357
 * from lower to upper case
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
 
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);
401
 

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.