18 0x0000, 0x0001, 0x0002, 0x0003,
19 0x0004, 0x0005, 0x0006, 0x0007,
20 0x0008, 0x0009, 0x000a, 0x000b,
21 0x000c, 0x000d, 0x000e, 0x000f,
23 0x0010, 0x0011, 0x0012, 0x0013,
24 0x0014, 0x0015, 0x0016, 0x0017,
25 0x0018, 0x0019, 0x001a, 0x001b,
26 0x001c, 0x001d, 0x001e, 0x001f,
28 0x0020, 0x0021, 0x0022, 0x0023,
29 0x0024, 0x0025, 0x0026, 0x0027,
30 0x0028, 0x0029, 0x002a, 0x002b,
31 0x002c, 0x002d, 0x002e, 0x002f,
33 0x0030, 0x0031, 0x0032, 0x0033,
34 0x0034, 0x0035, 0x0036, 0x0037,
35 0x0038, 0x0039, 0x003a, 0x003b,
36 0x003c, 0x003d, 0x003e, 0x003f,
38 0x0040, 0x0041, 0x0042, 0x0043,
39 0x0044, 0x0045, 0x0046, 0x0047,
40 0x0048, 0x0049, 0x004a, 0x004b,
41 0x004c, 0x004d, 0x004e, 0x004f,
43 0x0050, 0x0051, 0x0052, 0x0053,
44 0x0054, 0x0055, 0x0056, 0x0057,
45 0x0058, 0x0059, 0x005a, 0x005b,
46 0x005c, 0x005d, 0x005e, 0x005f,
48 0x0060, 0x0061, 0x0062, 0x0063,
49 0x0064, 0x0065, 0x0066, 0x0067,
50 0x0068, 0x0069, 0x006a, 0x006b,
51 0x006c, 0x006d, 0x006e, 0x006f,
53 0x0070, 0x0071, 0x0072, 0x0073,
54 0x0074, 0x0075, 0x0076, 0x0077,
55 0x0078, 0x0079, 0x007a, 0x007b,
56 0x007c, 0x007d, 0x007e, 0x007f,
58 0x0410, 0x0411, 0x0412, 0x0413,
59 0x0414, 0x0415, 0x0416, 0x0417,
60 0x0418, 0x0419, 0x041a, 0x041b,
61 0x041c, 0x041d, 0x041e, 0x041f,
63 0x0420, 0x0421, 0x0422, 0x0423,
64 0x0424, 0x0425, 0x0426, 0x0427,
65 0x0428, 0x0429, 0x042a, 0x042b,
66 0x042c, 0x042d, 0x042e, 0x042f,
68 0x0430, 0x0431, 0x0432, 0x0433,
69 0x0434, 0x0435, 0x0436, 0x0437,
70 0x0438, 0x0439, 0x043a, 0x043b,
71 0x043c, 0x043d, 0x043e, 0x043f,
73 0x2591, 0x2592, 0x2593, 0x2502,
74 0x2524, 0x2561, 0x2562, 0x2556,
75 0x2555, 0x2563, 0x2551, 0x2557,
76 0x255d, 0x255c, 0x255b, 0x2510,
78 0x2514, 0x2534, 0x252c, 0x251c,
79 0x2500, 0x253c, 0x255e, 0x255f,
80 0x255a, 0x2554, 0x2569, 0x2566,
81 0x2560, 0x2550, 0x256c, 0x2567,
83 0x2568, 0x2564, 0x2565, 0x2559,
84 0x2558, 0x2552, 0x2553, 0x256b,
85 0x256a, 0x2518, 0x250c, 0x2588,
86 0x2584, 0x258c, 0x2590, 0x2580,
88 0x0440, 0x0441, 0x0442, 0x0443,
89 0x0444, 0x0445, 0x0446, 0x0447,
90 0x0448, 0x0449, 0x044a, 0x044b,
91 0x044c, 0x044d, 0x044e, 0x044f,
93 0x0401, 0x0451, 0x0404, 0x0454,
94 0x0407, 0x0457, 0x040e, 0x045e,
95 0x00b0, 0x2219, 0x00b7, 0x221a,
96 0x2116, 0x00a4, 0x25a0, 0x00a0,
100 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
101 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
102 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
103 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
104 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
105 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
106 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
107 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
108 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
109 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
110 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
111 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
112 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
113 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
114 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
115 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121 0xff, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00,
122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
123 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa,
127 0x00, 0xf0, 0x00, 0x00, 0xf2, 0x00, 0x00, 0xf4,
128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x00,
129 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
130 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
131 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
132 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
133 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
134 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
135 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
136 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
137 0x00, 0xf1, 0x00, 0x00, 0xf3, 0x00, 0x00, 0xf5,
138 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x00,
142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
144 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
149 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
151 0x00, 0xf9, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00,
155 0xc4, 0x00, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00,
156 0x00, 0x00, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00,
157 0xbf, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
158 0xd9, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00,
159 0x00, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00,
160 0x00, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x00, 0x00,
161 0x00, 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00,
162 0x00, 0x00, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x00,
163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
165 0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
166 0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
167 0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
168 0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x00, 0x00, 0x00,
169 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
172 0xdf, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00,
173 0xdb, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00,
174 0xde, 0xb0, 0xb1, 0xb2, 0x00, 0x00, 0x00, 0x00,
175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
176 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
188 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
189 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
190 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
191 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
192 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
193 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
194 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
195 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
196 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
197 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
198 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
199 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
200 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
201 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
202 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
203 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
205 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
206 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
207 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
208 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
209 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
210 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
211 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
212 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
213 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
214 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
215 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
216 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
217 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
218 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
219 0xf1, 0xf1, 0xf3, 0xf3, 0xf5, 0xf5, 0xf7, 0xf7,
220 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
224 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
225 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
226 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
227 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
228 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
229 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
230 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
231 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
232 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
233 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
234 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
235 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
236 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
237 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
238 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
239 0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
241 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
242 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
243 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
244 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
245 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
246 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
247 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
248 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
249 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
250 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
251 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
252 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
253 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
254 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
255 0xf0, 0xf0, 0xf2, 0xf2, 0xf4, 0xf4, 0xf6, 0xf6,
256 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
261 unsigned char *uni2charset;
262 unsigned char cl = uni & 0x00ff;
263 unsigned char ch = (uni & 0xff00) >> 8;
269 if (uni2charset && uni2charset[cl])
270 out[0] = uni2charset[cl];
276static int char2uni(
const unsigned char *rawstring,
int boundlen,
wchar_t *uni)
int register_nls(struct nls_table *)
int unregister_nls(struct nls_table *)
#define MODULE_LICENSE(x)
static int __init init_nls_cp866(void)
static wchar_t charset2uni[256]
static unsigned char page21[256]
static unsigned char page04[256]
static unsigned char * page_uni2charset[256]
static int char2uni(const unsigned char *rawstring, int boundlen, wchar_t *uni)
static void __exit exit_nls_cp866(void)
static int uni2char(wchar_t uni, unsigned char *out, int boundlen)
static unsigned char page22[256]
static unsigned char charset2lower[256]
static unsigned char page25[256]
static unsigned char charset2upper[256]
static unsigned char page00[256]