1 /*
2  * This file was generated automatically - don't edit it.
3  * File contains iconv CCS tables for iso_8859_4 encoding.
4  */
5 
6 #include "ccsbi.h"
7 
8 #if defined (ICONV_TO_UCS_CCS_ISO_8859_4) \
9  || defined (ICONV_FROM_UCS_CCS_ISO_8859_4)
10 
11 #include <_ansi.h>
12 #include <sys/types.h>
13 #include <sys/param.h>
14 #include "ccs.h"
15 #include "ccsnames.h"
16 
17 #if (_BYTE_ORDER == _LITTLE_ENDIAN)
18 #  define W(word) (word) & 0xFF, (word) >> 8
19 #elif (_BYTE_ORDER == _BIG_ENDIAN)
20 #  define W(word) (word) >> 8, (word) & 0xFF
21 #else
22 #  error "Unknown byte order."
23 #endif
24 
25 /*
26  * 8-bit iso_8859_4 -> UCS table (512 bytes).
27  * ======================================================================
28  */
29 #if defined (ICONV_TO_UCS_CCS_ISO_8859_4)
30 
31 static const __uint16_t
32 to_ucs_speed_iso_8859_4[] =
33 {
34 	0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
35 	0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
36 	0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
37 	0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
38 	0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
39 	0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
40 	0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
41 	0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
42 	0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
43 	0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
44 	0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
45 	0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
46 	0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
47 	0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
48 	0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
49 	0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
50 	0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
51 	0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
52 	0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
53 	0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
54 	0x00A0,0x0104,0x0138,0x0156,0x00A4,0x0128,0x013B,0x00A7,
55 	0x00A8,0x0160,0x0112,0x0122,0x0166,0x00AD,0x017D,0x00AF,
56 	0x00B0,0x0105,0x02DB,0x0157,0x00B4,0x0129,0x013C,0x02C7,
57 	0x00B8,0x0161,0x0113,0x0123,0x0167,0x014A,0x017E,0x014B,
58 	0x0100,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x012E,
59 	0x010C,0x00C9,0x0118,0x00CB,0x0116,0x00CD,0x00CE,0x012A,
60 	0x0110,0x0145,0x014C,0x0136,0x00D4,0x00D5,0x00D6,0x00D7,
61 	0x00D8,0x0172,0x00DA,0x00DB,0x00DC,0x0168,0x016A,0x00DF,
62 	0x0101,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x012F,
63 	0x010D,0x00E9,0x0119,0x00EB,0x0117,0x00ED,0x00EE,0x012B,
64 	0x0111,0x0146,0x014D,0x0137,0x00F4,0x00F5,0x00F6,0x00F7,
65 	0x00F8,0x0173,0x00FA,0x00FB,0x00FC,0x0169,0x016B,0x02D9,
66 
67 };
68 
69 #endif /* ICONV_TO_UCS_CCS_ISO_8859_4 */
70 
71 /*
72  * 8-bit UCS -> iso_8859_4 speed-optimized table (1282 bytes).
73  * ======================================================================
74  */
75 
76 #if defined (ICONV_FROM_UCS_CCS_ISO_8859_4)
77 
78 static const unsigned char
79 from_ucs_speed_iso_8859_4[] =
80 {
81 	W(0x02D9), /* Real 0xFF mapping. 0xFF is used to mark invalid codes */
82 	/* Heading Block */
83 	W(0x0202),W(0x0302),W(0x0402),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(INVBLK),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 	W(INVBLK),W(INVBLK),W(INVBLK),W(INVBLK),
147 	/* Block 1, Array index 0x0202 */
148 	0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
149 	0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
150 	0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
151 	0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
152 	0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
153 	0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
154 	0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
155 	0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
156 	0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
157 	0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
158 	0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
159 	0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
160 	0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
161 	0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
162 	0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
163 	0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
164 	0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
165 	0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
166 	0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
167 	0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
168 	0xA0,0xFF,0xFF,0xFF,0xA4,0xFF,0xFF,0xA7,
169 	0xA8,0xFF,0xFF,0xFF,0xFF,0xAD,0xFF,0xAF,
170 	0xB0,0xFF,0xFF,0xFF,0xB4,0xFF,0xFF,0xFF,
171 	0xB8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
172 	0xFF,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xFF,
173 	0xFF,0xC9,0xFF,0xCB,0xFF,0xCD,0xCE,0xFF,
174 	0xFF,0xFF,0xFF,0xFF,0xD4,0xD5,0xD6,0xD7,
175 	0xD8,0xFF,0xDA,0xDB,0xDC,0xFF,0xFF,0xDF,
176 	0xFF,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xFF,
177 	0xFF,0xE9,0xFF,0xEB,0xFF,0xED,0xEE,0xFF,
178 	0xFF,0xFF,0xFF,0xFF,0xF4,0xF5,0xF6,0xF7,
179 	0xF8,0xFF,0xFA,0xFB,0xFC,0xFF,0xFF,0xFF,
180 	/* Block 2, Array index 0x0302 */
181 	0xC0,0xE0,0xFF,0xFF,0xA1,0xB1,0xFF,0xFF,
182 	0xFF,0xFF,0xFF,0xFF,0xC8,0xE8,0xFF,0xFF,
183 	0xD0,0xF0,0xAA,0xBA,0xFF,0xFF,0xCC,0xEC,
184 	0xCA,0xEA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
185 	0xFF,0xFF,0xAB,0xBB,0xFF,0xFF,0xFF,0xFF,
186 	0xA5,0xB5,0xCF,0xEF,0xFF,0xFF,0xC7,0xE7,
187 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD3,0xF3,
188 	0xA2,0xFF,0xFF,0xA6,0xB6,0xFF,0xFF,0xFF,
189 	0xFF,0xFF,0xFF,0xFF,0xFF,0xD1,0xF1,0xFF,
190 	0xFF,0xFF,0xBD,0xBF,0xD2,0xF2,0xFF,0xFF,
191 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA3,0xB3,
192 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
193 	0xA9,0xB9,0xFF,0xFF,0xFF,0xFF,0xAC,0xBC,
194 	0xDD,0xFD,0xDE,0xFE,0xFF,0xFF,0xFF,0xFF,
195 	0xFF,0xFF,0xD9,0xF9,0xFF,0xFF,0xFF,0xFF,
196 	0xFF,0xFF,0xFF,0xFF,0xFF,0xAE,0xBE,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 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
213 	/* Block 3, Array index 0x0402 */
214 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
215 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,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,0xB7,
239 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
240 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
241 	0xFF,0xFF,0xFF,0xB2,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 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
246 };
247 
248 #endif /* ICONV_FROM_UCS_CCS_ISO_8859_4 */
249 
250 /*
251  * iso_8859_4 CCS description table.
252  * ======================================================================
253  */
254 const iconv_ccs_t
255 _iconv_ccs_iso_8859_4 =
256 {
257 	TABLE_VERSION_1, /* Table version */
258 	ICONV_CCS_ISO_8859_4, /* CCS name */
259 	TABLE_8BIT, /* Table bits */
260 	0, /* Not Used */
261 #if defined (ICONV_FROM_UCS_CCS_ISO_8859_4)
262 	(__uint16_t *)&from_ucs_speed_iso_8859_4, /* UCS -> iso_8859_4 table */
263 #else
264 	(__uint16_t *)NULL,
265 #endif
266 	0, /* Not Used */
267 #if defined (ICONV_TO_UCS_CCS_ISO_8859_4)
268 	(__uint16_t *)&to_ucs_speed_iso_8859_4 /* iso_8859_4 -> UCS table */
269 #else
270 	(__uint16_t *)NULL,
271 #endif
272 };
273 
274 #endif /* ICONV_TO_UCS_CCS_ISO_8859_4) || ... */
275 
276