~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/nls/nls_koi8-r.c

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /fs/nls/nls_koi8-r.c (Version linux-6.11.5) and /fs/nls/nls_koi8-r.c (Version linux-6.6.45)


** Warning: Cannot open xref database.

  1 /*                                                  1 
  2  * linux/fs/nls/nls_koi8-r.c                      
  3  *                                                
  4  * Charset koi8-r translation tables.             
  5  * Generated automatically from the Unicode an    
  6  * tables from the Unicode Organization (www.u    
  7  * The Unicode to charset table has only exact    
  8  */                                               
  9                                                   
 10 #include <linux/module.h>                         
 11 #include <linux/kernel.h>                         
 12 #include <linux/string.h>                         
 13 #include <linux/nls.h>                            
 14 #include <linux/errno.h>                          
 15                                                   
 16 static const wchar_t charset2uni[256] = {         
 17         /* 0x00*/                                 
 18         0x0000, 0x0001, 0x0002, 0x0003,           
 19         0x0004, 0x0005, 0x0006, 0x0007,           
 20         0x0008, 0x0009, 0x000a, 0x000b,           
 21         0x000c, 0x000d, 0x000e, 0x000f,           
 22         /* 0x10*/                                 
 23         0x0010, 0x0011, 0x0012, 0x0013,           
 24         0x0014, 0x0015, 0x0016, 0x0017,           
 25         0x0018, 0x0019, 0x001a, 0x001b,           
 26         0x001c, 0x001d, 0x001e, 0x001f,           
 27         /* 0x20*/                                 
 28         0x0020, 0x0021, 0x0022, 0x0023,           
 29         0x0024, 0x0025, 0x0026, 0x0027,           
 30         0x0028, 0x0029, 0x002a, 0x002b,           
 31         0x002c, 0x002d, 0x002e, 0x002f,           
 32         /* 0x30*/                                 
 33         0x0030, 0x0031, 0x0032, 0x0033,           
 34         0x0034, 0x0035, 0x0036, 0x0037,           
 35         0x0038, 0x0039, 0x003a, 0x003b,           
 36         0x003c, 0x003d, 0x003e, 0x003f,           
 37         /* 0x40*/                                 
 38         0x0040, 0x0041, 0x0042, 0x0043,           
 39         0x0044, 0x0045, 0x0046, 0x0047,           
 40         0x0048, 0x0049, 0x004a, 0x004b,           
 41         0x004c, 0x004d, 0x004e, 0x004f,           
 42         /* 0x50*/                                 
 43         0x0050, 0x0051, 0x0052, 0x0053,           
 44         0x0054, 0x0055, 0x0056, 0x0057,           
 45         0x0058, 0x0059, 0x005a, 0x005b,           
 46         0x005c, 0x005d, 0x005e, 0x005f,           
 47         /* 0x60*/                                 
 48         0x0060, 0x0061, 0x0062, 0x0063,           
 49         0x0064, 0x0065, 0x0066, 0x0067,           
 50         0x0068, 0x0069, 0x006a, 0x006b,           
 51         0x006c, 0x006d, 0x006e, 0x006f,           
 52         /* 0x70*/                                 
 53         0x0070, 0x0071, 0x0072, 0x0073,           
 54         0x0074, 0x0075, 0x0076, 0x0077,           
 55         0x0078, 0x0079, 0x007a, 0x007b,           
 56         0x007c, 0x007d, 0x007e, 0x007f,           
 57         /* 0x80*/                                 
 58         0x2500, 0x2502, 0x250c, 0x2510,           
 59         0x2514, 0x2518, 0x251c, 0x2524,           
 60         0x252c, 0x2534, 0x253c, 0x2580,           
 61         0x2584, 0x2588, 0x258c, 0x2590,           
 62         /* 0x90*/                                 
 63         0x2591, 0x2592, 0x2593, 0x2320,           
 64         0x25a0, 0x2219, 0x221a, 0x2248,           
 65         0x2264, 0x2265, 0x00a0, 0x2321,           
 66         0x00b0, 0x00b2, 0x00b7, 0x00f7,           
 67         /* 0xa0*/                                 
 68         0x2550, 0x2551, 0x2552, 0x0451,           
 69         0x2553, 0x2554, 0x2555, 0x2556,           
 70         0x2557, 0x2558, 0x2559, 0x255a,           
 71         0x255b, 0x255c, 0x255d, 0x255e,           
 72         /* 0xb0*/                                 
 73         0x255f, 0x2560, 0x2561, 0x0401,           
 74         0x2562, 0x2563, 0x2564, 0x2565,           
 75         0x2566, 0x2567, 0x2568, 0x2569,           
 76         0x256a, 0x256b, 0x256c, 0x00a9,           
 77         /* 0xc0*/                                 
 78         0x044e, 0x0430, 0x0431, 0x0446,           
 79         0x0434, 0x0435, 0x0444, 0x0433,           
 80         0x0445, 0x0438, 0x0439, 0x043a,           
 81         0x043b, 0x043c, 0x043d, 0x043e,           
 82         /* 0xd0*/                                 
 83         0x043f, 0x044f, 0x0440, 0x0441,           
 84         0x0442, 0x0443, 0x0436, 0x0432,           
 85         0x044c, 0x044b, 0x0437, 0x0448,           
 86         0x044d, 0x0449, 0x0447, 0x044a,           
 87         /* 0xe0*/                                 
 88         0x042e, 0x0410, 0x0411, 0x0426,           
 89         0x0414, 0x0415, 0x0424, 0x0413,           
 90         0x0425, 0x0418, 0x0419, 0x041a,           
 91         0x041b, 0x041c, 0x041d, 0x041e,           
 92         /* 0xf0*/                                 
 93         0x041f, 0x042f, 0x0420, 0x0421,           
 94         0x0422, 0x0423, 0x0416, 0x0412,           
 95         0x042c, 0x042b, 0x0417, 0x0428,           
 96         0x042d, 0x0429, 0x0427, 0x042a,           
 97 };                                                
 98                                                   
 99 static const unsigned char page00[256] = {        
100         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x    
101         0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x    
102         0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x    
103         0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x    
104         0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x    
105         0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x    
106         0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x    
107         0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x    
108         0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x    
109         0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x    
110         0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x    
111         0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x    
112         0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x    
113         0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x    
114         0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x    
115         0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x    
116                                                   
117         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
118         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
119         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
120         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
121         0x9a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
122         0x00, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x    
123         0x9c, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x    
124         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
125         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
126         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
127         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
128         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
129         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
130         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
131         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
132 };                                                
133                                                   
134 static const unsigned char page04[256] = {        
135         0x00, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x    
136         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
137         0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0x    
138         0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0x    
139         0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0x    
140         0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0x    
141         0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0x    
142         0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0x    
143         0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0x    
144         0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0x    
145         0x00, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x    
146 };                                                
147                                                   
148 static const unsigned char page22[256] = {        
149         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
150         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
151         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
152         0x00, 0x95, 0x96, 0x00, 0x00, 0x00, 0x    
153         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
154         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
155         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
156         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
157         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
158         0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
159         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
160         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
161         0x00, 0x00, 0x00, 0x00, 0x98, 0x99, 0x    
162 };                                                
163                                                   
164 static const unsigned char page23[256] = {        
165         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
166         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
167         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
168         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
169         0x93, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x    
170 };                                                
171                                                   
172 static const unsigned char page25[256] = {        
173         0x80, 0x00, 0x81, 0x00, 0x00, 0x00, 0x    
174         0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x    
175         0x83, 0x00, 0x00, 0x00, 0x84, 0x00, 0x    
176         0x85, 0x00, 0x00, 0x00, 0x86, 0x00, 0x    
177         0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x    
178         0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x    
179         0x00, 0x00, 0x00, 0x00, 0x89, 0x00, 0x    
180         0x00, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x    
181         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
182         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
183         0xa0, 0xa1, 0xa2, 0xa4, 0xa5, 0xa6, 0x    
184         0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0x    
185         0xb1, 0xb2, 0xb4, 0xb5, 0xb6, 0xb7, 0x    
186         0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0x00, 0x    
187         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
188         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
189                                                   
190         0x8b, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x    
191         0x8d, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x    
192         0x8f, 0x90, 0x91, 0x92, 0x00, 0x00, 0x    
193         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
194         0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x    
195 };                                                
196                                                   
197 static const unsigned char *const page_uni2cha    
198         page00, NULL,   NULL,   NULL,   page04    
199         NULL,   NULL,   NULL,   NULL,   NULL,     
200         NULL,   NULL,   NULL,   NULL,   NULL,     
201         NULL,   NULL,   NULL,   NULL,   NULL,     
202         NULL,   NULL,   page22, page23, NULL,     
203 };                                                
204                                                   
205 static const unsigned char charset2lower[256]     
206         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x    
207         0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x    
208         0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x    
209         0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x    
210         0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x    
211         0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x    
212         0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x    
213         0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x    
214         0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x    
215         0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x    
216         0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x    
217         0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x    
218         0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x    
219         0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x    
220         0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x    
221         0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x    
222                                                   
223         0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x    
224         0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x    
225         0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x    
226         0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x    
227         0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0x    
228         0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0x    
229         0xb0, 0xb1, 0xb2, 0xa3, 0xb4, 0xb5, 0x    
230         0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0x    
231         0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0x    
232         0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0x    
233         0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0x    
234         0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0x    
235         0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0x    
236         0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0x    
237         0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0x    
238         0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0x    
239 };                                                
240                                                   
241 static const unsigned char charset2upper[256]     
242         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x    
243         0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x    
244         0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x    
245         0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x    
246         0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x    
247         0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x    
248         0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x    
249         0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x    
250         0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x    
251         0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x    
252         0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x    
253         0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x    
254         0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x    
255         0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x    
256         0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x    
257         0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x    
258                                                   
259         0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x    
260         0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x    
261         0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x    
262         0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x    
263         0xa0, 0xa1, 0xa2, 0xb3, 0xa4, 0xa5, 0x    
264         0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0x    
265         0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0x    
266         0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0x    
267         0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0x    
268         0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0x    
269         0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0x    
270         0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0x    
271         0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0x    
272         0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0x    
273         0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0x    
274         0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0x    
275 };                                                
276                                                   
277 static int uni2char(wchar_t uni, unsigned char    
278 {                                                 
279         const unsigned char *uni2charset;         
280         unsigned char cl = uni & 0x00ff;          
281         unsigned char ch = (uni & 0xff00) >> 8    
282                                                   
283         if (boundlen <= 0)                        
284                 return -ENAMETOOLONG;             
285                                                   
286         uni2charset = page_uni2charset[ch];       
287         if (uni2charset && uni2charset[cl])       
288                 out[0] = uni2charset[cl];         
289         else                                      
290                 return -EINVAL;                   
291         return 1;                                 
292 }                                                 
293                                                   
294 static int char2uni(const unsigned char *rawst    
295 {                                                 
296         *uni = charset2uni[*rawstring];           
297         if (*uni == 0x0000)                       
298                 return -EINVAL;                   
299         return 1;                                 
300 }                                                 
301                                                   
302 static struct nls_table table = {                 
303         .charset        = "koi8-r",               
304         .uni2char       = uni2char,               
305         .char2uni       = char2uni,               
306         .charset2lower  = charset2lower,          
307         .charset2upper  = charset2upper,          
308 };                                                
309                                                   
310 static int __init init_nls_koi8_r(void)           
311 {                                                 
312         return register_nls(&table);              
313 }                                                 
314                                                   
315 static void __exit exit_nls_koi8_r(void)          
316 {                                                 
317         unregister_nls(&table);                   
318 }                                                 
319                                                   
320 module_init(init_nls_koi8_r)                      
321 module_exit(exit_nls_koi8_r)                      
322                                                   
323 MODULE_DESCRIPTION("NLS KOI8-R (Russian)");       
324 MODULE_LICENSE("Dual BSD/GPL");                   
325                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php