| /* Determine a canonical name for the current locale's character encoding. |
| Copyright (C) 2000-2003, 2009-2022 Free Software Foundation, Inc. |
| This file is part of the GNU CHARSET Library. |
| |
| This file is free software: you can redistribute it and/or modify |
| it under the terms of the GNU Lesser General Public License as |
| published by the Free Software Foundation; either version 2.1 of the |
| License, or (at your option) any later version. |
| |
| This file is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU Lesser General Public License for more details. |
| |
| You should have received a copy of the GNU Lesser General Public License |
| along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
| |
| #ifndef _LOCALCHARSET_H |
| #define _LOCALCHARSET_H |
| |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| |
| /* Determine the current locale's character encoding, and canonicalize it |
| into one of the canonical names listed below. |
| The result must not be freed; it is statically allocated. The result |
| becomes invalid when setlocale() is used to change the global locale, or |
| when the value of one of the environment variables LC_ALL, LC_CTYPE, LANG |
| is changed; threads in multithreaded programs should not do this. |
| If the canonical name cannot be determined, the result is a non-canonical |
| name. */ |
| extern const char * locale_charset (void); |
| |
| /* About GNU canonical names for character encodings: |
| |
| Every canonical name must be supported by GNU libiconv. Support by GNU libc |
| is also desirable. |
| |
| The name is case insensitive. Usually an upper case MIME charset name is |
| preferred. |
| |
| The current list of these GNU canonical names is: |
| |
| name MIME? used by which systems |
| (darwin = Mac OS X, windows = native Windows) |
| |
| ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin minix cygwin |
| ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos |
| ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos |
| ISO-8859-3 Y glibc solaris cygwin |
| ISO-8859-4 Y hpux osf solaris freebsd netbsd openbsd darwin |
| ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos |
| ISO-8859-6 Y glibc aix hpux solaris cygwin |
| ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin zos |
| ISO-8859-8 Y glibc aix hpux osf solaris cygwin zos |
| ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin zos |
| ISO-8859-13 glibc hpux solaris freebsd netbsd openbsd darwin cygwin |
| ISO-8859-14 glibc cygwin |
| ISO-8859-15 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin |
| KOI8-R Y glibc hpux solaris freebsd netbsd openbsd darwin |
| KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin |
| KOI8-T glibc |
| CP437 dos |
| CP775 dos |
| CP850 aix osf dos |
| CP852 dos |
| CP855 dos |
| CP856 aix |
| CP857 dos |
| CP861 dos |
| CP862 dos |
| CP864 dos |
| CP865 dos |
| CP866 freebsd netbsd openbsd darwin dos |
| CP869 dos |
| CP874 windows dos |
| CP922 aix |
| CP932 aix cygwin windows dos |
| CP943 aix zos |
| CP949 osf darwin windows dos |
| CP950 windows dos |
| CP1046 aix |
| CP1124 aix |
| CP1125 dos |
| CP1129 aix |
| CP1131 freebsd darwin |
| CP1250 windows |
| CP1251 glibc hpux solaris freebsd netbsd openbsd darwin cygwin windows |
| CP1252 aix windows |
| CP1253 windows |
| CP1254 windows |
| CP1255 glibc windows |
| CP1256 windows |
| CP1257 windows |
| GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin zos |
| EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin |
| EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin zos |
| EUC-TW glibc aix hpux irix osf solaris netbsd |
| BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin zos |
| BIG5-HKSCS glibc hpux solaris netbsd darwin |
| GBK glibc aix osf solaris freebsd darwin cygwin windows dos |
| GB18030 glibc hpux solaris freebsd netbsd darwin |
| SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin |
| JOHAB glibc solaris windows |
| TIS-620 glibc aix hpux osf solaris cygwin zos |
| VISCII Y glibc |
| TCVN5712-1 glibc |
| ARMSCII-8 glibc freebsd netbsd darwin |
| GEORGIAN-PS glibc cygwin |
| PT154 glibc netbsd cygwin |
| HP-ROMAN8 hpux |
| HP-ARABIC8 hpux |
| HP-GREEK8 hpux |
| HP-HEBREW8 hpux |
| HP-TURKISH8 hpux |
| HP-KANA8 hpux |
| DEC-KANJI osf |
| DEC-HANYU osf |
| UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin zos |
| |
| Note: Names which are not marked as being a MIME name should not be used in |
| Internet protocols for information interchange (mail, news, etc.). |
| |
| Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications |
| must understand both names and treat them as equivalent. |
| */ |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| |
| #endif /* _LOCALCHARSET_H */ |