138 lines
6.2 KiB
C
138 lines
6.2 KiB
C
|
/* Determine a canonical name for the current locale's character encoding.
|
||
|
Copyright (C) 2000-2003, 2009-2023 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 */
|