0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include <linux/types.h>
0013 #include <linux/export.h>
0014 #include <asm/ebcdic.h>
0015
0016
0017
0018
0019 __u8 _ascebc[256] =
0020 {
0021
0022 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F,
0023
0024
0025 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0026
0027 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26,
0028
0029
0030 0x18, 0x19, 0x3F, 0x27, 0x22, 0x1D, 0x1E, 0x1F,
0031
0032 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D,
0033
0034 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
0035
0036 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
0037
0038 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
0039
0040 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
0041
0042 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
0043
0044 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6,
0045
0046 0xE7, 0xE8, 0xE9, 0xBA, 0xE0, 0xBB, 0xB0, 0x6D,
0047
0048 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0049
0050 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
0051
0052 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
0053
0054 0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07,
0055
0056 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0057
0058 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0059
0060 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0061
0062 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0063
0064 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0065
0066 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0067
0068 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0069
0070 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0071
0072 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0073
0074 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0075
0076 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0077
0078 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0079
0080 0x3F, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0081
0082 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0083
0084 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0085
0086 0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x3F, 0xFF
0087 };
0088
0089
0090
0091
0092 __u8 _ebcasc[256] =
0093 {
0094
0095 0x00, 0x01, 0x02, 0x03, 0x07, 0x09, 0x07, 0x7F,
0096
0097 0x07, 0x07, 0x07, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0098
0099
0100 0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07,
0101
0102
0103 0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0104
0105
0106 0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B,
0107
0108
0109 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07,
0110
0111 0x07, 0x07, 0x16, 0x07, 0x07, 0x07, 0x07, 0x04,
0112
0113 0x07, 0x07, 0x07, 0x07, 0x14, 0x15, 0x07, 0x1A,
0114
0115 0x20, 0xFF, 0x83, 0x84, 0x85, 0xA0, 0x07, 0x86,
0116
0117 0x87, 0xA4, 0x9B, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
0118
0119 0x26, 0x82, 0x88, 0x89, 0x8A, 0xA1, 0x8C, 0x07,
0120
0121 0x8D, 0xE1, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0xAA,
0122
0123 0x2D, 0x2F, 0x07, 0x8E, 0x07, 0x07, 0x07, 0x8F,
0124
0125 0x80, 0xA5, 0x07, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
0126
0127 0x07, 0x90, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0128
0129 0x70, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
0130
0131 0x07, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0132
0133 0x68, 0x69, 0xAE, 0xAF, 0x07, 0x07, 0x07, 0xF1,
0134
0135 0xF8, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70,
0136
0137 0x71, 0x72, 0xA6, 0xA7, 0x91, 0x07, 0x92, 0x07,
0138
0139 0xE6, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
0140
0141 0x79, 0x7A, 0xAD, 0xAB, 0x07, 0x07, 0x07, 0x07,
0142
0143 0x5E, 0x9C, 0x9D, 0xFA, 0x07, 0x07, 0x07, 0xAC,
0144
0145 0xAB, 0x07, 0x5B, 0x5D, 0x07, 0x07, 0x07, 0x07,
0146
0147 0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
0148
0149 0x48, 0x49, 0x07, 0x93, 0x94, 0x95, 0xA2, 0x07,
0150
0151 0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50,
0152
0153 0x51, 0x52, 0x07, 0x96, 0x81, 0x97, 0xA3, 0x98,
0154
0155 0x5C, 0xF6, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
0156
0157 0x59, 0x5A, 0xFD, 0x07, 0x99, 0x07, 0x07, 0x07,
0158
0159 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
0160
0161 0x38, 0x39, 0x07, 0x07, 0x9A, 0x07, 0x07, 0x07
0162 };
0163
0164
0165
0166
0167
0168 __u8 _ascebc_500[256] =
0169 {
0170
0171 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F,
0172
0173
0174 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0175
0176 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26,
0177
0178
0179 0x18, 0x19, 0x3F, 0x27, 0x22, 0x1D, 0x1E, 0x1F,
0180
0181 0x40, 0x4F, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D,
0182
0183 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
0184
0185 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
0186
0187 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
0188
0189 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
0190
0191 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
0192
0193 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6,
0194
0195 0xE7, 0xE8, 0xE9, 0x4A, 0xE0, 0x5A, 0x5F, 0x6D,
0196
0197 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0198
0199 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
0200
0201 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
0202
0203 0xA7, 0xA8, 0xA9, 0xC0, 0xBB, 0xD0, 0xA1, 0x07,
0204
0205 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0206
0207 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0208
0209 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0210
0211 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0212
0213 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0214
0215 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0216
0217 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0218
0219 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0220
0221 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0222
0223 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0224
0225 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0226
0227 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0228
0229 0x3F, 0x59, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0230
0231 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0232
0233 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0234
0235 0x90, 0x3F, 0x3F, 0x3F, 0x3F, 0xEA, 0x3F, 0xFF
0236 };
0237
0238
0239
0240
0241 __u8 _ebcasc_500[256] =
0242 {
0243
0244 0x00, 0x01, 0x02, 0x03, 0x07, 0x09, 0x07, 0x7F,
0245
0246 0x07, 0x07, 0x07, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0247
0248
0249 0x10, 0x11, 0x12, 0x13, 0x07, 0x0A, 0x08, 0x07,
0250
0251
0252 0x18, 0x19, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0253
0254
0255 0x07, 0x07, 0x1C, 0x07, 0x07, 0x0A, 0x17, 0x1B,
0256
0257
0258 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x06, 0x07,
0259
0260 0x07, 0x07, 0x16, 0x07, 0x07, 0x07, 0x07, 0x04,
0261
0262 0x07, 0x07, 0x07, 0x07, 0x14, 0x15, 0x07, 0x1A,
0263
0264 0x20, 0xFF, 0x83, 0x84, 0x85, 0xA0, 0x07, 0x86,
0265
0266 0x87, 0xA4, 0x5B, 0x2E, 0x3C, 0x28, 0x2B, 0x21,
0267
0268 0x26, 0x82, 0x88, 0x89, 0x8A, 0xA1, 0x8C, 0x07,
0269
0270 0x8D, 0xE1, 0x5D, 0x24, 0x2A, 0x29, 0x3B, 0x5E,
0271
0272 0x2D, 0x2F, 0x07, 0x8E, 0x07, 0x07, 0x07, 0x8F,
0273
0274 0x80, 0xA5, 0x07, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
0275
0276 0x07, 0x90, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0277
0278 0x70, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
0279
0280 0x07, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0281
0282 0x68, 0x69, 0xAE, 0xAF, 0x07, 0x07, 0x07, 0xF1,
0283
0284 0xF8, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70,
0285
0286 0x71, 0x72, 0xA6, 0xA7, 0x91, 0x07, 0x92, 0x07,
0287
0288 0xE6, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
0289
0290 0x79, 0x7A, 0xAD, 0xAB, 0x07, 0x07, 0x07, 0x07,
0291
0292 0x9B, 0x9C, 0x9D, 0xFA, 0x07, 0x07, 0x07, 0xAC,
0293
0294 0xAB, 0x07, 0xAA, 0x7C, 0x07, 0x07, 0x07, 0x07,
0295
0296 0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
0297
0298 0x48, 0x49, 0x07, 0x93, 0x94, 0x95, 0xA2, 0x07,
0299
0300 0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50,
0301
0302 0x51, 0x52, 0x07, 0x96, 0x81, 0x97, 0xA3, 0x98,
0303
0304 0x5C, 0xF6, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
0305
0306 0x59, 0x5A, 0xFD, 0x07, 0x99, 0x07, 0x07, 0x07,
0307
0308 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
0309
0310 0x38, 0x39, 0x07, 0x07, 0x9A, 0x07, 0x07, 0x07
0311 };
0312
0313
0314
0315
0316
0317
0318 __u8 _ebc_tolower[256] =
0319 {
0320 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0321 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0322 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0323 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
0324 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
0325 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
0326 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
0327 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
0328 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
0329 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
0330 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
0331 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
0332 0x60, 0x61, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
0333 0x48, 0x49, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
0334 0x70, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
0335 0x58, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
0336 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0337 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,
0338 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0339 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9C, 0x9F,
0340 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
0341 0xA8, 0xA9, 0xAA, 0xAB, 0x8C, 0x8D, 0x8E, 0xAF,
0342 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
0343 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
0344 0xC0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0345 0x88, 0x89, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
0346 0xD0, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0347 0x98, 0x99, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
0348 0xE0, 0xE1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
0349 0xA8, 0xA9, 0xEA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
0350 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
0351 0xF8, 0xF9, 0xFA, 0xDB, 0xDC, 0xDD, 0xDE, 0xFF
0352 };
0353
0354
0355
0356
0357
0358
0359 __u8 _ebc_toupper[256] =
0360 {
0361 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0362 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0363 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0364 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
0365 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
0366 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
0367 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
0368 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
0369 0x40, 0x41, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0370 0x68, 0x69, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
0371 0x50, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
0372 0x78, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
0373 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0374 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
0375 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
0376 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
0377 0x80, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
0378 0xC8, 0xC9, 0x8A, 0x8B, 0xAC, 0xAD, 0xAE, 0x8F,
0379 0x90, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
0380 0xD8, 0xD9, 0x9A, 0x9B, 0x9E, 0x9D, 0x9E, 0x9F,
0381 0xA0, 0xA1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
0382 0xE8, 0xE9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
0383 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
0384 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
0385 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
0386 0xC8, 0xC9, 0xCA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
0387 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
0388 0xD8, 0xD9, 0xDA, 0xFB, 0xFC, 0xFD, 0xFE, 0xDF,
0389 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
0390 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
0391 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
0392 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
0393 };
0394
0395 EXPORT_SYMBOL(_ascebc_500);
0396 EXPORT_SYMBOL(_ebcasc_500);
0397 EXPORT_SYMBOL(_ascebc);
0398 EXPORT_SYMBOL(_ebcasc);
0399 EXPORT_SYMBOL(_ebc_tolower);
0400 EXPORT_SYMBOL(_ebc_toupper);
0401