blob: dafcb9fbbfef3cb8f0ec2ca1f4bda1a48d192679 [file] [log] [blame]
/* 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