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