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