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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [s390x/] [kernel/] [ebcdic.c] - Blame information for rev 1779

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
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
 
15
/*
16
 * ASCII (IBM PC 437)  -> EBCDIC 037
17
 */
18
__u8 _ascebc[256] =
19
{
20
 /*00 NUL   SOH   STX   ETX   EOT   ENQ   ACK   BEL */
21
     0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F,
22
 /*08  BS    HT    LF    VT    FF    CR    SO    SI */
23
 /*              ->NL                               */
24
     0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
25
 /*10 DLE   DC1   DC2   DC3   DC4   NAK   SYN   ETB */
26
     0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26,
27
 /*18 CAN    EM   SUB   ESC    FS    GS    RS    US */
28
 /*                               ->IGS ->IRS ->IUS */
29
     0x18, 0x19, 0x3F, 0x27, 0x22, 0x1D, 0x1E, 0x1F,
30
 /*20  SP     !     "     #     $     %     &     ' */
31
     0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D,
32
 /*28   (     )     *     +     ,     -    .      / */
33
     0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
34
 /*30   0     1     2     3     4     5     6     7 */
35
     0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
36
 /*38   8     9     :     ;     <     =     >     ? */
37
     0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
38
 /*40   @     A     B     C     D     E     F     G */
39
     0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
40
 /*48   H     I     J     K     L     M     N     O */
41
     0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
42
 /*50   P     Q     R     S     T     U     V     W */
43
     0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6,
44
 /*58   X     Y     Z     [     \     ]     ^     _ */
45
     0xE7, 0xE8, 0xE9, 0xBA, 0xE0, 0xBB, 0xB0, 0x6D,
46
 /*60   `     a     b     c     d     e     f     g */
47
     0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
48
 /*68   h     i     j     k     l     m     n     o */
49
     0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
50
 /*70   p     q     r     s     t     u     v     w */
51
     0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
52
 /*78   x     y     z     {     |     }     ~    DL */
53
     0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07,
54
 /*80*/
55
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
56
 /*88*/
57
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
58
 /*90*/
59
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
60
 /*98*/
61
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
62
 /*A0*/
63
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
64
 /*A8*/
65
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
66
 /*B0*/
67
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
68
 /*B8*/
69
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
70
 /*C0*/
71
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
72
 /*C8*/
73
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
74
 /*D0*/
75
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
76
 /*D8*/
77
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
78
 /*E0        sz                                         */
79
     0x3F, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
80
 /*E8*/
81
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
82
 /*F0*/
83
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
84
 /*F8*/
85
     0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x3F, 0xFF
86
};
87
 
88
/*
89
 * EBCDIC 037 -> ASCII (IBM PC 437)
90
 */
