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