gnunet-android

GNUnet for Android
Log | Files | Refs | README

localcharset.h (6270B)


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