home *** CD-ROM | disk | FTP | other *** search
/ RISCWORLD 7 / RISCWORLD_VOL7.iso / Software / Issue6 / SDL.ZIP / !gcc / include / unixlib / h / langinfo < prev    next >
Encoding:
Text File  |  2006-09-17  |  15.6 KB  |  609 lines

  1. /****************************************************************************
  2.  *
  3.  * $Source: $
  4.  * $Date: $
  5.  * $Revision: $
  6.  * $State: $
  7.  * $Author: $
  8.  *
  9.  ***************************************************************************/
  10.  
  11. /* File taken from glibc 2.3.2.
  12.  * Following changes were made:
  13.  *   <none>
  14.  */
  15.  
  16. /* Access to locale-dependent parameters.
  17.    Copyright (C) 1995-99,2000,01,02 Free Software Foundation, Inc.
  18.    This file is part of the GNU C Library.
  19.  
  20.    The GNU C Library is free software; you can redistribute it and/or
  21.    modify it under the terms of the GNU Lesser General Public
  22.    License as published by the Free Software Foundation; either
  23.    version 2.1 of the License, or (at your option) any later version.
  24.  
  25.    The GNU C Library is distributed in the hope that it will be useful,
  26.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  27.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  28.    Lesser General Public License for more details.
  29.  
  30.    You should have received a copy of the GNU Lesser General Public
  31.    License along with the GNU C Library; if not, write to the Free
  32.    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  33.    02111-1307 USA.  */
  34.  
  35. #ifndef _LANGINFO_H
  36. #define    _LANGINFO_H 1
  37.  
  38. /* Get the type definition.  */
  39. #include <nl_types.h>
  40.  
  41. #include <bits/locale.h>    /* Define the __LC_* category names.  */
  42.  
  43.  
  44. __BEGIN_DECLS
  45.  
  46. /* Construct an `nl_item' value for `nl_langinfo' from a locale category
  47.    (LC_*) and an item index within the category.  Some code may depend on
  48.    the item values within a category increasing monotonically with the
  49.    indices.  */
  50. #define _NL_ITEM(category, index)    (((category) << 16) | (index))
  51.  
  52. /* Extract the category and item index from a constructed `nl_item' value.  */
  53. #define _NL_ITEM_CATEGORY(item)        ((int) (item) >> 16)
  54. #define _NL_ITEM_INDEX(item)        ((int) (item) & 0xffff)
  55.  
  56.  
  57. /* Enumeration of locale items that can be queried with `nl_langinfo'.  */
  58. enum
  59. {
  60.   /* LC_TIME category: date and time formatting.  */
  61.  
  62.   /* Abbreviated days of the week. */
  63.   ABDAY_1 = _NL_ITEM (__LC_TIME, 0), /* Sun */
  64. #define ABDAY_1            ABDAY_1
  65.   ABDAY_2,
  66. #define ABDAY_2            ABDAY_2
  67.   ABDAY_3,
  68. #define ABDAY_3            ABDAY_3
  69.   ABDAY_4,
  70. #define ABDAY_4            ABDAY_4
  71.   ABDAY_5,
  72. #define ABDAY_5            ABDAY_5
  73.   ABDAY_6,
  74. #define ABDAY_6            ABDAY_6
  75.   ABDAY_7,
  76. #define ABDAY_7            ABDAY_7
  77.  
  78.   /* Long-named days of the week. */
  79.   DAY_1,            /* Sunday */
  80. #define DAY_1            DAY_1
  81.   DAY_2,            /* Monday */
  82. #define DAY_2            DAY_2
  83.   DAY_3,            /* Tuesday */
  84. #define DAY_3            DAY_3
  85.   DAY_4,            /* Wednesday */
  86. #define DAY_4            DAY_4
  87.   DAY_5,            /* Thursday */
  88. #define DAY_5            DAY_5
  89.   DAY_6,            /* Friday */
  90. #define DAY_6            DAY_6
  91.   DAY_7,            /* Saturday */
  92. #define DAY_7            DAY_7
  93.  
  94.   /* Abbreviated month names.  */
  95.   ABMON_1,            /* Jan */
  96. #define ABMON_1            ABMON_1
  97.   ABMON_2,
  98. #define ABMON_2            ABMON_2
  99.   ABMON_3,
  100. #define ABMON_3            ABMON_3
  101.   ABMON_4,
  102. #define ABMON_4            ABMON_4
  103.   ABMON_5,
  104. #define ABMON_5            ABMON_5
  105.   ABMON_6,
  106. #define ABMON_6            ABMON_6
  107.   ABMON_7,
  108. #define ABMON_7            ABMON_7
  109.   ABMON_8,
  110. #define ABMON_8            ABMON_8
  111.   ABMON_9,
  112. #define ABMON_9            ABMON_9
  113.   ABMON_10,
  114. #define ABMON_10        ABMON_10
  115.   ABMON_11,
  116. #define ABMON_11        ABMON_11
  117.   ABMON_12,
  118. #define ABMON_12        ABMON_12
  119.  
  120.   /* Long month names.  */
  121.   MON_1,            /* January */
  122. #define MON_1            MON_1
  123.   MON_2,
  124. #define MON_2            MON_2
  125.   MON_3,
  126. #define MON_3            MON_3
  127.   MON_4,
  128. #define MON_4            MON_4
  129.   MON_5,
  130. #define MON_5            MON_5
  131.   MON_6,
  132. #define MON_6            MON_6
  133.   MON_7,
  134. #define MON_7            MON_7
  135.   MON_8,
  136. #define MON_8            MON_8
  137.   MON_9,
  138. #define MON_9            MON_9
  139.   MON_10,
  140. #define MON_10            MON_10
  141.   MON_11,
  142. #define MON_11            MON_11
  143.   MON_12,
  144. #define MON_12            MON_12
  145.  
  146.   AM_STR,            /* Ante meridian string.  */
  147. #define AM_STR            AM_STR
  148.   PM_STR,            /* Post meridian string.  */
  149. #define PM_STR            PM_STR
  150.  
  151.   D_T_FMT,            /* Date and time format for strftime.  */
  152. #define D_T_FMT            D_T_FMT
  153.   D_FMT,            /* Date format for strftime.  */
  154. #define D_FMT            D_FMT
  155.   T_FMT,            /* Time format for strftime.  */
  156. #define T_FMT            T_FMT
  157.   T_FMT_AMPM,            /* 12-hour time format for strftime.  */
  158. #define T_FMT_AMPM        T_FMT_AMPM
  159.  
  160.   ERA,                /* Alternate era.  */
  161. #define ERA            ERA
  162.   __ERA_YEAR,            /* Year in alternate era format.  */
  163. #ifdef __USE_GNU
  164. # define ERA_YEAR        __ERA_YEAR
  165. #endif
  166.   ERA_D_FMT,            /* Date in alternate era format.  */
  167. #define ERA_D_FMT        ERA_D_FMT
  168.   ALT_DIGITS,            /* Alternate symbols for digits.  */
  169. #define ALT_DIGITS        ALT_DIGITS
  170.   ERA_D_T_FMT,            /* Date and time in alternate era format.  */
  171. #define ERA_D_T_FMT        ERA_D_T_FMT
  172.   ERA_T_FMT,            /* Time in alternate era format.  */
  173. #define ERA_T_FMT        ERA_T_FMT
  174.  
  175.   _NL_TIME_ERA_NUM_ENTRIES,    /* Number entries in the era arrays.  */
  176.   _NL_TIME_ERA_ENTRIES,        /* Structure with era entries in usable form.*/
  177.  
  178.   _NL_WABDAY_1,        /* Sun */
  179.   _NL_WABDAY_2,
  180.   _NL_WABDAY_3,
  181.   _NL_WABDAY_4,
  182.   _NL_WABDAY_5,
  183.   _NL_WABDAY_6,
  184.   _NL_WABDAY_7,
  185.  
  186.   /* Long-named days of the week. */
  187.   _NL_WDAY_1,        /* Sunday */
  188.   _NL_WDAY_2,        /* Monday */
  189.   _NL_WDAY_3,        /* Tuesday */
  190.   _NL_WDAY_4,        /* Wednesday */
  191.   _NL_WDAY_5,        /* Thursday */
  192.   _NL_WDAY_6,        /* Friday */
  193.   _NL_WDAY_7,        /* Saturday */
  194.  
  195.   /* Abbreviated month names.  */
  196.   _NL_WABMON_1,        /* Jan */
  197.   _NL_WABMON_2,
  198.   _NL_WABMON_3,
  199.   _NL_WABMON_4,
  200.   _NL_WABMON_5,
  201.   _NL_WABMON_6,
  202.   _NL_WABMON_7,
  203.   _NL_WABMON_8,
  204.   _NL_WABMON_9,
  205.   _NL_WABMON_10,
  206.   _NL_WABMON_11,
  207.   _NL_WABMON_12,
  208.  
  209.   /* Long month names.  */
  210.   _NL_WMON_1,        /* January */
  211.   _NL_WMON_2,
  212.   _NL_WMON_3,
  213.   _NL_WMON_4,
  214.   _NL_WMON_5,
  215.   _NL_WMON_6,
  216.   _NL_WMON_7,
  217.   _NL_WMON_8,
  218.   _NL_WMON_9,
  219.   _NL_WMON_10,
  220.   _NL_WMON_11,
  221.   _NL_WMON_12,
  222.  
  223.   _NL_WAM_STR,        /* Ante meridian string.  */
  224.   _NL_WPM_STR,        /* Post meridian string.  */
  225.  
  226.   _NL_WD_T_FMT,        /* Date and time format for strftime.  */
  227.   _NL_WD_FMT,        /* Date format for strftime.  */
  228.   _NL_WT_FMT,        /* Time format for strftime.  */
  229.   _NL_WT_FMT_AMPM,    /* 12-hour time format for strftime.  */
  230.  
  231.   _NL_WERA_YEAR,    /* Year in alternate era format.  */
  232.   _NL_WERA_D_FMT,    /* Date in alternate era format.  */
  233.   _NL_WALT_DIGITS,    /* Alternate symbols for digits.  */
  234.   _NL_WERA_D_T_FMT,    /* Date and time in alternate era format.  */
  235.   _NL_WERA_T_FMT,    /* Time in alternate era format.  */
  236.  
  237.   _NL_TIME_WEEK_NDAYS,
  238.   _NL_TIME_WEEK_1STDAY,
  239.   _NL_TIME_WEEK_1STWEEK,
  240.   _NL_TIME_FIRST_WEEKDAY,
  241.   _NL_TIME_FIRST_WORKDAY,
  242.   _NL_TIME_CAL_DIRECTION,
  243.   _NL_TIME_TIMEZONE,
  244.  
  245.   _DATE_FMT,        /* strftime format for date.  */
  246. #define _DATE_FMT    _DATE_FMT
  247.   _NL_W_DATE_FMT,
  248.  
  249.   _NL_TIME_CODESET,
  250.  
  251.   _NL_NUM_LC_TIME,    /* Number of indices in LC_TIME category.  */
  252.  
  253.   /* LC_COLLATE category: text sorting.
  254.      This information is accessed by the strcoll and strxfrm functions.
  255.      These `nl_langinfo' names are used only internally.  */
  256.   _NL_COLLATE_NRULES = _NL_ITEM (__LC_COLLATE, 0),
  257.   _NL_COLLATE_RULESETS,
  258.   _NL_COLLATE_TABLEMB,
  259.   _NL_COLLATE_WEIGHTMB,
  260.   _NL_COLLATE_EXTRAMB,
  261.   _NL_COLLATE_INDIRECTMB,
  262.   _NL_COLLATE_GAP1,
  263.   _NL_COLLATE_GAP2,
  264.   _NL_COLLATE_GAP3,
  265.   _NL_COLLATE_TABLEWC,
  266.   _NL_COLLATE_WEIGHTWC,
  267.   _NL_COLLATE_EXTRAWC,
  268.   _NL_COLLATE_INDIRECTWC,
  269.   _NL_COLLATE_SYMB_HASH_SIZEMB,
  270.   _NL_COLLATE_SYMB_TABLEMB,
  271.   _NL_COLLATE_SYMB_EXTRAMB,
  272.   _NL_COLLATE_COLLSEQMB,
  273.   _NL_COLLATE_COLLSEQWC,
  274.   _NL_COLLATE_CODESET,
  275.   _NL_NUM_LC_COLLATE,
  276.  
  277.   /* LC_CTYPE category: character classification.
  278.      This information is accessed by the functions in <ctype.h>.
  279.      These `nl_langinfo' names are used only internally.  */
  280.   _NL_CTYPE_CLASS = _NL_ITEM (__LC_CTYPE, 0),
  281.   _NL_CTYPE_TOUPPER,
  282.   _NL_CTYPE_GAP1,
  283.   _NL_CTYPE_TOLOWER,
  284.   _NL_CTYPE_GAP2,
  285.   _NL_CTYPE_CLASS32,
  286.   _NL_CTYPE_GAP3,
  287.   _NL_CTYPE_GAP4,
  288.   _NL_CTYPE_GAP5,
  289.   _NL_CTYPE_GAP6,
  290.   _NL_CTYPE_CLASS_NAMES,
  291.   _NL_CTYPE_MAP_NAMES,
  292.   _NL_CTYPE_WIDTH,
  293.   _NL_CTYPE_MB_CUR_MAX,
  294.   _NL_CTYPE_CODESET_NAME,
  295.   CODESET = _NL_CTYPE_CODESET_NAME,
  296. #define CODESET            CODESET
  297.   _NL_CTYPE_TOUPPER32,
  298.   _NL_CTYPE_TOLOWER32,
  299.   _NL_CTYPE_CLASS_OFFSET,
  300.   _NL_CTYPE_MAP_OFFSET,
  301.   _NL_CTYPE_INDIGITS_MB_LEN,
  302.   _NL_CTYPE_INDIGITS0_MB,
  303.   _NL_CTYPE_INDIGITS1_MB,
  304.   _NL_CTYPE_INDIGITS2_MB,
  305.   _NL_CTYPE_INDIGITS3_MB,
  306.   _NL_CTYPE_INDIGITS4_MB,
  307.   _NL_CTYPE_INDIGITS5_MB,
  308.   _NL_CTYPE_INDIGITS6_MB,
  309.   _NL_CTYPE_INDIGITS7_MB,
  310.   _NL_CTYPE_INDIGITS8_MB,
  311.   _NL_CTYPE_INDIGITS9_MB,
  312.   _NL_CTYPE_INDIGITS_WC_LEN,
  313.   _NL_CTYPE_INDIGITS0_WC,
  314.   _NL_CTYPE_INDIGITS1_WC,
  315.   _NL_CTYPE_INDIGITS2_WC,
  316.   _NL_CTYPE_INDIGITS3_WC,
  317.   _NL_CTYPE_INDIGITS4_WC,
  318.   _NL_CTYPE_INDIGITS5_WC,
  319.   _NL_CTYPE_INDIGITS6_WC,
  320.   _NL_CTYPE_INDIGITS7_WC,
  321.   _NL_CTYPE_INDIGITS8_WC,
  322.   _NL_CTYPE_INDIGITS9_WC,
  323.   _NL_CTYPE_OUTDIGIT0_MB,
  324.   _NL_CTYPE_OUTDIGIT1_MB,
  325.   _NL_CTYPE_OUTDIGIT2_MB,
  326.   _NL_CTYPE_OUTDIGIT3_MB,
  327.   _NL_CTYPE_OUTDIGIT4_MB,
  328.   _NL_CTYPE_OUTDIGIT5_MB,
  329.   _NL_CTYPE_OUTDIGIT6_MB,
  330.   _NL_CTYPE_OUTDIGIT7_MB,
  331.   _NL_CTYPE_OUTDIGIT8_MB,
  332.   _NL_CTYPE_OUTDIGIT9_MB,
  333.   _NL_CTYPE_OUTDIGIT0_WC,
  334.   _NL_CTYPE_OUTDIGIT1_WC,
  335.   _NL_CTYPE_OUTDIGIT2_WC,
  336.   _NL_CTYPE_OUTDIGIT3_WC,
  337.   _NL_CTYPE_OUTDIGIT4_WC,
  338.   _NL_CTYPE_OUTDIGIT5_WC,
  339.   _NL_CTYPE_OUTDIGIT6_WC,
  340.   _NL_CTYPE_OUTDIGIT7_WC,
  341.   _NL_CTYPE_OUTDIGIT8_WC,
  342.   _NL_CTYPE_OUTDIGIT9_WC,
  343.   _NL_CTYPE_TRANSLIT_TAB_SIZE,
  344.   _NL_CTYPE_TRANSLIT_FROM_IDX,
  345.   _NL_CTYPE_TRANSLIT_FROM_TBL,
  346.   _NL_CTYPE_TRANSLIT_TO_IDX,
  347.   _NL_CTYPE_TRANSLIT_TO_TBL,
  348.   _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN,
  349.   _NL_CTYPE_TRANSLIT_DEFAULT_MISSING,
  350.   _NL_CTYPE_TRANSLIT_IGNORE_LEN,
  351.   _NL_CTYPE_TRANSLIT_IGNORE,
  352.   _NL_CTYPE_EXTRA_MAP_1,
  353.   _NL_CTYPE_EXTRA_MAP_2,
  354.   _NL_CTYPE_EXTRA_MAP_3,
  355.   _NL_CTYPE_EXTRA_MAP_4,
  356.   _NL_CTYPE_EXTRA_MAP_5,
  357.   _NL_CTYPE_EXTRA_MAP_6,
  358.   _NL_CTYPE_EXTRA_MAP_7,
  359.   _NL_CTYPE_EXTRA_MAP_8,
  360.   _NL_CTYPE_EXTRA_MAP_9,
  361.   _NL_CTYPE_EXTRA_MAP_10,
  362.   _NL_CTYPE_EXTRA_MAP_11,
  363.   _NL_CTYPE_EXTRA_MAP_12,
  364.   _NL_CTYPE_EXTRA_MAP_13,
  365.   _NL_CTYPE_EXTRA_MAP_14,
  366.   _NL_NUM_LC_CTYPE,
  367.  
  368.   /* LC_MONETARY category: formatting of monetary quantities.
  369.      These items each correspond to a member of `struct lconv',
  370.      defined in <locale.h>.  */
  371.   __INT_CURR_SYMBOL = _NL_ITEM (__LC_MONETARY, 0),
  372. #ifdef __USE_GNU
  373. # define INT_CURR_SYMBOL    __INT_CURR_SYMBOL
  374. #endif
  375.   __CURRENCY_SYMBOL,
  376. #ifdef __USE_GNU
  377. # define CURRENCY_SYMBOL    __CURRENCY_SYMBOL
  378. #endif
  379.   __MON_DECIMAL_POINT,
  380. #ifdef __USE_GNU
  381. # define MON_DECIMAL_POINT    __MON_DECIMAL_POINT
  382. #endif
  383.   __MON_THOUSANDS_SEP,
  384. #ifdef __USE_GNU
  385. # define MON_THOUSANDS_SEP    __MON_THOUSANDS_SEP
  386. #endif
  387.   __MON_GROUPING,
  388. #ifdef __USE_GNU
  389. # define MON_GROUPING        __MON_GROUPING
  390. #endif
  391.   __POSITIVE_SIGN,
  392. #ifdef __USE_GNU
  393. # define POSITIVE_SIGN        __POSITIVE_SIGN
  394. #endif
  395.   __NEGATIVE_SIGN,
  396. #ifdef __USE_GNU
  397. # define NEGATIVE_SIGN        __NEGATIVE_SIGN
  398. #endif
  399.   __INT_FRAC_DIGITS,
  400. #ifdef __USE_GNU
  401. # define INT_FRAC_DIGITS    __INT_FRAC_DIGITS
  402. #endif
  403.   __FRAC_DIGITS,
  404. #ifdef __USE_GNU
  405. # define FRAC_DIGITS        __FRAC_DIGITS
  406. #endif
  407.   __P_CS_PRECEDES,
  408. #ifdef __USE_GNU
  409. # define P_CS_PRECEDES        __P_CS_PRECEDES
  410. #endif
  411.   __P_SEP_BY_SPACE,
  412. #ifdef __USE_GNU
  413. # define P_SEP_BY_SPACE        __P_SEP_BY_SPACE
  414. #endif
  415.   __N_CS_PRECEDES,
  416. #ifdef __USE_GNU
  417. # define N_CS_PRECEDES        __N_CS_PRECEDES
  418. #endif
  419.   __N_SEP_BY_SPACE,
  420. #ifdef __USE_GNU
  421. # define N_SEP_BY_SPACE        __N_SEP_BY_SPACE
  422. #endif
  423.   __P_SIGN_POSN,
  424. #ifdef __USE_GNU
  425. # define P_SIGN_POSN        __P_SIGN_POSN
  426. #endif
  427.   __N_SIGN_POSN,
  428. #ifdef __USE_GNU
  429. # define N_SIGN_POSN        __N_SIGN_POSN
  430. #endif
  431.   _NL_MONETARY_CRNCYSTR,
  432. #define CRNCYSTR        _NL_MONETARY_CRNCYSTR
  433.   __INT_P_CS_PRECEDES,
  434. #ifdef __USE_GNU
  435. # define INT_P_CS_PRECEDES    __INT_P_CS_PRECEDES
  436. #endif
  437.   __INT_P_SEP_BY_SPACE,
  438. #ifdef __USE_GNU
  439. # define INT_P_SEP_BY_SPACE    __INT_P_SEP_BY_SPACE
  440. #endif
  441.   __INT_N_CS_PRECEDES,
  442. #ifdef __USE_GNU
  443. # define INT_N_CS_PRECEDES    __INT_N_CS_PRECEDES
  444. #endif
  445.   __INT_N_SEP_BY_SPACE,
  446. #ifdef __USE_GNU
  447. # define INT_N_SEP_BY_SPACE    __INT_N_SEP_BY_SPACE
  448. #endif
  449.   __INT_P_SIGN_POSN,
  450. #ifdef __USE_GNU
  451. # define INT_P_SIGN_POSN    __INT_P_SIGN_POSN
  452. #endif
  453.   __INT_N_SIGN_POSN,
  454. #ifdef __USE_GNU
  455. # define INT_N_SIGN_POSN    __INT_N_SIGN_POSN
  456. #endif
  457.   _NL_MONETARY_DUO_INT_CURR_SYMBOL,
  458.   _NL_MONETARY_DUO_CURRENCY_SYMBOL,
  459.   _NL_MONETARY_DUO_INT_FRAC_DIGITS,
  460.   _NL_MONETARY_DUO_FRAC_DIGITS,
  461.   _NL_MONETARY_DUO_P_CS_PRECEDES,
  462.   _NL_MONETARY_DUO_P_SEP_BY_SPACE,
  463.   _NL_MONETARY_DUO_N_CS_PRECEDES,
  464.   _NL_MONETARY_DUO_N_SEP_BY_SPACE,
  465.   _NL_MONETARY_DUO_INT_P_CS_PRECEDES,
  466.   _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE,
  467.   _NL_MONETARY_DUO_INT_N_CS_PRECEDES,
  468.   _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE,
  469.   _NL_MONETARY_DUO_P_SIGN_POSN,
  470.   _NL_MONETARY_DUO_N_SIGN_POSN,
  471.   _NL_MONETARY_DUO_INT_P_SIGN_POSN,
  472.   _NL_MONETARY_DUO_INT_N_SIGN_POSN,
  473.   _NL_MONETARY_UNO_VALID_FROM,
  474.   _NL_MONETARY_UNO_VALID_TO,
  475.   _NL_MONETARY_DUO_VALID_FROM,
  476.   _NL_MONETARY_DUO_VALID_TO,
  477.   _NL_MONETARY_CONVERSION_RATE,
  478.   _NL_MONETARY_DECIMAL_POINT_WC,
  479.   _NL_MONETARY_THOUSANDS_SEP_WC,
  480.   _NL_MONETARY_CODESET,
  481.   _NL_NUM_LC_MONETARY,
  482.  
  483.   /* LC_NUMERIC category: formatting of numbers.
  484.      These also correspond to members of `struct lconv'; see <locale.h>.  */
  485.   __DECIMAL_POINT = _NL_ITEM (__LC_NUMERIC, 0),
  486. #ifdef __USE_GNU
  487. # define DECIMAL_POINT        __DECIMAL_POINT
  488. #endif
  489.   RADIXCHAR = __DECIMAL_POINT,
  490. #define RADIXCHAR        RADIXCHAR
  491.   __THOUSANDS_SEP,
  492. #ifdef __USE_GNU
  493. # define THOUSANDS_SEP        __THOUSANDS_SEP
  494. #endif
  495.   THOUSEP = __THOUSANDS_SEP,
  496. #define THOUSEP            THOUSEP
  497.   __GROUPING,
  498. #ifdef __USE_GNU
  499. # define GROUPING        __GROUPING
  500. #endif
  501.   _NL_NUMERIC_DECIMAL_POINT_WC,
  502.   _NL_NUMERIC_THOUSANDS_SEP_WC,
  503.   _NL_NUMERIC_CODESET,
  504.   _NL_NUM_LC_NUMERIC,
  505.  
  506.   __YESEXPR = _NL_ITEM (__LC_MESSAGES, 0), /* Regex matching ``yes'' input.  */
  507. #define YESEXPR            __YESEXPR
  508.   __NOEXPR,            /* Regex matching ``no'' input.  */
  509. #define NOEXPR            __NOEXPR
  510.   __YESSTR,            /* Output string for ``yes''.  */
  511. #if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
  512. # define YESSTR            __YESSTR
  513. #endif
  514.   __NOSTR,            /* Output string for ``no''.  */
  515. #if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
  516. # define NOSTR            __NOSTR
  517. #endif
  518.   _NL_MESSAGES_CODESET,
  519.   _NL_NUM_LC_MESSAGES,
  520.  
  521.   _NL_PAPER_HEIGHT = _NL_ITEM (__LC_PAPER, 0),
  522.   _NL_PAPER_WIDTH,
  523.   _NL_PAPER_CODESET,
  524.   _NL_NUM_LC_PAPER,
  525.  
  526.   _NL_NAME_NAME_FMT = _NL_ITEM (__LC_NAME, 0),
  527.   _NL_NAME_NAME_GEN,
  528.   _NL_NAME_NAME_MR,
  529.   _NL_NAME_NAME_MRS,
  530.   _NL_NAME_NAME_MISS,
  531.   _NL_NAME_NAME_MS,
  532.   _NL_NAME_CODESET,
  533.   _NL_NUM_LC_NAME,
  534.  
  535.   _NL_ADDRESS_POSTAL_FMT = _NL_ITEM (__LC_ADDRESS, 0),
  536.   _NL_ADDRESS_COUNTRY_NAME,
  537.   _NL_ADDRESS_COUNTRY_POST,
  538.   _NL_ADDRESS_COUNTRY_AB2,
  539.   _NL_ADDRESS_COUNTRY_AB3,
  540.   _NL_ADDRESS_COUNTRY_CAR,
  541.   _NL_ADDRESS_COUNTRY_NUM,
  542.   _NL_ADDRESS_COUNTRY_ISBN,
  543.   _NL_ADDRESS_LANG_NAME,
  544.   _NL_ADDRESS_LANG_AB,
  545.   _NL_ADDRESS_LANG_TERM,
  546.   _NL_ADDRESS_LANG_LIB,
  547.   _NL_ADDRESS_CODESET,
  548.   _NL_NUM_LC_ADDRESS,
  549.  
  550.   _NL_TELEPHONE_TEL_INT_FMT = _NL_ITEM (__LC_TELEPHONE, 0),
  551.   _NL_TELEPHONE_TEL_DOM_FMT,
  552.   _NL_TELEPHONE_INT_SELECT,
  553.   _NL_TELEPHONE_INT_PREFIX,
  554.   _NL_TELEPHONE_CODESET,
  555.   _NL_NUM_LC_TELEPHONE,
  556.  
  557.   _NL_MEASUREMENT_MEASUREMENT = _NL_ITEM (__LC_MEASUREMENT, 0),
  558.   _NL_MEASUREMENT_CODESET,
  559.   _NL_NUM_LC_MEASUREMENT,
  560.  
  561.   _NL_IDENTIFICATION_TITLE = _NL_ITEM (__LC_IDENTIFICATION, 0),
  562.   _NL_IDENTIFICATION_SOURCE,
  563.   _NL_IDENTIFICATION_ADDRESS,
  564.   _NL_IDENTIFICATION_CONTACT,
  565.   _NL_IDENTIFICATION_EMAIL,
  566.   _NL_IDENTIFICATION_TEL,
  567.   _NL_IDENTIFICATION_FAX,
  568.   _NL_IDENTIFICATION_LANGUAGE,
  569.   _NL_IDENTIFICATION_TERRITORY,
  570.   _NL_IDENTIFICATION_AUDIENCE,
  571.   _NL_IDENTIFICATION_APPLICATION,
  572.   _NL_IDENTIFICATION_ABBREVIATION,
  573.   _NL_IDENTIFICATION_REVISION,
  574.   _NL_IDENTIFICATION_DATE,
  575.   _NL_IDENTIFICATION_CATEGORY,
  576.   _NL_IDENTIFICATION_CODESET,
  577.   _NL_NUM_LC_IDENTIFICATION,
  578.  
  579.   /* This marks the highest value used.  */
  580.   _NL_NUM
  581. };
  582.  
  583.  
  584. /* Return the current locale's value for ITEM.
  585.    If ITEM is invalid, an empty string is returned.
  586.  
  587.    The string returned will not change until `setlocale' is called;
  588.    it is usually in read-only memory and cannot be modified.  */
  589.  
  590. extern char *nl_langinfo (nl_item __item) __THROW;
  591.  
  592.  
  593. #if 0
  594. #ifdef    __USE_GNU
  595. /* This interface is for the extended locale model.  See <locale.h> for
  596.    more information.  */
  597.  
  598. /* Get locale datatype definition.  */
  599. # include <xlocale.h>
  600.  
  601. /* Just like nl_langinfo but get the information from the locale object L.  */
  602. extern char *nl_langinfo_l (nl_item __item, __locale_t l);
  603. #endif
  604. #endif
  605.  
  606. __END_DECLS
  607.  
  608. #endif    /* langinfo.h */
  609.