langinfo.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020: #ifndef _LANGINFO_H
021: #define _LANGINFO_H 1
022:
023:
024: #include <nl_types.h>
025:
026: #include <bits/locale.h>
027:
028:
029: __BEGIN_DECLS
030:
031:
032:
033:
034:
035: #define _NL_ITEM(category, index) (((category) << 16) | (index))
036:
037:
038: #define _NL_ITEM_CATEGORY(item) ((int) (item) >> 16)
039: #define _NL_ITEM_INDEX(item) ((int) (item) & 0xffff)
040:
041:
042: enum
043: {
044:
045:
046:
047: ABDAY_1 = _NL_ITEM (__LC_TIME, 0),
048: #define ABDAY_1 ABDAY_1
049: ABDAY_2,
050: #define ABDAY_2 ABDAY_2
051: ABDAY_3,
052: #define ABDAY_3 ABDAY_3
053: ABDAY_4,
054: #define ABDAY_4 ABDAY_4
055: ABDAY_5,
056: #define ABDAY_5 ABDAY_5
057: ABDAY_6,
058: #define ABDAY_6 ABDAY_6
059: ABDAY_7,
060: #define ABDAY_7 ABDAY_7
061:
062:
063: DAY_1,
064: #define DAY_1 DAY_1
065: DAY_2,
066: #define DAY_2 DAY_2
067: DAY_3,
068: #define DAY_3 DAY_3
069: DAY_4,
070: #define DAY_4 DAY_4
071: DAY_5,
072: #define DAY_5 DAY_5
073: DAY_6,
074: #define DAY_6 DAY_6
075: DAY_7,
076: #define DAY_7 DAY_7
077:
078:
079: ABMON_1,
080: #define ABMON_1 ABMON_1
081: ABMON_2,
082: #define ABMON_2 ABMON_2
083: ABMON_3,
084: #define ABMON_3 ABMON_3
085: ABMON_4,
086: #define ABMON_4 ABMON_4
087: ABMON_5,
088: #define ABMON_5 ABMON_5
089: ABMON_6,
090: #define ABMON_6 ABMON_6
091: ABMON_7,
092: #define ABMON_7 ABMON_7
093: ABMON_8,
094: #define ABMON_8 ABMON_8
095: ABMON_9,
096: #define ABMON_9 ABMON_9
097: ABMON_10,
098: #define ABMON_10 ABMON_10
099: ABMON_11,
100: #define ABMON_11 ABMON_11
101: ABMON_12,
102: #define ABMON_12 ABMON_12
103:
104:
105: MON_1,
106: #define MON_1 MON_1
107: MON_2,
108: #define MON_2 MON_2
109: MON_3,
110: #define MON_3 MON_3
111: MON_4,
112: #define MON_4 MON_4
113: MON_5,
114: #define MON_5 MON_5
115: MON_6,
116: #define MON_6 MON_6
117: MON_7,
118: #define MON_7 MON_7
119: MON_8,
120: #define MON_8 MON_8
121: MON_9,
122: #define MON_9 MON_9
123: MON_10,
124: #define MON_10 MON_10
125: MON_11,
126: #define MON_11 MON_11
127: MON_12,
128: #define MON_12 MON_12
129:
130: AM_STR,
131: #define AM_STR AM_STR
132: PM_STR,
133: #define PM_STR PM_STR
134:
135: D_T_FMT,
136: #define D_T_FMT D_T_FMT
137: D_FMT,
138: #define D_FMT D_FMT
139: T_FMT,
140: #define T_FMT T_FMT
141: T_FMT_AMPM,
142: #define T_FMT_AMPM T_FMT_AMPM
143:
144: ERA,
145: #define ERA ERA
146: __ERA_YEAR,
147: #ifdef __USE_GNU
148: # define ERA_YEAR __ERA_YEAR
149: #endif
150: ERA_D_FMT,
151: #define ERA_D_FMT ERA_D_FMT
152: ALT_DIGITS,
153: #define ALT_DIGITS ALT_DIGITS
154: ERA_D_T_FMT,
155: #define ERA_D_T_FMT ERA_D_T_FMT
156: ERA_T_FMT,
157: #define ERA_T_FMT ERA_T_FMT
158:
159: _NL_TIME_ERA_NUM_ENTRIES,
160: _NL_TIME_ERA_ENTRIES,
161:
162: _NL_WABDAY_1,
163: _NL_WABDAY_2,
164: _NL_WABDAY_3,
165: _NL_WABDAY_4,
166: _NL_WABDAY_5,
167: _NL_WABDAY_6,
168: _NL_WABDAY_7,
169:
170:
171: _NL_WDAY_1,
172: _NL_WDAY_2,
173: _NL_WDAY_3,
174: _NL_WDAY_4,
175: _NL_WDAY_5,
176: _NL_WDAY_6,
177: _NL_WDAY_7,
178:
179:
180: _NL_WABMON_1,
181: _NL_WABMON_2,
182: _NL_WABMON_3,
183: _NL_WABMON_4,
184: _NL_WABMON_5,
185: _NL_WABMON_6,
186: _NL_WABMON_7,
187: _NL_WABMON_8,
188: _NL_WABMON_9,
189: _NL_WABMON_10,
190: _NL_WABMON_11,
191: _NL_WABMON_12,
192:
193:
194: _NL_WMON_1,
195: _NL_WMON_2,
196: _NL_WMON_3,
197: _NL_WMON_4,
198: _NL_WMON_5,
199: _NL_WMON_6,
200: _NL_WMON_7,
201: _NL_WMON_8,
202: _NL_WMON_9,
203: _NL_WMON_10,
204: _NL_WMON_11,
205: _NL_WMON_12,
206:
207: _NL_WAM_STR,
208: _NL_WPM_STR,
209:
210: _NL_WD_T_FMT,
211: _NL_WD_FMT,
212: _NL_WT_FMT,
213: _NL_WT_FMT_AMPM,
214:
215: _NL_WERA_YEAR,
216: _NL_WERA_D_FMT,
217: _NL_WALT_DIGITS,
218: _NL_WERA_D_T_FMT,
219: _NL_WERA_T_FMT,
220:
221: _NL_TIME_WEEK_NDAYS,
222: _NL_TIME_WEEK_1STDAY,
223: _NL_TIME_WEEK_1STWEEK,
224: _NL_TIME_FIRST_WEEKDAY,
225: _NL_TIME_FIRST_WORKDAY,
226: _NL_TIME_CAL_DIRECTION,
227: _NL_TIME_TIMEZONE,
228:
229: _DATE_FMT,
230: #define _DATE_FMT _DATE_FMT
231: _NL_W_DATE_FMT,
232:
233: _NL_TIME_CODESET,
234:
235: _NL_NUM_LC_TIME,
236:
237:
238:
239:
240: _NL_COLLATE_NRULES = _NL_ITEM (__LC_COLLATE, 0),
241: _NL_COLLATE_RULESETS,
242: _NL_COLLATE_TABLEMB,
243: _NL_COLLATE_WEIGHTMB,
244: _NL_COLLATE_EXTRAMB,
245: _NL_COLLATE_INDIRECTMB,
246: _NL_COLLATE_GAP1,
247: _NL_COLLATE_GAP2,
248: _NL_COLLATE_GAP3,
249: _NL_COLLATE_TABLEWC,
250: _NL_COLLATE_WEIGHTWC,
251: _NL_COLLATE_EXTRAWC,
252: _NL_COLLATE_INDIRECTWC,
253: _NL_COLLATE_SYMB_HASH_SIZEMB,
254: _NL_COLLATE_SYMB_TABLEMB,
255: _NL_COLLATE_SYMB_EXTRAMB,
256: _NL_COLLATE_COLLSEQMB,
257: _NL_COLLATE_COLLSEQWC,
258: _NL_COLLATE_CODESET,
259: _NL_NUM_LC_COLLATE,
260:
261:
262:
263:
264: _NL_CTYPE_CLASS = _NL_ITEM (__LC_CTYPE, 0),
265: _NL_CTYPE_TOUPPER,
266: _NL_CTYPE_GAP1,
267: _NL_CTYPE_TOLOWER,
268: _NL_CTYPE_GAP2,
269: _NL_CTYPE_CLASS32,
270: _NL_CTYPE_GAP3,
271: _NL_CTYPE_GAP4,
272: _NL_CTYPE_GAP5,
273: _NL_CTYPE_GAP6,
274: _NL_CTYPE_CLASS_NAMES,
275: _NL_CTYPE_MAP_NAMES,
276: _NL_CTYPE_WIDTH,
277: _NL_CTYPE_MB_CUR_MAX,
278: _NL_CTYPE_CODESET_NAME,
279: CODESET = _NL_CTYPE_CODESET_NAME,
280: #define CODESET CODESET
281: _NL_CTYPE_TOUPPER32,
282: _NL_CTYPE_TOLOWER32,
283: _NL_CTYPE_CLASS_OFFSET,
284: _NL_CTYPE_MAP_OFFSET,
285: _NL_CTYPE_INDIGITS_MB_LEN,
286: _NL_CTYPE_INDIGITS0_MB,
287: _NL_CTYPE_INDIGITS1_MB,
288: _NL_CTYPE_INDIGITS2_MB,
289: _NL_CTYPE_INDIGITS3_MB,
290: _NL_CTYPE_INDIGITS4_MB,
291: _NL_CTYPE_INDIGITS5_MB,
292: _NL_CTYPE_INDIGITS6_MB,
293: _NL_CTYPE_INDIGITS7_MB,
294: _NL_CTYPE_INDIGITS8_MB,
295: _NL_CTYPE_INDIGITS9_MB,
296: _NL_CTYPE_INDIGITS_WC_LEN,
297: _NL_CTYPE_INDIGITS0_WC,
298: _NL_CTYPE_INDIGITS1_WC,
299: _NL_CTYPE_INDIGITS2_WC,
300: _NL_CTYPE_INDIGITS3_WC,
301: _NL_CTYPE_INDIGITS4_WC,
302: _NL_CTYPE_INDIGITS5_WC,
303: _NL_CTYPE_INDIGITS6_WC,
304: _NL_CTYPE_INDIGITS7_WC,
305: _NL_CTYPE_INDIGITS8_WC,
306: _NL_CTYPE_INDIGITS9_WC,
307: _NL_CTYPE_OUTDIGIT0_MB,
308: _NL_CTYPE_OUTDIGIT1_MB,
309: _NL_CTYPE_OUTDIGIT2_MB,
310: _NL_CTYPE_OUTDIGIT3_MB,
311: _NL_CTYPE_OUTDIGIT4_MB,
312: _NL_CTYPE_OUTDIGIT5_MB,
313: _NL_CTYPE_OUTDIGIT6_MB,
314: _NL_CTYPE_OUTDIGIT7_MB,
315: _NL_CTYPE_OUTDIGIT8_MB,
316: _NL_CTYPE_OUTDIGIT9_MB,
317: _NL_CTYPE_OUTDIGIT0_WC,
318: _NL_CTYPE_OUTDIGIT1_WC,
319: _NL_CTYPE_OUTDIGIT2_WC,
320: _NL_CTYPE_OUTDIGIT3_WC,
321: _NL_CTYPE_OUTDIGIT4_WC,
322: _NL_CTYPE_OUTDIGIT5_WC,
323: _NL_CTYPE_OUTDIGIT6_WC,
324: _NL_CTYPE_OUTDIGIT7_WC,
325: _NL_CTYPE_OUTDIGIT8_WC,
326: _NL_CTYPE_OUTDIGIT9_WC,
327: _NL_CTYPE_TRANSLIT_TAB_SIZE,
328: _NL_CTYPE_TRANSLIT_FROM_IDX,
329: _NL_CTYPE_TRANSLIT_FROM_TBL,
330: _NL_CTYPE_TRANSLIT_TO_IDX,
331: _NL_CTYPE_TRANSLIT_TO_TBL,
332: _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN,
333: _NL_CTYPE_TRANSLIT_DEFAULT_MISSING,
334: _NL_CTYPE_TRANSLIT_IGNORE_LEN,
335: _NL_CTYPE_TRANSLIT_IGNORE,
336: _NL_CTYPE_MAP_TO_NONASCII,
337: _NL_CTYPE_NONASCII_CASE,
338: _NL_CTYPE_EXTRA_MAP_1,
339: _NL_CTYPE_EXTRA_MAP_2,
340: _NL_CTYPE_EXTRA_MAP_3,
341: _NL_CTYPE_EXTRA_MAP_4,
342: _NL_CTYPE_EXTRA_MAP_5,
343: _NL_CTYPE_EXTRA_MAP_6,
344: _NL_CTYPE_EXTRA_MAP_7,
345: _NL_CTYPE_EXTRA_MAP_8,
346: _NL_CTYPE_EXTRA_MAP_9,
347: _NL_CTYPE_EXTRA_MAP_10,
348: _NL_CTYPE_EXTRA_MAP_11,
349: _NL_CTYPE_EXTRA_MAP_12,
350: _NL_CTYPE_EXTRA_MAP_13,
351: _NL_CTYPE_EXTRA_MAP_14,
352: _NL_NUM_LC_CTYPE,
353:
354:
355:
356:
357: __INT_CURR_SYMBOL = _NL_ITEM (__LC_MONETARY, 0),
358: #ifdef __USE_GNU
359: # define INT_CURR_SYMBOL __INT_CURR_SYMBOL
360: #endif
361: __CURRENCY_SYMBOL,
362: #ifdef __USE_GNU
363: # define CURRENCY_SYMBOL __CURRENCY_SYMBOL
364: #endif
365: __MON_DECIMAL_POINT,
366: #ifdef __USE_GNU
367: # define MON_DECIMAL_POINT __MON_DECIMAL_POINT
368: #endif
369: __MON_THOUSANDS_SEP,
370: #ifdef __USE_GNU
371: # define MON_THOUSANDS_SEP __MON_THOUSANDS_SEP
372: #endif
373: __MON_GROUPING,
374: #ifdef __USE_GNU
375: # define MON_GROUPING __MON_GROUPING
376: #endif
377: __POSITIVE_SIGN,
378: #ifdef __USE_GNU
379: # define POSITIVE_SIGN __POSITIVE_SIGN
380: #endif
381: __NEGATIVE_SIGN,
382: #ifdef __USE_GNU
383: # define NEGATIVE_SIGN __NEGATIVE_SIGN
384: #endif
385: __INT_FRAC_DIGITS,
386: #ifdef __USE_GNU
387: # define INT_FRAC_DIGITS __INT_FRAC_DIGITS
388: #endif
389: __FRAC_DIGITS,
390: #ifdef __USE_GNU
391: # define FRAC_DIGITS __FRAC_DIGITS
392: #endif
393: __P_CS_PRECEDES,
394: #ifdef __USE_GNU
395: # define P_CS_PRECEDES __P_CS_PRECEDES
396: #endif
397: __P_SEP_BY_SPACE,
398: #ifdef __USE_GNU
399: # define P_SEP_BY_SPACE __P_SEP_BY_SPACE
400: #endif
401: __N_CS_PRECEDES,
402: #ifdef __USE_GNU
403: # define N_CS_PRECEDES __N_CS_PRECEDES
404: #endif
405: __N_SEP_BY_SPACE,
406: #ifdef __USE_GNU
407: # define N_SEP_BY_SPACE __N_SEP_BY_SPACE
408: #endif
409: __P_SIGN_POSN,
410: #ifdef __USE_GNU
411: # define P_SIGN_POSN __P_SIGN_POSN
412: #endif
413: __N_SIGN_POSN,
414: #ifdef __USE_GNU
415: # define N_SIGN_POSN __N_SIGN_POSN
416: #endif
417: _NL_MONETARY_CRNCYSTR,
418: #define CRNCYSTR _NL_MONETARY_CRNCYSTR
419: __INT_P_CS_PRECEDES,
420: #ifdef __USE_GNU
421: # define INT_P_CS_PRECEDES __INT_P_CS_PRECEDES
422: #endif
423: __INT_P_SEP_BY_SPACE,
424: #ifdef __USE_GNU
425: # define INT_P_SEP_BY_SPACE __INT_P_SEP_BY_SPACE
426: #endif
427: __INT_N_CS_PRECEDES,
428: #ifdef __USE_GNU
429: # define INT_N_CS_PRECEDES __INT_N_CS_PRECEDES
430: #endif
431: __INT_N_SEP_BY_SPACE,
432: #ifdef __USE_GNU
433: # define INT_N_SEP_BY_SPACE __INT_N_SEP_BY_SPACE
434: #endif
435: __INT_P_SIGN_POSN,
436: #ifdef __USE_GNU
437: # define INT_P_SIGN_POSN __INT_P_SIGN_POSN
438: #endif
439: __INT_N_SIGN_POSN,
440: #ifdef __USE_GNU
441: # define INT_N_SIGN_POSN __INT_N_SIGN_POSN
442: #endif
443: _NL_MONETARY_DUO_INT_CURR_SYMBOL,
444: _NL_MONETARY_DUO_CURRENCY_SYMBOL,
445: _NL_MONETARY_DUO_INT_FRAC_DIGITS,
446: _NL_MONETARY_DUO_FRAC_DIGITS,
447: _NL_MONETARY_DUO_P_CS_PRECEDES,
448: _NL_MONETARY_DUO_P_SEP_BY_SPACE,
449: _NL_MONETARY_DUO_N_CS_PRECEDES,
450: _NL_MONETARY_DUO_N_SEP_BY_SPACE,
451: _NL_MONETARY_DUO_INT_P_CS_PRECEDES,
452: _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE,
453: _NL_MONETARY_DUO_INT_N_CS_PRECEDES,
454: _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE,
455: _NL_MONETARY_DUO_P_SIGN_POSN,
456: _NL_MONETARY_DUO_N_SIGN_POSN,
457: _NL_MONETARY_DUO_INT_P_SIGN_POSN,
458: _NL_MONETARY_DUO_INT_N_SIGN_POSN,
459: _NL_MONETARY_UNO_VALID_FROM,
460: _NL_MONETARY_UNO_VALID_TO,
461: _NL_MONETARY_DUO_VALID_FROM,
462: _NL_MONETARY_DUO_VALID_TO,
463: _NL_MONETARY_CONVERSION_RATE,
464: _NL_MONETARY_DECIMAL_POINT_WC,
465: _NL_MONETARY_THOUSANDS_SEP_WC,
466: _NL_MONETARY_CODESET,
467: _NL_NUM_LC_MONETARY,
468:
469:
470:
471: __DECIMAL_POINT = _NL_ITEM (__LC_NUMERIC, 0),
472: #ifdef __USE_GNU
473: # define DECIMAL_POINT __DECIMAL_POINT
474: #endif
475: RADIXCHAR = __DECIMAL_POINT,
476: #define RADIXCHAR RADIXCHAR
477: __THOUSANDS_SEP,
478: #ifdef __USE_GNU
479: # define THOUSANDS_SEP __THOUSANDS_SEP
480: #endif
481: THOUSEP = __THOUSANDS_SEP,
482: #define THOUSEP THOUSEP
483: __GROUPING,
484: #ifdef __USE_GNU
485: # define GROUPING __GROUPING
486: #endif
487: _NL_NUMERIC_DECIMAL_POINT_WC,
488: _NL_NUMERIC_THOUSANDS_SEP_WC,
489: _NL_NUMERIC_CODESET,
490: _NL_NUM_LC_NUMERIC,
491:
492: __YESEXPR = _NL_ITEM (__LC_MESSAGES, 0),
493: #define YESEXPR __YESEXPR
494: __NOEXPR,
495: #define NOEXPR __NOEXPR
496: __YESSTR,
497: #if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
498: # define YESSTR __YESSTR
499: #endif
500: __NOSTR,
501: #if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
502: # define NOSTR __NOSTR
503: #endif
504: _NL_MESSAGES_CODESET,
505: _NL_NUM_LC_MESSAGES,
506:
507: _NL_PAPER_HEIGHT = _NL_ITEM (__LC_PAPER, 0),
508: _NL_PAPER_WIDTH,
509: _NL_PAPER_CODESET,
510: _NL_NUM_LC_PAPER,
511:
512: _NL_NAME_NAME_FMT = _NL_ITEM (__LC_NAME, 0),
513: _NL_NAME_NAME_GEN,
514: _NL_NAME_NAME_MR,
515: _NL_NAME_NAME_MRS,
516: _NL_NAME_NAME_MISS,
517: _NL_NAME_NAME_MS,
518: _NL_NAME_CODESET,
519: _NL_NUM_LC_NAME,
520:
521: _NL_ADDRESS_POSTAL_FMT = _NL_ITEM (__LC_ADDRESS, 0),
522: _NL_ADDRESS_COUNTRY_NAME,
523: _NL_ADDRESS_COUNTRY_POST,
524: _NL_ADDRESS_COUNTRY_AB2,
525: _NL_ADDRESS_COUNTRY_AB3,
526: _NL_ADDRESS_COUNTRY_CAR,
527: _NL_ADDRESS_COUNTRY_NUM,
528: _NL_ADDRESS_COUNTRY_ISBN,
529: _NL_ADDRESS_LANG_NAME,
530: _NL_ADDRESS_LANG_AB,
531: _NL_ADDRESS_LANG_TERM,
532: _NL_ADDRESS_LANG_LIB,
533: _NL_ADDRESS_CODESET,
534: _NL_NUM_LC_ADDRESS,
535:
536: _NL_TELEPHONE_TEL_INT_FMT = _NL_ITEM (__LC_TELEPHONE, 0),
537: _NL_TELEPHONE_TEL_DOM_FMT,
538: _NL_TELEPHONE_INT_SELECT,
539: _NL_TELEPHONE_INT_PREFIX,
540: _NL_TELEPHONE_CODESET,
541: _NL_NUM_LC_TELEPHONE,
542:
543: _NL_MEASUREMENT_MEASUREMENT = _NL_ITEM (__LC_MEASUREMENT, 0),
544: _NL_MEASUREMENT_CODESET,
545: _NL_NUM_LC_MEASUREMENT,
546:
547: _NL_IDENTIFICATION_TITLE = _NL_ITEM (__LC_IDENTIFICATION, 0),
548: _NL_IDENTIFICATION_SOURCE,
549: _NL_IDENTIFICATION_ADDRESS,
550: _NL_IDENTIFICATION_CONTACT,
551: _NL_IDENTIFICATION_EMAIL,
552: _NL_IDENTIFICATION_TEL,
553: _NL_IDENTIFICATION_FAX,
554: _NL_IDENTIFICATION_LANGUAGE,
555: _NL_IDENTIFICATION_TERRITORY,
556: _NL_IDENTIFICATION_AUDIENCE,
557: _NL_IDENTIFICATION_APPLICATION,
558: _NL_IDENTIFICATION_ABBREVIATION,
559: _NL_IDENTIFICATION_REVISION,
560: _NL_IDENTIFICATION_DATE,
561: _NL_IDENTIFICATION_CATEGORY,
562: _NL_IDENTIFICATION_CODESET,
563: _NL_NUM_LC_IDENTIFICATION,
564:
565:
566: _NL_NUM
567: };
568:
569:
570:
571: #define _NL_LOCALE_NAME(category) _NL_ITEM ((category), \
572: _NL_ITEM_INDEX (-1))
573: #ifdef __USE_GNU
574: # define NL_LOCALE_NAME(category) _NL_LOCALE_NAME (category)
575: #endif
576:
577:
578:
579:
580:
581:
582:
583:
584: extern char *nl_langinfo (nl_item __item) __THROW;
585:
586:
587: #ifdef __USE_XOPEN2K
588:
589:
590:
591:
592: # include <xlocale.h>
593:
594:
595: extern char *nl_langinfo_l (nl_item __item, __locale_t __l);
596: #endif
597:
598: __END_DECLS
599:
600: #endif
601:
© Andrew Scott 2006 -
2024,
All Rights Reserved