about summary refs log tree commit diff
path: root/REORG.TODO/locale/langinfo.h
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
committerZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
commit5046dbb4a7eba5eccfd258f92f4735c9ffc8d069 (patch)
tree4470480d904b65cf14ca524f96f79eca818c3eaf /REORG.TODO/locale/langinfo.h
parent199fc19d3aaaf57944ef036e15904febe877fc93 (diff)
downloadglibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.tar.gz
glibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.tar.xz
glibc-5046dbb4a7eba5eccfd258f92f4735c9ffc8d069.zip
Prepare for radical source tree reorganization. zack/build-layout-experiment
All top-level files and directories are moved into a temporary storage
directory, REORG.TODO, except for files that will certainly still
exist in their current form at top level when we're done (COPYING,
COPYING.LIB, LICENSES, NEWS, README), all old ChangeLog files (which
are moved to the new directory OldChangeLogs, instead), and the
generated file INSTALL (which is just deleted; in the new order, there
will be no generated files checked into version control).
Diffstat (limited to 'REORG.TODO/locale/langinfo.h')
-rw-r--r--REORG.TODO/locale/langinfo.h599
1 files changed, 599 insertions, 0 deletions
diff --git a/REORG.TODO/locale/langinfo.h b/REORG.TODO/locale/langinfo.h
new file mode 100644
index 0000000000..759adfbd1f
--- /dev/null
+++ b/REORG.TODO/locale/langinfo.h
@@ -0,0 +1,599 @@
+/* Access to locale-dependent parameters.
+   Copyright (C) 1995-2017 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 _LANGINFO_H
+#define	_LANGINFO_H 1
+
+/* Get the type definition.  */
+#include <nl_types.h>
+
+#include <bits/locale.h>	/* Define the __LC_* category names.  */
+
+
+__BEGIN_DECLS
+
+/* 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 _NL_ITEM(category, index)	(((category) << 16) | (index))
+
+/* Extract the category and item index from a constructed `nl_item' value.  */
+#define _NL_ITEM_CATEGORY(item)		((int) (item) >> 16)
+#define _NL_ITEM_INDEX(item)		((int) (item) & 0xffff)
+
+/* Enumeration of locale items that can be queried with `nl_langinfo'.  */
+enum
+{
+  /* LC_TIME category: date and time formatting.  */
+
+  /* Abbreviated days of the week. */
+  ABDAY_1 = _NL_ITEM (__LC_TIME, 0), /* Sun */
+#define ABDAY_1			ABDAY_1
+  ABDAY_2,
+#define ABDAY_2			ABDAY_2
+  ABDAY_3,
+#define ABDAY_3			ABDAY_3
+  ABDAY_4,
+#define ABDAY_4			ABDAY_4
+  ABDAY_5,
+#define ABDAY_5			ABDAY_5
+  ABDAY_6,
+#define ABDAY_6			ABDAY_6
+  ABDAY_7,
+#define ABDAY_7			ABDAY_7
+
+  /* Long-named days of the week. */
+  DAY_1,			/* Sunday */
+#define DAY_1			DAY_1
+  DAY_2,			/* Monday */
+#define DAY_2			DAY_2
+  DAY_3,			/* Tuesday */
+#define DAY_3			DAY_3
+  DAY_4,			/* Wednesday */
+#define DAY_4			DAY_4
+  DAY_5,			/* Thursday */
+#define DAY_5			DAY_5
+  DAY_6,			/* Friday */
+#define DAY_6			DAY_6
+  DAY_7,			/* Saturday */
+#define DAY_7			DAY_7
+
+  /* Abbreviated month names.  */
+  ABMON_1,			/* Jan */
+#define ABMON_1			ABMON_1
+  ABMON_2,
+#define ABMON_2			ABMON_2
+  ABMON_3,
+#define ABMON_3			ABMON_3
+  ABMON_4,
+#define ABMON_4			ABMON_4
+  ABMON_5,
+#define ABMON_5			ABMON_5
+  ABMON_6,
+#define ABMON_6			ABMON_6
+  ABMON_7,
+#define ABMON_7			ABMON_7
+  ABMON_8,
+#define ABMON_8			ABMON_8
+  ABMON_9,
+#define ABMON_9			ABMON_9
+  ABMON_10,
+#define ABMON_10		ABMON_10
+  ABMON_11,
+#define ABMON_11		ABMON_11
+  ABMON_12,
+#define ABMON_12		ABMON_12
+
+  /* Long month names.  */
+  MON_1,			/* January */
+#define MON_1			MON_1
+  MON_2,
+#define MON_2			MON_2
+  MON_3,
+#define MON_3			MON_3
+  MON_4,
+#define MON_4			MON_4
+  MON_5,
+#define MON_5			MON_5
+  MON_6,
+#define MON_6			MON_6
+  MON_7,
+#define MON_7			MON_7
+  MON_8,
+#define MON_8			MON_8
+  MON_9,
+#define MON_9			MON_9
+  MON_10,
+#define MON_10			MON_10
+  MON_11,
+#define MON_11			MON_11
+  MON_12,
+#define MON_12			MON_12
+
+  AM_STR,			/* Ante meridiem string.  */
+#define AM_STR			AM_STR
+  PM_STR,			/* Post meridiem string.  */
+#define PM_STR			PM_STR
+
+  D_T_FMT,			/* Date and time format for strftime.  */
+#define D_T_FMT			D_T_FMT
+  D_FMT,			/* Date format for strftime.  */
+#define D_FMT			D_FMT
+  T_FMT,			/* Time format for strftime.  */
+#define T_FMT			T_FMT
+  T_FMT_AMPM,			/* 12-hour time format for strftime.  */
+#define T_FMT_AMPM		T_FMT_AMPM
+
+  ERA,				/* Alternate era.  */
+#define ERA			ERA
+  __ERA_YEAR,			/* Year in alternate era format.  */
+#ifdef __USE_GNU
+# define ERA_YEAR		__ERA_YEAR
+#endif
+  ERA_D_FMT,			/* Date in alternate era format.  */
+#define ERA_D_FMT		ERA_D_FMT
+  ALT_DIGITS,			/* Alternate symbols for digits.  */
+#define ALT_DIGITS		ALT_DIGITS
+  ERA_D_T_FMT,			/* Date and time in alternate era format.  */
+#define ERA_D_T_FMT		ERA_D_T_FMT
+  ERA_T_FMT,			/* Time in alternate era format.  */
+#define ERA_T_FMT		ERA_T_FMT
+
+  _NL_TIME_ERA_NUM_ENTRIES,	/* Number entries in the era arrays.  */
+  _NL_TIME_ERA_ENTRIES,		/* Structure with era entries in usable form.*/
+
+  _NL_WABDAY_1,		/* Sun */
+  _NL_WABDAY_2,
+  _NL_WABDAY_3,
+  _NL_WABDAY_4,
+  _NL_WABDAY_5,
+  _NL_WABDAY_6,
+  _NL_WABDAY_7,
+
+  /* Long-named days of the week. */
+  _NL_WDAY_1,		/* Sunday */
+  _NL_WDAY_2,		/* Monday */
+  _NL_WDAY_3,		/* Tuesday */
+  _NL_WDAY_4,		/* Wednesday */
+  _NL_WDAY_5,		/* Thursday */
+  _NL_WDAY_6,		/* Friday */
+  _NL_WDAY_7,		/* Saturday */
+
+  /* Abbreviated month names.  */
+  _NL_WABMON_1,		/* Jan */
+  _NL_WABMON_2,
+  _NL_WABMON_3,
+  _NL_WABMON_4,
+  _NL_WABMON_5,
+  _NL_WABMON_6,
+  _NL_WABMON_7,
+  _NL_WABMON_8,
+  _NL_WABMON_9,
+  _NL_WABMON_10,
+  _NL_WABMON_11,
+  _NL_WABMON_12,
+
+  /* Long month names.  */
+  _NL_WMON_1,		/* January */
+  _NL_WMON_2,
+  _NL_WMON_3,
+  _NL_WMON_4,
+  _NL_WMON_5,
+  _NL_WMON_6,
+  _NL_WMON_7,
+  _NL_WMON_8,
+  _NL_WMON_9,
+  _NL_WMON_10,
+  _NL_WMON_11,
+  _NL_WMON_12,
+
+  _NL_WAM_STR,		/* Ante meridiem string.  */
+  _NL_WPM_STR,		/* Post meridiem string.  */
+
+  _NL_WD_T_FMT,		/* Date and time format for strftime.  */
+  _NL_WD_FMT,		/* Date format for strftime.  */
+  _NL_WT_FMT,		/* Time format for strftime.  */
+  _NL_WT_FMT_AMPM,	/* 12-hour time format for strftime.  */
+
+  _NL_WERA_YEAR,	/* Year in alternate era format.  */
+  _NL_WERA_D_FMT,	/* Date in alternate era format.  */
+  _NL_WALT_DIGITS,	/* Alternate symbols for digits.  */
+  _NL_WERA_D_T_FMT,	/* Date and time in alternate era format.  */
+  _NL_WERA_T_FMT,	/* Time in alternate era format.  */
+
+  _NL_TIME_WEEK_NDAYS,
+  _NL_TIME_WEEK_1STDAY,
+  _NL_TIME_WEEK_1STWEEK,
+  _NL_TIME_FIRST_WEEKDAY,
+  _NL_TIME_FIRST_WORKDAY,
+  _NL_TIME_CAL_DIRECTION,
+  _NL_TIME_TIMEZONE,
+
+  _DATE_FMT,		/* strftime format for date.  */
+#define _DATE_FMT	_DATE_FMT
+  _NL_W_DATE_FMT,
+
+  _NL_TIME_CODESET,
+
+  _NL_NUM_LC_TIME,	/* Number of indices in LC_TIME category.  */
+
+  /* LC_COLLATE category: text sorting.
+     This information is accessed by the strcoll and strxfrm functions.
+     These `nl_langinfo' names are used only internally.  */
+  _NL_COLLATE_NRULES = _NL_ITEM (__LC_COLLATE, 0),
+  _NL_COLLATE_RULESETS,
+  _NL_COLLATE_TABLEMB,
+  _NL_COLLATE_WEIGHTMB,
+  _NL_COLLATE_EXTRAMB,
+  _NL_COLLATE_INDIRECTMB,
+  _NL_COLLATE_GAP1,
+  _NL_COLLATE_GAP2,
+  _NL_COLLATE_GAP3,
+  _NL_COLLATE_TABLEWC,
+  _NL_COLLATE_WEIGHTWC,
+  _NL_COLLATE_EXTRAWC,
+  _NL_COLLATE_INDIRECTWC,
+  _NL_COLLATE_SYMB_HASH_SIZEMB,
+  _NL_COLLATE_SYMB_TABLEMB,
+  _NL_COLLATE_SYMB_EXTRAMB,
+  _NL_COLLATE_COLLSEQMB,
+  _NL_COLLATE_COLLSEQWC,
+  _NL_COLLATE_CODESET,
+  _NL_NUM_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.  */
+  _NL_CTYPE_CLASS = _NL_ITEM (__LC_CTYPE, 0),
+  _NL_CTYPE_TOUPPER,
+  _NL_CTYPE_GAP1,
+  _NL_CTYPE_TOLOWER,
+  _NL_CTYPE_GAP2,
+  _NL_CTYPE_CLASS32,
+  _NL_CTYPE_GAP3,
+  _NL_CTYPE_GAP4,
+  _NL_CTYPE_GAP5,
+  _NL_CTYPE_GAP6,
+  _NL_CTYPE_CLASS_NAMES,
+  _NL_CTYPE_MAP_NAMES,
+  _NL_CTYPE_WIDTH,
+  _NL_CTYPE_MB_CUR_MAX,
+  _NL_CTYPE_CODESET_NAME,
+  CODESET = _NL_CTYPE_CODESET_NAME,
+#define CODESET			CODESET
+  _NL_CTYPE_TOUPPER32,
+  _NL_CTYPE_TOLOWER32,
+  _NL_CTYPE_CLASS_OFFSET,
+  _NL_CTYPE_MAP_OFFSET,
+  _NL_CTYPE_INDIGITS_MB_LEN,
+  _NL_CTYPE_INDIGITS0_MB,
+  _NL_CTYPE_INDIGITS1_MB,
+  _NL_CTYPE_INDIGITS2_MB,
+  _NL_CTYPE_INDIGITS3_MB,
+  _NL_CTYPE_INDIGITS4_MB,
+  _NL_CTYPE_INDIGITS5_MB,
+  _NL_CTYPE_INDIGITS6_MB,
+  _NL_CTYPE_INDIGITS7_MB,
+  _NL_CTYPE_INDIGITS8_MB,
+  _NL_CTYPE_INDIGITS9_MB,
+  _NL_CTYPE_INDIGITS_WC_LEN,
+  _NL_CTYPE_INDIGITS0_WC,
+  _NL_CTYPE_INDIGITS1_WC,
+  _NL_CTYPE_INDIGITS2_WC,
+  _NL_CTYPE_INDIGITS3_WC,
+  _NL_CTYPE_INDIGITS4_WC,
+  _NL_CTYPE_INDIGITS5_WC,
+  _NL_CTYPE_INDIGITS6_WC,
+  _NL_CTYPE_INDIGITS7_WC,
+  _NL_CTYPE_INDIGITS8_WC,
+  _NL_CTYPE_INDIGITS9_WC,
+  _NL_CTYPE_OUTDIGIT0_MB,
+  _NL_CTYPE_OUTDIGIT1_MB,
+  _NL_CTYPE_OUTDIGIT2_MB,
+  _NL_CTYPE_OUTDIGIT3_MB,
+  _NL_CTYPE_OUTDIGIT4_MB,
+  _NL_CTYPE_OUTDIGIT5_MB,
+  _NL_CTYPE_OUTDIGIT6_MB,
+  _NL_CTYPE_OUTDIGIT7_MB,
+  _NL_CTYPE_OUTDIGIT8_MB,
+  _NL_CTYPE_OUTDIGIT9_MB,
+  _NL_CTYPE_OUTDIGIT0_WC,
+  _NL_CTYPE_OUTDIGIT1_WC,
+  _NL_CTYPE_OUTDIGIT2_WC,
+  _NL_CTYPE_OUTDIGIT3_WC,
+  _NL_CTYPE_OUTDIGIT4_WC,
+  _NL_CTYPE_OUTDIGIT5_WC,
+  _NL_CTYPE_OUTDIGIT6_WC,
+  _NL_CTYPE_OUTDIGIT7_WC,
+  _NL_CTYPE_OUTDIGIT8_WC,
+  _NL_CTYPE_OUTDIGIT9_WC,
+  _NL_CTYPE_TRANSLIT_TAB_SIZE,
+  _NL_CTYPE_TRANSLIT_FROM_IDX,
+  _NL_CTYPE_TRANSLIT_FROM_TBL,
+  _NL_CTYPE_TRANSLIT_TO_IDX,
+  _NL_CTYPE_TRANSLIT_TO_TBL,
+  _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN,
+  _NL_CTYPE_TRANSLIT_DEFAULT_MISSING,
+  _NL_CTYPE_TRANSLIT_IGNORE_LEN,
+  _NL_CTYPE_TRANSLIT_IGNORE,
+  _NL_CTYPE_MAP_TO_NONASCII,
+  _NL_CTYPE_NONASCII_CASE,
+  _NL_CTYPE_EXTRA_MAP_1,
+  _NL_CTYPE_EXTRA_MAP_2,
+  _NL_CTYPE_EXTRA_MAP_3,
+  _NL_CTYPE_EXTRA_MAP_4,
+  _NL_CTYPE_EXTRA_MAP_5,
+  _NL_CTYPE_EXTRA_MAP_6,
+  _NL_CTYPE_EXTRA_MAP_7,
+  _NL_CTYPE_EXTRA_MAP_8,
+  _NL_CTYPE_EXTRA_MAP_9,
+  _NL_CTYPE_EXTRA_MAP_10,
+  _NL_CTYPE_EXTRA_MAP_11,
+  _NL_CTYPE_EXTRA_MAP_12,
+  _NL_CTYPE_EXTRA_MAP_13,
+  _NL_CTYPE_EXTRA_MAP_14,
+  _NL_NUM_LC_CTYPE,
+
+  /* LC_MONETARY category: formatting of monetary quantities.
+     These items each correspond to a member of `struct lconv',
+     defined in <locale.h>.  */
+  __INT_CURR_SYMBOL = _NL_ITEM (__LC_MONETARY, 0),
+#ifdef __USE_GNU
+# define INT_CURR_SYMBOL	__INT_CURR_SYMBOL
+#endif
+  __CURRENCY_SYMBOL,
+#ifdef __USE_GNU
+# define CURRENCY_SYMBOL	__CURRENCY_SYMBOL
+#endif
+  __MON_DECIMAL_POINT,
+#ifdef __USE_GNU
+# define MON_DECIMAL_POINT	__MON_DECIMAL_POINT
+#endif
+  __MON_THOUSANDS_SEP,
+#ifdef __USE_GNU
+# define MON_THOUSANDS_SEP	__MON_THOUSANDS_SEP
+#endif
+  __MON_GROUPING,
+#ifdef __USE_GNU
+# define MON_GROUPING		__MON_GROUPING
+#endif
+  __POSITIVE_SIGN,
+#ifdef __USE_GNU
+# define POSITIVE_SIGN		__POSITIVE_SIGN
+#endif
+  __NEGATIVE_SIGN,
+#ifdef __USE_GNU
+# define NEGATIVE_SIGN		__NEGATIVE_SIGN
+#endif
+  __INT_FRAC_DIGITS,
+#ifdef __USE_GNU
+# define INT_FRAC_DIGITS	__INT_FRAC_DIGITS
+#endif
+  __FRAC_DIGITS,
+#ifdef __USE_GNU
+# define FRAC_DIGITS		__FRAC_DIGITS
+#endif
+  __P_CS_PRECEDES,
+#ifdef __USE_GNU
+# define P_CS_PRECEDES		__P_CS_PRECEDES
+#endif
+  __P_SEP_BY_SPACE,
+#ifdef __USE_GNU
+# define P_SEP_BY_SPACE		__P_SEP_BY_SPACE
+#endif
+  __N_CS_PRECEDES,
+#ifdef __USE_GNU
+# define N_CS_PRECEDES		__N_CS_PRECEDES
+#endif
+  __N_SEP_BY_SPACE,
+#ifdef __USE_GNU
+# define N_SEP_BY_SPACE		__N_SEP_BY_SPACE
+#endif
+  __P_SIGN_POSN,
+#ifdef __USE_GNU
+# define P_SIGN_POSN		__P_SIGN_POSN
+#endif
+  __N_SIGN_POSN,
+#ifdef __USE_GNU
+# define N_SIGN_POSN		__N_SIGN_POSN
+#endif
+  _NL_MONETARY_CRNCYSTR,
+#define CRNCYSTR		_NL_MONETARY_CRNCYSTR
+  __INT_P_CS_PRECEDES,
+#ifdef __USE_GNU
+# define INT_P_CS_PRECEDES	__INT_P_CS_PRECEDES
+#endif
+  __INT_P_SEP_BY_SPACE,
+#ifdef __USE_GNU
+# define INT_P_SEP_BY_SPACE	__INT_P_SEP_BY_SPACE
+#endif
+  __INT_N_CS_PRECEDES,
+#ifdef __USE_GNU
+# define INT_N_CS_PRECEDES	__INT_N_CS_PRECEDES
+#endif
+  __INT_N_SEP_BY_SPACE,
+#ifdef __USE_GNU
+# define INT_N_SEP_BY_SPACE	__INT_N_SEP_BY_SPACE
+#endif
+  __INT_P_SIGN_POSN,
+#ifdef __USE_GNU
+# define INT_P_SIGN_POSN	__INT_P_SIGN_POSN
+#endif
+  __INT_N_SIGN_POSN,
+#ifdef __USE_GNU
+# define INT_N_SIGN_POSN	__INT_N_SIGN_POSN
+#endif
+  _NL_MONETARY_DUO_INT_CURR_SYMBOL,
+  _NL_MONETARY_DUO_CURRENCY_SYMBOL,
+  _NL_MONETARY_DUO_INT_FRAC_DIGITS,
+  _NL_MONETARY_DUO_FRAC_DIGITS,
+  _NL_MONETARY_DUO_P_CS_PRECEDES,
+  _NL_MONETARY_DUO_P_SEP_BY_SPACE,
+  _NL_MONETARY_DUO_N_CS_PRECEDES,
+  _NL_MONETARY_DUO_N_SEP_BY_SPACE,
+  _NL_MONETARY_DUO_INT_P_CS_PRECEDES,
+  _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE,
+  _NL_MONETARY_DUO_INT_N_CS_PRECEDES,
+  _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE,
+  _NL_MONETARY_DUO_P_SIGN_POSN,
+  _NL_MONETARY_DUO_N_SIGN_POSN,
+  _NL_MONETARY_DUO_INT_P_SIGN_POSN,
+  _NL_MONETARY_DUO_INT_N_SIGN_POSN,
+  _NL_MONETARY_UNO_VALID_FROM,
+  _NL_MONETARY_UNO_VALID_TO,
+  _NL_MONETARY_DUO_VALID_FROM,
+  _NL_MONETARY_DUO_VALID_TO,
+  _NL_MONETARY_CONVERSION_RATE,
+  _NL_MONETARY_DECIMAL_POINT_WC,
+  _NL_MONETARY_THOUSANDS_SEP_WC,
+  _NL_MONETARY_CODESET,
+  _NL_NUM_LC_MONETARY,
+
+  /* LC_NUMERIC category: formatting of numbers.
+     These also correspond to members of `struct lconv'; see <locale.h>.  */
+  __DECIMAL_POINT = _NL_ITEM (__LC_NUMERIC, 0),
+#ifdef __USE_GNU
+# define DECIMAL_POINT		__DECIMAL_POINT
+#endif
+  RADIXCHAR = __DECIMAL_POINT,
+#define RADIXCHAR		RADIXCHAR
+  __THOUSANDS_SEP,
+#ifdef __USE_GNU
+# define THOUSANDS_SEP		__THOUSANDS_SEP
+#endif
+  THOUSEP = __THOUSANDS_SEP,
+#define THOUSEP			THOUSEP
+  __GROUPING,
+#ifdef __USE_GNU
+# define GROUPING		__GROUPING
+#endif
+  _NL_NUMERIC_DECIMAL_POINT_WC,
+  _NL_NUMERIC_THOUSANDS_SEP_WC,
+  _NL_NUMERIC_CODESET,
+  _NL_NUM_LC_NUMERIC,
+
+  __YESEXPR = _NL_ITEM (__LC_MESSAGES, 0), /* Regex matching ``yes'' input.  */
+#define YESEXPR			__YESEXPR
+  __NOEXPR,			/* Regex matching ``no'' input.  */
+#define NOEXPR			__NOEXPR
+  __YESSTR,			/* Output string for ``yes''.  */
+#if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define YESSTR			__YESSTR
+#endif
+  __NOSTR,			/* Output string for ``no''.  */
+#if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define NOSTR			__NOSTR
+#endif
+  _NL_MESSAGES_CODESET,
+  _NL_NUM_LC_MESSAGES,
+
+  _NL_PAPER_HEIGHT = _NL_ITEM (__LC_PAPER, 0),
+  _NL_PAPER_WIDTH,
+  _NL_PAPER_CODESET,
+  _NL_NUM_LC_PAPER,
+
+  _NL_NAME_NAME_FMT = _NL_ITEM (__LC_NAME, 0),
+  _NL_NAME_NAME_GEN,
+  _NL_NAME_NAME_MR,
+  _NL_NAME_NAME_MRS,
+  _NL_NAME_NAME_MISS,
+  _NL_NAME_NAME_MS,
+  _NL_NAME_CODESET,
+  _NL_NUM_LC_NAME,
+
+  _NL_ADDRESS_POSTAL_FMT = _NL_ITEM (__LC_ADDRESS, 0),
+  _NL_ADDRESS_COUNTRY_NAME,
+  _NL_ADDRESS_COUNTRY_POST,
+  _NL_ADDRESS_COUNTRY_AB2,
+  _NL_ADDRESS_COUNTRY_AB3,
+  _NL_ADDRESS_COUNTRY_CAR,
+  _NL_ADDRESS_COUNTRY_NUM,
+  _NL_ADDRESS_COUNTRY_ISBN,
+  _NL_ADDRESS_LANG_NAME,
+  _NL_ADDRESS_LANG_AB,
+  _NL_ADDRESS_LANG_TERM,
+  _NL_ADDRESS_LANG_LIB,
+  _NL_ADDRESS_CODESET,
+  _NL_NUM_LC_ADDRESS,
+
+  _NL_TELEPHONE_TEL_INT_FMT = _NL_ITEM (__LC_TELEPHONE, 0),
+  _NL_TELEPHONE_TEL_DOM_FMT,
+  _NL_TELEPHONE_INT_SELECT,
+  _NL_TELEPHONE_INT_PREFIX,
+  _NL_TELEPHONE_CODESET,
+  _NL_NUM_LC_TELEPHONE,
+
+  _NL_MEASUREMENT_MEASUREMENT = _NL_ITEM (__LC_MEASUREMENT, 0),
+  _NL_MEASUREMENT_CODESET,
+  _NL_NUM_LC_MEASUREMENT,
+
+  _NL_IDENTIFICATION_TITLE = _NL_ITEM (__LC_IDENTIFICATION, 0),
+  _NL_IDENTIFICATION_SOURCE,
+  _NL_IDENTIFICATION_ADDRESS,
+  _NL_IDENTIFICATION_CONTACT,
+  _NL_IDENTIFICATION_EMAIL,
+  _NL_IDENTIFICATION_TEL,
+  _NL_IDENTIFICATION_FAX,
+  _NL_IDENTIFICATION_LANGUAGE,
+  _NL_IDENTIFICATION_TERRITORY,
+  _NL_IDENTIFICATION_AUDIENCE,
+  _NL_IDENTIFICATION_APPLICATION,
+  _NL_IDENTIFICATION_ABBREVIATION,
+  _NL_IDENTIFICATION_REVISION,
+  _NL_IDENTIFICATION_DATE,
+  _NL_IDENTIFICATION_CATEGORY,
+  _NL_IDENTIFICATION_CODESET,
+  _NL_NUM_LC_IDENTIFICATION,
+
+  /* This marks the highest value used.  */
+  _NL_NUM
+};
+
+/* This macro produces an item you can pass to `nl_langinfo' or
+   `nl_langinfo_l' to get the name of the locale in use for CATEGORY.  */
+#define _NL_LOCALE_NAME(category)	_NL_ITEM ((category),		      \
+						  _NL_ITEM_INDEX (-1))
+#ifdef __USE_GNU
+# define NL_LOCALE_NAME(category)	_NL_LOCALE_NAME (category)
+#endif
+
+
+/* Return the current locale's value for ITEM.
+   If ITEM is invalid, an empty string is returned.
+
+   The string returned will not change until `setlocale' is called;
+   it is usually in read-only memory and cannot be modified.  */
+
+extern char *nl_langinfo (nl_item __item) __THROW;
+
+
+#ifdef __USE_XOPEN2K8
+/* This interface is for the extended locale model.  See <locale.h> for
+   more information.  */
+
+/* Get locale datatype definition.  */
+# include <xlocale.h>
+
+/* Just like nl_langinfo but get the information from the locale object L.  */
+extern char *nl_langinfo_l (nl_item __item, __locale_t __l);
+#endif
+
+__END_DECLS
+
+#endif	/* langinfo.h */