jpayne@69
|
1 /* Determine a canonical name for the current locale's character encoding.
|
jpayne@69
|
2 Copyright (C) 2000-2003, 2009-2019 Free Software Foundation, Inc.
|
jpayne@69
|
3 This file is part of the GNU CHARSET Library.
|
jpayne@69
|
4
|
jpayne@69
|
5 This program is free software; you can redistribute it and/or modify it
|
jpayne@69
|
6 under the terms of the GNU Lesser General Public License as published
|
jpayne@69
|
7 by the Free Software Foundation; either version 2, or (at your option)
|
jpayne@69
|
8 any later version.
|
jpayne@69
|
9
|
jpayne@69
|
10 This program is distributed in the hope that it will be useful,
|
jpayne@69
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
|
jpayne@69
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
jpayne@69
|
13 Lesser General Public License for more details.
|
jpayne@69
|
14
|
jpayne@69
|
15 You should have received a copy of the GNU Lesser General Public License
|
jpayne@69
|
16 along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
jpayne@69
|
17
|
jpayne@69
|
18 #ifndef _LOCALCHARSET_H
|
jpayne@69
|
19 #define _LOCALCHARSET_H
|
jpayne@69
|
20
|
jpayne@69
|
21
|
jpayne@69
|
22 #ifdef __cplusplus
|
jpayne@69
|
23 extern "C" {
|
jpayne@69
|
24 #endif
|
jpayne@69
|
25
|
jpayne@69
|
26
|
jpayne@69
|
27 /* Determine the current locale's character encoding, and canonicalize it
|
jpayne@69
|
28 into one of the canonical names listed below.
|
jpayne@69
|
29 The result must not be freed; it is statically allocated. The result
|
jpayne@69
|
30 becomes invalid when setlocale() is used to change the global locale, or
|
jpayne@69
|
31 when the value of one of the environment variables LC_ALL, LC_CTYPE, LANG
|
jpayne@69
|
32 is changed; threads in multithreaded programs should not do this.
|
jpayne@69
|
33 If the canonical name cannot be determined, the result is a non-canonical
|
jpayne@69
|
34 name. */
|
jpayne@69
|
35 extern const char * locale_charset (void);
|
jpayne@69
|
36
|
jpayne@69
|
37 /* About GNU canonical names for character encodings:
|
jpayne@69
|
38
|
jpayne@69
|
39 Every canonical name must be supported by GNU libiconv. Support by GNU libc
|
jpayne@69
|
40 is also desirable.
|
jpayne@69
|
41
|
jpayne@69
|
42 The name is case insensitive. Usually an upper case MIME charset name is
|
jpayne@69
|
43 preferred.
|
jpayne@69
|
44
|
jpayne@69
|
45 The current list of these GNU canonical names is:
|
jpayne@69
|
46
|
jpayne@69
|
47 name MIME? used by which systems
|
jpayne@69
|
48 (darwin = Mac OS X, windows = native Windows)
|
jpayne@69
|
49
|
jpayne@69
|
50 ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin minix cygwin
|
jpayne@69
|
51 ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos
|
jpayne@69
|
52 ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos
|
jpayne@69
|
53 ISO-8859-3 Y glibc solaris cygwin
|
jpayne@69
|
54 ISO-8859-4 Y hpux osf solaris freebsd netbsd openbsd darwin
|
jpayne@69
|
55 ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos
|
jpayne@69
|
56 ISO-8859-6 Y glibc aix hpux solaris cygwin
|
jpayne@69
|
57 ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos
|
jpayne@69
|
58 ISO-8859-8 Y glibc aix hpux osf solaris cygwin zos
|
jpayne@69
|
59 ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin zos
|
jpayne@69
|
60 ISO-8859-13 glibc hpux solaris freebsd netbsd openbsd darwin cygwin
|
jpayne@69
|
61 ISO-8859-14 glibc cygwin
|
jpayne@69
|
62 ISO-8859-15 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin
|
jpayne@69
|
63 KOI8-R Y glibc hpux solaris freebsd netbsd openbsd darwin
|
jpayne@69
|
64 KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin
|
jpayne@69
|
65 KOI8-T glibc
|
jpayne@69
|
66 CP437 dos
|
jpayne@69
|
67 CP775 dos
|
jpayne@69
|
68 CP850 aix osf dos
|
jpayne@69
|
69 CP852 dos
|
jpayne@69
|
70 CP855 dos
|
jpayne@69
|
71 CP856 aix
|
jpayne@69
|
72 CP857 dos
|
jpayne@69
|
73 CP861 dos
|
jpayne@69
|
74 CP862 dos
|
jpayne@69
|
75 CP864 dos
|
jpayne@69
|
76 CP865 dos
|
jpayne@69
|
77 CP866 freebsd netbsd openbsd darwin dos
|
jpayne@69
|
78 CP869 dos
|
jpayne@69
|
79 CP874 windows dos
|
jpayne@69
|
80 CP922 aix
|
jpayne@69
|
81 CP932 aix cygwin windows dos
|
jpayne@69
|
82 CP943 aix zos
|
jpayne@69
|
83 CP949 osf darwin windows dos
|
jpayne@69
|
84 CP950 windows dos
|
jpayne@69
|
85 CP1046 aix
|
jpayne@69
|
86 CP1124 aix
|
jpayne@69
|
87 CP1125 dos
|
jpayne@69
|
88 CP1129 aix
|
jpayne@69
|
89 CP1131 freebsd darwin
|
jpayne@69
|
90 CP1250 windows
|
jpayne@69
|
91 CP1251 glibc hpux solaris freebsd netbsd openbsd darwin cygwin windows
|
jpayne@69
|
92 CP1252 aix windows
|
jpayne@69
|
93 CP1253 windows
|
jpayne@69
|
94 CP1254 windows
|
jpayne@69
|
95 CP1255 glibc windows
|
jpayne@69
|
96 CP1256 windows
|
jpayne@69
|
97 CP1257 windows
|
jpayne@69
|
98 GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin zos
|
jpayne@69
|
99 EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
|
jpayne@69
|
100 EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin zos
|
jpayne@69
|
101 EUC-TW glibc aix hpux irix osf solaris netbsd
|
jpayne@69
|
102 BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin zos
|
jpayne@69
|
103 BIG5-HKSCS glibc hpux solaris netbsd darwin
|
jpayne@69
|
104 GBK glibc aix osf solaris freebsd darwin cygwin windows dos
|
jpayne@69
|
105 GB18030 glibc hpux solaris freebsd netbsd darwin
|
jpayne@69
|
106 SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin
|
jpayne@69
|
107 JOHAB glibc solaris windows
|
jpayne@69
|
108 TIS-620 glibc aix hpux osf solaris cygwin zos
|
jpayne@69
|
109 VISCII Y glibc
|
jpayne@69
|
110 TCVN5712-1 glibc
|
jpayne@69
|
111 ARMSCII-8 glibc freebsd netbsd darwin
|
jpayne@69
|
112 GEORGIAN-PS glibc cygwin
|
jpayne@69
|
113 PT154 glibc netbsd cygwin
|
jpayne@69
|
114 HP-ROMAN8 hpux
|
jpayne@69
|
115 HP-ARABIC8 hpux
|
jpayne@69
|
116 HP-GREEK8 hpux
|
jpayne@69
|
117 HP-HEBREW8 hpux
|
jpayne@69
|
118 HP-TURKISH8 hpux
|
jpayne@69
|
119 HP-KANA8 hpux
|
jpayne@69
|
120 DEC-KANJI osf
|
jpayne@69
|
121 DEC-HANYU osf
|
jpayne@69
|
122 UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin zos
|
jpayne@69
|
123
|
jpayne@69
|
124 Note: Names which are not marked as being a MIME name should not be used in
|
jpayne@69
|
125 Internet protocols for information interchange (mail, news, etc.).
|
jpayne@69
|
126
|
jpayne@69
|
127 Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
|
jpayne@69
|
128 must understand both names and treat them as equivalent.
|
jpayne@69
|
129 */
|
jpayne@69
|
130
|
jpayne@69
|
131
|
jpayne@69
|
132 #ifdef __cplusplus
|
jpayne@69
|
133 }
|
jpayne@69
|
134 #endif
|
jpayne@69
|
135
|
jpayne@69
|
136
|
jpayne@69
|
137 #endif /* _LOCALCHARSET_H */
|