1 | /* Builtin transformations. |
2 | Copyright (C) 1997-2023 Free Software Foundation, Inc. |
3 | This file is part of the GNU C Library. |
4 | |
5 | The GNU C Library is free software; you can redistribute it and/or |
6 | modify it under the terms of the GNU Lesser General Public |
7 | License as published by the Free Software Foundation; either |
8 | version 2.1 of the License, or (at your option) any later version. |
9 | |
10 | The GNU C Library is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | Lesser General Public License for more details. |
14 | |
15 | You should have received a copy of the GNU Lesser General Public |
16 | License along with the GNU C Library; if not, see |
17 | <https://www.gnu.org/licenses/>. */ |
18 | |
19 | /* All encoding named must be in upper case. There must be no extra |
20 | spaces. */ |
21 | |
22 | BUILTIN_ALIAS ("UCS4//" , "ISO-10646/UCS4/" ) |
23 | BUILTIN_ALIAS ("UCS-4//" , "ISO-10646/UCS4/" ) |
24 | BUILTIN_ALIAS ("UCS-4BE//" , "ISO-10646/UCS4/" ) |
25 | BUILTIN_ALIAS ("CSUCS4//" , "ISO-10646/UCS4/" ) |
26 | BUILTIN_ALIAS ("ISO-10646//" , "ISO-10646/UCS4/" ) |
27 | BUILTIN_ALIAS ("10646-1:1993//" , "ISO-10646/UCS4/" ) |
28 | BUILTIN_ALIAS ("10646-1:1993/UCS4/" , "ISO-10646/UCS4/" ) |
29 | BUILTIN_ALIAS ("OSF00010104//" , "ISO-10646/UCS4/" ) /* level 1 */ |
30 | BUILTIN_ALIAS ("OSF00010105//" , "ISO-10646/UCS4/" ) /* level 2 */ |
31 | BUILTIN_ALIAS ("OSF00010106//" , "ISO-10646/UCS4/" ) /* level 3 */ |
32 | |
33 | BUILTIN_TRANSFORMATION ("INTERNAL" , "ISO-10646/UCS4/" , 1, "=INTERNAL->ucs4" , |
34 | __gconv_transform_internal_ucs4, NULL, 4, 4, 4, 4) |
35 | BUILTIN_TRANSFORMATION ("ISO-10646/UCS4/" , "INTERNAL" , 1, "=ucs4->INTERNAL" , |
36 | __gconv_transform_ucs4_internal, NULL, 4, 4, 4, 4) |
37 | |
38 | BUILTIN_TRANSFORMATION ("INTERNAL" , "UCS-4LE//" , 1, "=INTERNAL->ucs4le" , |
39 | __gconv_transform_internal_ucs4le, NULL, 4, 4, 4, 4) |
40 | BUILTIN_TRANSFORMATION ("UCS-4LE//" , "INTERNAL" , 1, "=ucs4le->INTERNAL" , |
41 | __gconv_transform_ucs4le_internal, NULL, 4, 4, 4, 4) |
42 | |
43 | BUILTIN_ALIAS ("WCHAR_T//" , "INTERNAL" ) |
44 | |
45 | BUILTIN_ALIAS ("UTF8//" , "ISO-10646/UTF8/" ) |
46 | BUILTIN_ALIAS ("UTF-8//" , "ISO-10646/UTF8/" ) |
47 | BUILTIN_ALIAS ("ISO-IR-193//" , "ISO-10646/UTF8/" ) |
48 | BUILTIN_ALIAS ("OSF05010001//" , "ISO-10646/UTF8/" ) |
49 | BUILTIN_ALIAS ("ISO-10646/UTF-8/" , "ISO-10646/UTF8/" ) |
50 | |
51 | BUILTIN_TRANSFORMATION ("INTERNAL" , "ISO-10646/UTF8/" , 1, "=INTERNAL->utf8" , |
52 | __gconv_transform_internal_utf8, NULL, 4, 4, 1, 6) |
53 | |
54 | BUILTIN_TRANSFORMATION ("ISO-10646/UTF8/" , "INTERNAL" , 1, "=utf8->INTERNAL" , |
55 | __gconv_transform_utf8_internal, __gconv_btwoc_ascii, |
56 | 1, 6, 4, 4) |
57 | |
58 | BUILTIN_ALIAS ("UCS2//" , "ISO-10646/UCS2/" ) |
59 | BUILTIN_ALIAS ("UCS-2//" , "ISO-10646/UCS2/" ) |
60 | BUILTIN_ALIAS ("OSF00010100//" , "ISO-10646/UCS2/" ) /* level 1 */ |
61 | BUILTIN_ALIAS ("OSF00010101//" , "ISO-10646/UCS2/" ) /* level 2 */ |
62 | BUILTIN_ALIAS ("OSF00010102//" , "ISO-10646/UCS2/" ) /* level 3 */ |
63 | |
64 | BUILTIN_TRANSFORMATION ("ISO-10646/UCS2/" , "INTERNAL" , 1, "=ucs2->INTERNAL" , |
65 | __gconv_transform_ucs2_internal, NULL, 2, 2, 4, 4) |
66 | |
67 | BUILTIN_TRANSFORMATION ("INTERNAL" , "ISO-10646/UCS2/" , 1, "=INTERNAL->ucs2" , |
68 | __gconv_transform_internal_ucs2, NULL, 4, 4, 2, 2) |
69 | |
70 | |
71 | BUILTIN_ALIAS ("ANSI_X3.4//" , "ANSI_X3.4-1968//" ) |
72 | BUILTIN_ALIAS ("ISO-IR-6//" , "ANSI_X3.4-1968//" ) |
73 | BUILTIN_ALIAS ("ANSI_X3.4-1986//" , "ANSI_X3.4-1968//" ) |
74 | BUILTIN_ALIAS ("ISO_646.IRV:1991//" , "ANSI_X3.4-1968//" ) |
75 | BUILTIN_ALIAS ("ASCII//" , "ANSI_X3.4-1968//" ) |
76 | BUILTIN_ALIAS ("ISO646-US//" , "ANSI_X3.4-1968//" ) |
77 | BUILTIN_ALIAS ("US-ASCII//" , "ANSI_X3.4-1968//" ) |
78 | BUILTIN_ALIAS ("US//" , "ANSI_X3.4-1968//" ) |
79 | BUILTIN_ALIAS ("IBM367//" , "ANSI_X3.4-1968//" ) |
80 | BUILTIN_ALIAS ("CP367//" , "ANSI_X3.4-1968//" ) |
81 | BUILTIN_ALIAS ("CSASCII//" , "ANSI_X3.4-1968//" ) |
82 | BUILTIN_ALIAS ("OSF00010020//" , "ANSI_X3.4-1968//" ) |
83 | |
84 | BUILTIN_TRANSFORMATION ("ANSI_X3.4-1968//" , "INTERNAL" , 1, "=ascii->INTERNAL" , |
85 | __gconv_transform_ascii_internal, __gconv_btwoc_ascii, |
86 | 1, 1, 4, 4) |
87 | |
88 | BUILTIN_TRANSFORMATION ("INTERNAL" , "ANSI_X3.4-1968//" , 1, "=INTERNAL->ascii" , |
89 | __gconv_transform_internal_ascii, NULL, 4, 4, 1, 1) |
90 | |
91 | |
92 | #if BYTE_ORDER == BIG_ENDIAN |
93 | BUILTIN_ALIAS ("UNICODEBIG//" , "ISO-10646/UCS2/" ) |
94 | BUILTIN_ALIAS ("UCS-2BE//" , "ISO-10646/UCS2/" ) |
95 | |
96 | BUILTIN_ALIAS ("UCS-2LE//" , "UNICODELITTLE//" ) |
97 | |
98 | BUILTIN_TRANSFORMATION ("UNICODELITTLE//" , "INTERNAL" , 1, |
99 | "=ucs2reverse->INTERNAL" , |
100 | __gconv_transform_ucs2reverse_internal, NULL, |
101 | 2, 2, 4, 4) |
102 | |
103 | BUILTIN_TRANSFORMATION ("INTERNAL" , "UNICODELITTLE//" , 1, |
104 | "=INTERNAL->ucs2reverse" , |
105 | __gconv_transform_internal_ucs2reverse, NULL, |
106 | 4, 4, 2, 2) |
107 | #else |
108 | BUILTIN_ALIAS ("UNICODELITTLE//" , "ISO-10646/UCS2/" ) |
109 | BUILTIN_ALIAS ("UCS-2LE//" , "ISO-10646/UCS2/" ) |
110 | |
111 | BUILTIN_ALIAS ("UCS-2BE//" , "UNICODEBIG//" ) |
112 | |
113 | BUILTIN_TRANSFORMATION ("UNICODEBIG//" , "INTERNAL" , 1, |
114 | "=ucs2reverse->INTERNAL" , |
115 | __gconv_transform_ucs2reverse_internal, NULL, |
116 | 2, 2, 4, 4) |
117 | |
118 | BUILTIN_TRANSFORMATION ("INTERNAL" , "UNICODEBIG//" , 1, |
119 | "=INTERNAL->ucs2reverse" , |
120 | __gconv_transform_internal_ucs2reverse, NULL, |
121 | 4, 4, 2, 2) |
122 | #endif |
123 | |