1 /*
2  * This file was generated automatically - don't edit it.
3  * File contains iconv CCS tables for iso_ir_111 encoding.
4  */
5 
6 #include "ccsbi.h"
7 
8 #if defined (ICONV_TO_UCS_CCS_ISO_IR_111) \
9  || defined (ICONV_FROM_UCS_CCS_ISO_IR_111)
10 
11 #include <sys/types.h>
12 #include <sys/param.h>
13 #include "ccs.h"
14 #include "ccsnames.h"
15 
16 #if (_BYTE_ORDER == _LITTLE_ENDIAN)
17 #  define W(word) (word) & 0xFF, (word) >> 8
18 #elif (_BYTE_ORDER == _BIG_ENDIAN)
19 #  define W(word) (word) >> 8, (word) & 0xFF
20 #else
21 #  error "Unknown byte order."
22 #endif
23 
24 /*
25  * 8-bit iso_ir_111 -> UCS table (512 bytes).
26  * ======================================================================
27  */
28 #if defined (ICONV_TO_UCS_CCS_ISO_IR_111)
29 
30 static const __uint16_t
31 to_ucs_speed_iso_ir_111[] =
32 {
33 	0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
34 	0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
35 	0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
36 	0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
37 	0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
38 	0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
39 	0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
40 	0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
41 	0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
42 	0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
43 	0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
44 	0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
45 	0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
46 	0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
47 	0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
48 	0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
49 	0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
50 	0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
51 	0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
52 	0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
53 	0x00A0,0x0452,0x0453,0x0451,0x0454,0x0455,0x0456,0x0457,
54 	0x0458,0x0459,0x045A,0x045B,0x045C,0x00AD,0x045E,0x045F,
55 	0x2116,0x0402,0x0403,0x0401,0x0404,0x0405,0x0406,0x0407,
56 	0x0408,0x0409,0x040A,0x040B,0x040C,0x00A4,0x040E,0x040F,
57 	0x044E,0x0430,0x0431,0x0446,0x0434,0x0435,0x0444,0x0433,
58 	0x0445,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
59 	0x043F,0x044F,0x0440,0x0441,0x0442,0x0443,0x0436,0x0432,
60 	0x044C,0x044B,0x0437,0x0448,0x044D,0x0449,0x0447,0x044A,
61 	0x042E,0x0410,0x0411,0x0426,0x0414,0x0415,0x0424,0x0413,
62 	0x0425,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
63 	0x041F,0x042F,0x0420,0x0421,0x0422,0x0423,0x0416,0x0412,
64 	0x042C,0x042B,0x0417,0x0428,0x042D,0x0429,0x0427,0x042A,
65 
66 };
67 
68 #endif /* ICONV_TO_UCS_CCS_ISO_IR_111 */
69 
70 /*
71  * 8-bit UCS -> iso_ir_111 speed-optimized table (1282 bytes).
72  * ======================================================================
73  */
74 
75 #if defined (ICONV_FROM_UCS_CCS_ISO_IR_111)
76 
77 static const unsigned char
78 from_ucs_speed_iso_ir_111[] =
79 {
80 	W(0x042A), /* Real 0xFF mapping. 0xFF is used to mark invalid codes */
81 	/* Heading Block */
82 	W(0x0202),W(INVBLK),W(INVBLK),W(INVBLK),
83 	W(0x0302),W(INVBLK),W(INVBLK),W(INVBLK),
84 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
85 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
86 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
87 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
88 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
89 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
90 	W(INVBLK),W(0x0402),W(INVBLK),W(INVBLK),
91 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
92 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
93 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
94 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
95 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
96 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
97 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
98 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
99 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
100 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
101 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
102 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
103 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
104 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
105 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
106 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
107 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
108 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
109 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
110 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
111 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
112 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
113 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
114 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
115 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
116 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
117 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
118 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
119 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
120 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
121 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
122 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
123 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
124 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
125 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
126 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
127 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
128 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
129 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
130 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
131 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
132 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
133 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
134 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
135 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
136 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
137 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
138 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
139 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
140 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
141 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
142 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
143 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
144 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
145 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
146 	/* Block 1, Array index 0x0202 */
147 	0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
148 	0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
149 	0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
150 	0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
151 	0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
152 	0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
153 	0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
154 	0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
155 	0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
156 	0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
157 	0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
158 	0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
159 	0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
160 	0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
161 	0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
162 	0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
163 	0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
164 	0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
165 	0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
166 	0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
167 	0xA0,0xFF,0xFF,0xFF,0xBD,0xFF,0xFF,0xFF,
168 	0xFF,0xFF,0xFF,0xFF,0xFF,0xAD,0xFF,0xFF,
169 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
170 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
171 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
172 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
173 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
174 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
175 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
176 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
177 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
178 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
179 	/* Block 5, Array index 0x0302 */
180 	0xFF,0xB3,0xB1,0xB2,0xB4,0xB5,0xB6,0xB7,
181 	0xB8,0xB9,0xBA,0xBB,0xBC,0xFF,0xBE,0xBF,
182 	0xE1,0xE2,0xF7,0xE7,0xE4,0xE5,0xF6,0xFA,
183 	0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,
184 	0xF2,0xF3,0xF4,0xF5,0xE6,0xE8,0xE3,0xFE,
185 	0xFB,0xFD,0xFF,0xF9,0xF8,0xFC,0xE0,0xF1,
186 	0xC1,0xC2,0xD7,0xC7,0xC4,0xC5,0xD6,0xDA,
187 	0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,
188 	0xD2,0xD3,0xD4,0xD5,0xC6,0xC8,0xC3,0xDE,
189 	0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0,0xD1,
190 	0xFF,0xA3,0xA1,0xA2,0xA4,0xA5,0xA6,0xA7,
191 	0xA8,0xA9,0xAA,0xAB,0xAC,0xFF,0xAE,0xAF,
192 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
193 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
194 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
195 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
196 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
197 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
198 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
199 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
200 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
201 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
202 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
203 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
204 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
205 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
206 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
207 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
208 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
209 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
210 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
211 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
212 	/* Block 34, Array index 0x0402 */
213 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
214 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
215 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB0,0xFF,
216 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
217 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
218 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
219 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
220 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
221 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
222 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
223 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
224 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
225 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
226 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
227 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
228 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
229 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
230 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
231 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
232 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
233 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
234 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
235 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
236 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
237 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
238 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
239 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
240 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
241 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
242 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
243 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
244 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
245 };
246 
247 #endif /* ICONV_FROM_UCS_CCS_ISO_IR_111 */
248 
249 /*
250  * iso_ir_111 CCS description table.
251  * ======================================================================
252  */
253 const iconv_ccs_t
254 _iconv_ccs_iso_ir_111 =
255 {
256 	TABLE_VERSION_1, /* Table version */
257 	ICONV_CCS_ISO_IR_111, /* CCS name */
258 	TABLE_8BIT, /* Table bits */
259 	0, /* Not Used */
260 #if defined (ICONV_FROM_UCS_CCS_ISO_IR_111)
261 	(__uint16_t *)&from_ucs_speed_iso_ir_111, /* UCS -> iso_ir_111 table */
262 #else
263 	(__uint16_t *)NULL,
264 #endif
265 	0, /* Not Used */
266 #if defined (ICONV_TO_UCS_CCS_ISO_IR_111)
267 	(__uint16_t *)&to_ucs_speed_iso_ir_111 /* iso_ir_111 -> UCS table */
268 #else
269 	(__uint16_t *)NULL,
270 #endif
271 };
272 
273 #endif /* ICONV_TO_UCS_CCS_ISO_IR_111) || ... */
274 
275