1 /*
2  * This file was generated automatically - don't edit it.
3  * File contains iconv CCS tables for iso_8859_15 encoding.
4  */
5 
6 #include "ccsbi.h"
7 
8 #if defined (ICONV_TO_UCS_CCS_ISO_8859_15) \
9  || defined (ICONV_FROM_UCS_CCS_ISO_8859_15)
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_8859_15 -> UCS table (512 bytes).
26  * ======================================================================
27  */
28 #if defined (ICONV_TO_UCS_CCS_ISO_8859_15)
29 
30 static const __uint16_t
31 to_ucs_speed_iso_8859_15[] =
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,0x00A1,0x00A2,0x00A3,0x20AC,0x00A5,0x0160,0x00A7,
54 	0x0161,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
55 	0x00B0,0x00B1,0x00B2,0x00B3,0x017D,0x00B5,0x00B6,0x00B7,
56 	0x017E,0x00B9,0x00BA,0x00BB,0x0152,0x0153,0x0178,0x00BF,
57 	0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,
58 	0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
59 	0x00D0,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,
60 	0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x00DD,0x00DE,0x00DF,
61 	0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,
62 	0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
63 	0x00F0,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x00F7,
64 	0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x00FD,0x00FE,0x00FF,
65 
66 };
67 
68 #endif /* ICONV_TO_UCS_CCS_ISO_8859_15 */
69 
70 /*
71  * 8-bit UCS -> iso_8859_15 speed-optimized table (1282 bytes).
72  * ======================================================================
73  */
74 
75 #if defined (ICONV_FROM_UCS_CCS_ISO_8859_15)
76 
77 static const unsigned char
78 from_ucs_speed_iso_8859_15[] =
79 {
80 	W(0x00FF), /* Real 0xFF mapping. 0xFF is used to mark invalid codes */
81 	/* Heading Block */
82 	W(0x0202),W(0x0302),W(INVBLK),W(INVBLK),
83 	W(INVBLK),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(0x0402),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 	/* 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,0xA1,0xA2,0xA3,0xFF,0xA5,0xFF,0xA7,
168 	0xFF,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
169 	0xB0,0xB1,0xB2,0xB3,0xFF,0xB5,0xB6,0xB7,
170 	0xFF,0xB9,0xBA,0xBB,0xFF,0xFF,0xFF,0xBF,
171 	0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,
172 	0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
173 	0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,
174 	0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
175 	0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,
176 	0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
177 	0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,
178 	0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,
179 	/* Block 2, Array index 0x0302 */
180 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
181 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
182 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
183 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
184 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
185 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
186 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
187 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
188 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
189 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
190 	0xFF,0xFF,0xBC,0xBD,0xFF,0xFF,0xFF,0xFF,
191 	0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
192 	0xA6,0xA8,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 	0xBE,0xFF,0xFF,0xFF,0xFF,0xB4,0xB8,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 33, 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,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,0xA4,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_8859_15 */
248 
249 /*
250  * iso_8859_15 CCS description table.
251  * ======================================================================
252  */
253 const iconv_ccs_t
254 _iconv_ccs_iso_8859_15 =
255 {
256 	TABLE_VERSION_1, /* Table version */
257 	ICONV_CCS_ISO_8859_15, /* CCS name */
258 	TABLE_8BIT, /* Table bits */
259 	0, /* Not Used */
260 #if defined (ICONV_FROM_UCS_CCS_ISO_8859_15)
261 	(__uint16_t *)&from_ucs_speed_iso_8859_15, /* UCS -> iso_8859_15 table */
262 #else
263 	(__uint16_t *)NULL,
264 #endif
265 	0, /* Not Used */
266 #if defined (ICONV_TO_UCS_CCS_ISO_8859_15)
267 	(__uint16_t *)&to_ucs_speed_iso_8859_15 /* iso_8859_15 -> UCS table */
268 #else
269 	(__uint16_t *)NULL,
270 #endif
271 };
272 
273 #endif /* ICONV_TO_UCS_CCS_ISO_8859_15) || ... */
274 
275