91
__u8 _ebcasc[256] =
92
{
93
 /* 0x00   NUL   SOH   STX   ETX  *SEL    HT  *RNL   DEL */
94
          0x00, 0x01, 0x02, 0x03, 0x07, 0x09, 0x07, 0x7F,
95
 /* 0x08   -GE  -SPS  -RPT    VT    FF    CR    SO    SI */
96
          0x07, 0x07, 0x07, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
97
 /* 0x10   DLE   DC1   DC2   DC3  -RES   -NL    BS  -POC
98
                                  -ENP  ->LF             */
99
          0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07,
100
 /* 0x18   CAN    EM  -UBS  -CU1  -IFS  -IGS  -IRS  -ITB
101
                                                    -IUS */
102
          0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
103
 /* 0x20   -DS  -SOS    FS  -WUS  -BYP    LF   ETB   ESC
104
                                  -INP                   */
105
          0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B,
106
 /* 0x28   -SA  -SFE   -SM  -CSP  -MFA   ENQ   ACK   BEL
107
                       -SW                               */
108
          0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07,
109
 /* 0x30  ----  ----   SYN   -IR   -PP  -TRN  -NBS   EOT */
110
          0x07, 0x07, 0x16, 0x07, 0x07, 0x07, 0x07, 0x04,
111
 /* 0x38  -SBS   -IT  -RFF  -CU3   DC4   NAK  ----   SUB */
112
          0x07, 0x07, 0x07, 0x07, 0x14, 0x15, 0x07, 0x1A,
113
 /* 0x40    SP   RSP                         ----       */
114
          0x20, 0xFF, 0x83, 0x84, 0x85, 0xA0, 0x07, 0x86,
115
 /* 0x48                       .     <     (     +     | */
116
          0x87, 0xA4, 0x9B, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
117
 /* 0x50     &                                      ---- */
118
          0x26, 0x82, 0x88, 0x89, 0x8A, 0xA1, 0x8C, 0x07,
119
 /* 0x58                !     $     *     )     ;       */
120
          0x8D, 0xE1, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0xAA,
121
 /* 0x60     -     /  ----       ----  ----  ----       */
122
          0x2D, 0x2F, 0x07, 0x8E, 0x07, 0x07, 0x07, 0x8F,
123
 /* 0x68              ----     ,     %     _     >     ? */
124
          0x80, 0xA5, 0x07, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
125
 /* 0x70  ----        ----  ----  ----  ----  ----  ---- */
126
          0x07, 0x90, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
127
 /* 0x78     *     `     :     #     @     '     =     " */
128
          0x70, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
129
 /* 0x80     *     a     b     c     d     e     f     g */
130
          0x07, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
131
 /* 0x88     h     i              ----  ----  ----       */
132
          0x68, 0x69, 0xAE, 0xAF, 0x07, 0x07, 0x07, 0xF1,
133
 /* 0x90          j     k     l     m     n     o     p */
134
          0xF8, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70,
135
 /* 0x98     q     r                    ----        ---- */
136
          0x71, 0x72, 0xA6, 0xA7, 0x91, 0x07, 0x92, 0x07,
137
 /* 0xA0           ~     s     t     u     v     w     x */
138
          0xE6, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
139
 /* 0xA8     y     z              ----  ----  ----  ---- */
140
          0x79, 0x7A, 0xAD, 0xAB, 0x07, 0x07, 0x07, 0x07,
141
 /* 0xB0     ^                    ----       ----       */
142
          0x5E, 0x9C, 0x9D, 0xFA, 0x07, 0x07, 0x07, 0xAC,
143
 /* 0xB8        ----     [     ]  ----  ----  ----  ---- */
144
          0xAB, 0x07, 0x5B, 0x5D, 0x07, 0x07, 0x07, 0x07,
145
 /* 0xC0     {     A     B     C     D     E     F     G */
146
          0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
147
 /* 0xC8     H     I  ----                         ---- */
148
          0x48, 0x49, 0x07, 0x93, 0x94, 0x95, 0xA2, 0x07,
149
 /* 0xD0     }     J     K     L     M     N     O     P */
150
          0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50,
151
 /* 0xD8     Q     R  ----                              */
152
          0x51, 0x52, 0x07, 0x96, 0x81, 0x97, 0xA3, 0x98,
153
 /* 0xE0     \           S     T     U     V     W     X */
154
          0x5C, 0xF6, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
155
 /* 0xE8     Y     Z        ----       ----  ----  ---- */
156
          0x59, 0x5A, 0xFD, 0x07, 0x99, 0x07, 0x07, 0x07,
157
 /* 0xF0     0     1     2     3     4     5     6     7 */
158
          0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
159
 /* 0xF8     8     9  ----  ----       ----  ----  ---- */
160
          0x38, 0x39, 0x07, 0x07, 0x9A, 0x07, 0x07, 0x07
161
};
162
 
163
 
164
/*
165
 * ASCII (IBM PC 437)  -> EBCDIC 500
166
 */
167
__u8 _ascebc_500[256] =
168
{
169
 /*00 NUL   SOH   STX   ETX   EOT   ENQ   ACK   BEL */
170
     0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F,
171
 /*08  BS    HT    LF    VT    FF    CR    SO    SI */
172
 /*              ->NL                               */
173
     0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
174
 /*10 DLE   DC1   DC2   DC3   DC4   NAK   SYN   ETB */
175
     0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26,
176
 /*18 CAN    EM   SUB   ESC    FS    GS    RS    US */
177
 /*                               ->IGS ->IRS ->IUS */
178
     0x18, 0x19, 0x3F, 0x27, 0x22, 0x1D, 0x1E, 0x1F,
179
 /*20  SP     !     "     #     $     %     &     ' */
180
     0x40, 0x4F, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D,
181
 /*28   (     )     *     +     ,     -    .      / */
182
     0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
183
 /*30   0     1     2     3     4     5     6     7 */
184
     0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
185
 /*38   8     9     :     ;     <     =     >     ? */
186
     0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
187
 /*40   @     A     B     C     D     E     F     G */
188
     0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
189
 /*48   H     I     J     K     L     M     N     O */
190
     0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
191
 /*50   P     Q     R     S     T     U     V     W */
192
     0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6,
193
 /*58   X     Y     Z     [     \     ]     ^     _ */
194
     0xE7, 0xE8, 0xE9, 0x4A, 0xE0, 0x5A, 0x5F, 0x6D,
195
 /*60   `     a     b     c     d     e     f     g */
196
     0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
197
 /*68   h     i     j     k     l     m     n     o */
198
     0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
199
 /*70   p     q     r     s     t     u     v     w */
200
     0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
201
 /*78   x     y     z     {     |     }     ~    DL */
202
     0xA7, 0xA8, 0xA9, 0xC0, 0xBB, 0xD0, 0xA1, 0x07,
203
 /*80*/
204
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
205
 /*88*/
206
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
207
 /*90*/
208
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
209
 /*98*/
210
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
211
 /*A0*/
212
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
213
 /*A8*/
214
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
215
 /*B0*/
216
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
217
 /*B8*/
218
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
219
 /*C0*/
220
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
221
 /*C8*/
222
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
223
 /*D0*/
224
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
225
 /*D8*/
226
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
227
 /*E0        sz                                         */
228
     0x3F, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
229
 /*E8*/
230
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
231
 /*F0*/
232
     0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
233
 /*F8*/
234
     0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x3F, 0xFF
235
};
236
 
