| /* Access to locale-dependent parameters. |
| Copyright (C) 1995-2014 Free Software Foundation, Inc. |
| This file is part of the GNU C Library. |
| |
| The GNU C Library 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. |
| |
| The GNU C Library 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 the GNU C Library; if not, see |
| <http://www.gnu.org/licenses/>. */ |
| |
| #ifndef THIRD_PARTY_GLIBC_LOCALES_COMMON_LANGINFO_H |
| #define THIRD_PARTY_GLIBC_LOCALES_COMMON_LANGINFO_H |
| |
| #include "third_party/glibc_locales/common/localeinfo.h" |
| #include "third_party/glibc_locales/glibc_locales.h" |
| |
| /* Construct an `nl_item' value for `nl_langinfo' from a locale category |
| (LC_*) and an item index within the category. Some code may depend on |
| the item values within a category increasing monotonically with the |
| indices. */ |
| #define GOOGLE_NL_ITEM(category, index) (((category) << 16) | (index)) |
| |
| /* Extract the category and item index from a constructed `nl_item' value. */ |
| #define GOOGLE_NL_ITEM_CATEGORY(item) ((int)(item) >> 16) |
| #define GOOGLE_NL_ITEM_INDEX(item) ((int)(item) & 0xffff) |
| |
| /* Enumeration of locale items that can be queried with `nl_langinfo'. */ |
| enum { |
| /* LC_COLLATE category: text sorting. |
| This information is accessed by the strcoll and strxfrm functions. |
| These `nl_langinfo' names are used only internally. */ |
| GOOGLE_NL_COLLATE_NRULES = GOOGLE_NL_ITEM(GOOGLE_LC_COLLATE, 0), |
| GOOGLE_NL_COLLATE_RULESETS, |
| GOOGLE_NL_COLLATE_TABLEMB, |
| GOOGLE_NL_COLLATE_WEIGHTMB, |
| GOOGLE_NL_COLLATE_EXTRAMB, |
| GOOGLE_NL_COLLATE_INDIRECTMB, |
| GOOGLE_NL_COLLATE_GAP1, |
| GOOGLE_NL_COLLATE_GAP2, |
| GOOGLE_NL_COLLATE_GAP3, |
| GOOGLE_NL_COLLATE_TABLEWC, |
| GOOGLE_NL_COLLATE_WEIGHTWC, |
| GOOGLE_NL_COLLATE_EXTRAWC, |
| GOOGLE_NL_COLLATE_INDIRECTWC, |
| GOOGLE_NL_COLLATE_SYMB_HASH_SIZEMB, |
| GOOGLE_NL_COLLATE_SYMB_TABLEMB, |
| GOOGLE_NL_COLLATE_SYMB_EXTRAMB, |
| GOOGLE_NL_COLLATE_COLLSEQMB, |
| GOOGLE_NL_COLLATE_COLLSEQWC, |
| GOOGLE_NL_COLLATE_CODESET, |
| GOOGLE_NL_NUM_GOOGLE_LC_COLLATE, |
| |
| /* LC_CTYPE category: character classification. |
| This information is accessed by the functions in <ctype.h>. |
| These `nl_langinfo' names are used only internally. */ |
| GOOGLE_NL_CTYPE_CLASS = GOOGLE_NL_ITEM(GOOGLE_LC_CTYPE, 0), |
| GOOGLE_NL_CTYPE_TOUPPER, |
| GOOGLE_NL_CTYPE_GAP1, |
| GOOGLE_NL_CTYPE_TOLOWER, |
| GOOGLE_NL_CTYPE_GAP2, |
| GOOGLE_NL_CTYPE_CLASS32, |
| GOOGLE_NL_CTYPE_GAP3, |
| GOOGLE_NL_CTYPE_GAP4, |
| GOOGLE_NL_CTYPE_GAP5, |
| GOOGLE_NL_CTYPE_GAP6, |
| GOOGLE_NL_CTYPE_CLASS_NAMES, |
| GOOGLE_NL_CTYPE_MAP_NAMES, |
| GOOGLE_NL_CTYPE_WIDTH, |
| GOOGLE_NL_CTYPE_MB_CUR_MAX, |
| GOOGLE_NL_CTYPE_CODESET_NAME, |
| GOOGLE_NL_CTYPE_TOUPPER32, |
| GOOGLE_NL_CTYPE_TOLOWER32, |
| GOOGLE_NL_CTYPE_CLASS_OFFSET, |
| GOOGLE_NL_CTYPE_MAP_OFFSET, |
| GOOGLE_NL_CTYPE_INDIGITS_MB_LEN, |
| GOOGLE_NL_CTYPE_INDIGITS0_MB, |
| GOOGLE_NL_CTYPE_INDIGITS1_MB, |
| GOOGLE_NL_CTYPE_INDIGITS2_MB, |
| GOOGLE_NL_CTYPE_INDIGITS3_MB, |
| GOOGLE_NL_CTYPE_INDIGITS4_MB, |
| GOOGLE_NL_CTYPE_INDIGITS5_MB, |
| GOOGLE_NL_CTYPE_INDIGITS6_MB, |
| GOOGLE_NL_CTYPE_INDIGITS7_MB, |
| GOOGLE_NL_CTYPE_INDIGITS8_MB, |
| GOOGLE_NL_CTYPE_INDIGITS9_MB, |
| GOOGLE_NL_CTYPE_INDIGITS_WC_LEN, |
| GOOGLE_NL_CTYPE_INDIGITS0_WC, |
| GOOGLE_NL_CTYPE_INDIGITS1_WC, |
| GOOGLE_NL_CTYPE_INDIGITS2_WC, |
| GOOGLE_NL_CTYPE_INDIGITS3_WC, |
| GOOGLE_NL_CTYPE_INDIGITS4_WC, |
| GOOGLE_NL_CTYPE_INDIGITS5_WC, |
| GOOGLE_NL_CTYPE_INDIGITS6_WC, |
| GOOGLE_NL_CTYPE_INDIGITS7_WC, |
| GOOGLE_NL_CTYPE_INDIGITS8_WC, |
| GOOGLE_NL_CTYPE_INDIGITS9_WC, |
| GOOGLE_NL_CTYPE_OUTDIGIT0_MB, |
| GOOGLE_NL_CTYPE_OUTDIGIT1_MB, |
| GOOGLE_NL_CTYPE_OUTDIGIT2_MB, |
| GOOGLE_NL_CTYPE_OUTDIGIT3_MB, |
| GOOGLE_NL_CTYPE_OUTDIGIT4_MB, |
| GOOGLE_NL_CTYPE_OUTDIGIT5_MB, |
| GOOGLE_NL_CTYPE_OUTDIGIT6_MB, |
| GOOGLE_NL_CTYPE_OUTDIGIT7_MB, |
| GOOGLE_NL_CTYPE_OUTDIGIT8_MB, |
| GOOGLE_NL_CTYPE_OUTDIGIT9_MB, |
| GOOGLE_NL_CTYPE_OUTDIGIT0_WC, |
| GOOGLE_NL_CTYPE_OUTDIGIT1_WC, |
| GOOGLE_NL_CTYPE_OUTDIGIT2_WC, |
| GOOGLE_NL_CTYPE_OUTDIGIT3_WC, |
| GOOGLE_NL_CTYPE_OUTDIGIT4_WC, |
| GOOGLE_NL_CTYPE_OUTDIGIT5_WC, |
| GOOGLE_NL_CTYPE_OUTDIGIT6_WC, |
| GOOGLE_NL_CTYPE_OUTDIGIT7_WC, |
| GOOGLE_NL_CTYPE_OUTDIGIT8_WC, |
| GOOGLE_NL_CTYPE_OUTDIGIT9_WC, |
| GOOGLE_NL_CTYPE_TRANSLIT_TAB_SIZE, |
| GOOGLE_NL_CTYPE_TRANSLIT_FROM_IDX, |
| GOOGLE_NL_CTYPE_TRANSLIT_FROM_TBL, |
| GOOGLE_NL_CTYPE_TRANSLIT_TO_IDX, |
| GOOGLE_NL_CTYPE_TRANSLIT_TO_TBL, |
| GOOGLE_NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN, |
| GOOGLE_NL_CTYPE_TRANSLIT_DEFAULT_MISSING, |
| GOOGLE_NL_CTYPE_TRANSLIT_IGNORE_LEN, |
| GOOGLE_NL_CTYPE_TRANSLIT_IGNORE, |
| GOOGLE_NL_CTYPE_MAP_TO_NONASCII, |
| GOOGLE_NL_CTYPE_NONASCII_CASE, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_1, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_2, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_3, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_4, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_5, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_6, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_7, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_8, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_9, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_10, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_11, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_12, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_13, |
| GOOGLE_NL_CTYPE_EXTRA_MAP_14, |
| GOOGLE_NL_NUM_GOOGLE_LC_CTYPE, |
| |
| /* This marks the highest value used. */ |
| GOOGLE_NL_NUM |
| }; |
| |
| #endif // THIRD_PARTY_GLIBC_LOCALES_SRC_LOCALE_LANGINFO_H |