]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - arch/s390/kernel/ebcdic.c
UBUNTU: Ubuntu-4.15.0-96.97
[mirror_ubuntu-bionic-kernel.git] / arch / s390 / kernel / ebcdic.c
CommitLineData
b2441318 1// SPDX-License-Identifier: GPL-2.0
1da177e4 2/*
1da177e4
LT
3 * ECBDIC -> ASCII, ASCII -> ECBDIC,
4 * upper to lower case (EBCDIC) conversion tables.
5 *
6 * S390 version
a53c8fab 7 * Copyright IBM Corp. 1999
1da177e4
LT
8 * Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
9 * Martin Peschke <peschke@fh-brandenburg.de>
10 */
11
3994a52b
PG
12#include <linux/types.h>
13#include <linux/export.h>
2b67fc46 14#include <asm/ebcdic.h>
1da177e4
LT
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