237
/*
238
 * EBCDIC 500 -> ASCII (IBM PC 437)
239
 */
240
__u8 _ebcasc_500[256] =
241
{
242
 /* 0x00   NUL   SOH   STX   ETX  *SEL    HT  *RNL   DEL */
243
          0x00, 0x01, 0x02, 0x03, 0x07, 0x09, 0x07, 0x7F,
244
 /* 0x08   -GE  -SPS  -RPT    VT    FF    CR    SO    SI */
245
          0x07, 0x07, 0x07, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
246
 /* 0x10   DLE   DC1   DC2   DC3  -RES   -NL    BS  -POC
247
                                  -ENP  ->LF             */
248
          0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07,
249
 /* 0x18   CAN    EM  -UBS  -CU1  -IFS  -IGS  -IRS  -ITB
250
                                                    -IUS */
251
          0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
252
 /* 0x20   -DS  -SOS    FS  -WUS  -BYP    LF   ETB   ESC
253
                                  -INP                   */
254
          0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B,
255
 /* 0x28   -SA  -SFE   -SM  -CSP  -MFA   ENQ   ACK   BEL
256
                       -SW                               */
257
          0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07,
258
 /* 0x30  ----  ----   SYN   -IR   -PP  -TRN  -NBS   EOT */
259
          0x07, 0x07, 0x16, 0x07, 0x07, 0x07, 0x07, 0x04,
260
 /* 0x38  -SBS   -IT  -RFF  -CU3   DC4   NAK  ----   SUB */
261
          0x07, 0x07, 0x07, 0x07, 0x14, 0x15, 0x07, 0x1A,
262
 /* 0x40    SP   RSP                         ----       */
263
          0x20, 0xFF, 0x83, 0x84, 0x85, 0xA0, 0x07, 0x86,
264
 /* 0x48                 [     .     <     (     +     ! */
265
          0x87, 0xA4, 0x5B, 0x2E, 0x3C, 0x28, 0x2B, 0x21,
266
 /* 0x50     &                                      ---- */
267
          0x26, 0x82, 0x88, 0x89, 0x8A, 0xA1, 0x8C, 0x07,
268
 /* 0x58                ]     $     *     )     ;     ^ */
269
          0x8D, 0xE1, 0x5D, 0x24, 0x2A, 0x29, 0x3B, 0x5E,
270
 /* 0x60     -     /  ----       ----  ----  ----       */
271
          0x2D, 0x2F, 0x07, 0x8E, 0x07, 0x07, 0x07, 0x8F,
272
 /* 0x68              ----     ,     %     _     >     ? */
273
          0x80, 0xA5, 0x07, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
274
 /* 0x70  ----        ----  ----  ----  ----  ----  ---- */
275
          0x07, 0x90, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
276
 /* 0x78     *     `     :     #     @     '     =     " */
277
          0x70, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
278
 /* 0x80     *     a     b     c     d     e     f     g */
279
          0x07, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
280
 /* 0x88     h     i              ----  ----  ----       */
281
          0x68, 0x69, 0xAE, 0xAF, 0x07, 0x07, 0x07, 0xF1,
282
 /* 0x90          j     k     l     m     n     o     p */
283
          0xF8, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70,
284
 /* 0x98     q     r                    ----        ---- */
285
          0x71, 0x72, 0xA6, 0xA7, 0x91, 0x07, 0x92, 0x07,
286
 /* 0xA0           ~     s     t     u     v     w     x */
287
          0xE6, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
288
 /* 0xA8     y     z              ----  ----  ----  ---- */
289
          0x79, 0x7A, 0xAD, 0xAB, 0x07, 0x07, 0x07, 0x07,
290
 /* 0xB0                          ----       ----       */
291
          0x9B, 0x9C, 0x9D, 0xFA, 0x07, 0x07, 0x07, 0xAC,
292
 /* 0xB8        ----           |  ----  ----  ----  ---- */
293
          0xAB, 0x07, 0xAA, 0x7C, 0x07, 0x07, 0x07, 0x07,
294
 /* 0xC0     {     A     B     C     D     E     F     G */
295
          0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
296
 /* 0xC8     H     I  ----                         ---- */
297
          0x48, 0x49, 0x07, 0x93, 0x94, 0x95, 0xA2, 0x07,
298
 /* 0xD0     }     J     K     L     M     N     O     P */
299
          0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50,
300
 /* 0xD8     Q     R  ----                              */
301
          0x51, 0x52, 0x07, 0x96, 0x81, 0x97, 0xA3, 0x98,
302
 /* 0xE0     \           S     T     U     V     W     X */
303
          0x5C, 0xF6, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
304
 /* 0xE8     Y     Z        ----       ----  ----  ---- */
305
          0x59, 0x5A, 0xFD, 0x07, 0x99, 0x07, 0x07, 0x07,
306
 /* 0xF0     0     1     2     3     4     5     6     7 */
307
          0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
308
 /* 0xF8     8     9  ----  ----       ----  ----  ---- */
309
          0x38, 0x39, 0x07, 0x07, 0x9A, 0x07, 0x07, 0x07
310
};
311
 
