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