312
 
313
/*
314
 * EBCDIC 037/500 conversion table:
315
 * from upper to lower case
316
 */
317
__u8 _ebc_tolower[256] =
318
{
319
        0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
320
        0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
321
        0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
322
        0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
323
        0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
324
        0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
325
        0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
326
        0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
327
        0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
328
        0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
329
        0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
330
        0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
331
        0x60, 0x61, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
332
        0x48, 0x49, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
333
        0x70, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
334
        0x58, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
335
        0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
336
        0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,
337
        0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
338
        0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9C, 0x9F,
339
        0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
340
        0xA8, 0xA9, 0xAA, 0xAB, 0x8C, 0x8D, 0x8E, 0xAF,
341
        0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
342
        0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
343
        0xC0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
344
        0x88, 0x89, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
345
        0xD0, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
346
        0x98, 0x99, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
347
        0xE0, 0xE1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
348
        0xA8, 0xA9, 0xEA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
349
        0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
350
        0xF8, 0xF9, 0xFA, 0xDB, 0xDC, 0xDD, 0xDE, 0xFF
351
};
352
 
353
 
354
/*
355
 * EBCDIC 037/500 conversion table:
356
 * from lower to upper case
357
 */
358
__u8 _ebc_toupper[256] =
359
{
360
        0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
361
        0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
362
        0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
363
        0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
364
        0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
365
        0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
366
        0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
367
        0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
368
        0x40, 0x41, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
369
        0x68, 0x69, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
370
        0x50, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
371
        0x78, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
372
        0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
373
        0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
374
        0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
375
        0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
376
        0x80, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
377
        0xC8, 0xC9, 0x8A, 0x8B, 0xAC, 0xAD, 0xAE, 0x8F,
378
        0x90, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
379
        0xD8, 0xD9, 0x9A, 0x9B, 0x9E, 0x9D, 0x9E, 0x9F,
380
        0xA0, 0xA1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
381
        0xE8, 0xE9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
382
        0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
383
        0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
384
        0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
385
        0xC8, 0xC9, 0xCA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
386
        0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
387
        0xD8, 0xD9, 0xDA, 0xFB, 0xFC, 0xFD, 0xFE, 0xDF,
388
        0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
389
        0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
390
        0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
391
        0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
392
};
393
 
394
EXPORT_SYMBOL_NOVERS(_ascebc_500);
395
EXPORT_SYMBOL_NOVERS(_ebcasc_500);
396
EXPORT_SYMBOL_NOVERS(_ascebc);
397
EXPORT_SYMBOL_NOVERS(_ebcasc);
398
EXPORT_SYMBOL_NOVERS(_ebc_tolower);
399
EXPORT_SYMBOL_NOVERS(_ebc_toupper);
400
 

powered by: WebSVN 2.1.0

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