1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20: #ifndef _LANGINFO_H
21: #define _LANGINFO_H 1
22:
23:
24: #include <nl_types.h>
25:
26: #include <bits/locale.h>
27:
28:
29: __BEGIN_DECLS
30:
31:
32:
33:
34:
35: #define _NL_ITEM(category, index) (((category) << 16) | (index))
36:
37:
38: #define _NL_ITEM_CATEGORY(item) ((int) (item) >> 16)
39: #define _NL_ITEM_INDEX(item) ((int) (item) & 0xffff)
40:
41:
42: enum
43: {
44:
45:
46:
47: ABDAY_1 = _NL_ITEM (__LC_TIME, 0),
48: #define ABDAY_1 ABDAY_1
49: ABDAY_2,
50: #define ABDAY_2 ABDAY_2
51: ABDAY_3,
52: #define ABDAY_3 ABDAY_3
53: ABDAY_4,
54: #define ABDAY_4 ABDAY_4
55: ABDAY_5,
56: #define ABDAY_5 ABDAY_5
57: ABDAY_6,
58: #define ABDAY_6 ABDAY_6
59: ABDAY_7,
60: #define ABDAY_7 ABDAY_7
61:
62:
63: DAY_1,
64: #define DAY_1 DAY_1
65: DAY_2,
66: #define DAY_2 DAY_2
67: DAY_3,
68: #define DAY_3 DAY_3
69: DAY_4,
70: #define DAY_4 DAY_4
71: DAY_5,
72: #define DAY_5 DAY_5
73: DAY_6,
74: #define DAY_6 DAY_6
75: DAY_7,
76: #define DAY_7 DAY_7
77:
78:
79: ABMON_1,
80: #define ABMON_1 ABMON_1
81: ABMON_2,
82: #define ABMON_2 ABMON_2
83: ABMON_3,
84: #define ABMON_3 ABMON_3
85: ABMON_4,
86: #define ABMON_4 ABMON_4
87: ABMON_5,
88: #define ABMON_5 ABMON_5
89: ABMON_6,
90: #define ABMON_6 ABMON_6
91: ABMON_7,
92: #define ABMON_7 ABMON_7
93: ABMON_8,
94: #define ABMON_8 ABMON_8
95: ABMON_9,
96: #define ABMON_9 ABMON_9
97: ABMON_10,
98: #define ABMON_10 ABMON_10
99: 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_EXTRA_MAP_1,
338: _NL_CTYPE_EXTRA_MAP_2,
339: _NL_CTYPE_EXTRA_MAP_3,
340: _NL_CTYPE_EXTRA_MAP_4,
341: _NL_CTYPE_EXTRA_MAP_5,
342: _NL_CTYPE_EXTRA_MAP_6,
343: _NL_CTYPE_EXTRA_MAP_7,
344: _NL_CTYPE_EXTRA_MAP_8,
345: _NL_CTYPE_EXTRA_MAP_9,
346: _NL_CTYPE_EXTRA_MAP_10,
347: _NL_CTYPE_EXTRA_MAP_11,
348: _NL_CTYPE_EXTRA_MAP_12,
349: _NL_CTYPE_EXTRA_MAP_13,
350: _NL_CTYPE_EXTRA_MAP_14,
351: _NL_NUM_LC_CTYPE,
352:
353:
354:
355:
356: __INT_CURR_SYMBOL = _NL_ITEM (__LC_MONETARY, 0),
357: #ifdef __USE_GNU
358: # define INT_CURR_SYMBOL __INT_CURR_SYMBOL
359: #endif
360: __CURRENCY_SYMBOL,
361: #ifdef __USE_GNU
362: # define CURRENCY_SYMBOL __CURRENCY_SYMBOL
363: #endif
364: __MON_DECIMAL_POINT,
365: #ifdef __USE_GNU
366: # define MON_DECIMAL_POINT __MON_DECIMAL_POINT
367: #endif
368: __MON_THOUSANDS_SEP,
369: #ifdef __USE_GNU
370: # define MON_THOUSANDS_SEP __MON_THOUSANDS_SEP
371: #endif
372: __MON_GROUPING,
373: #ifdef __USE_GNU
374: # define MON_GROUPING __MON_GROUPING
375: #endif
376: __POSITIVE_SIGN,
377: #ifdef __USE_GNU
378: # define POSITIVE_SIGN __POSITIVE_SIGN
379: #endif
380: __NEGATIVE_SIGN,
381: #ifdef __USE_GNU
382: # define NEGATIVE_SIGN __NEGATIVE_SIGN
383: #endif
384: __INT_FRAC_DIGITS,
385: #ifdef __USE_GNU
386: # define INT_FRAC_DIGITS __INT_FRAC_DIGITS
387: #endif
388: __FRAC_DIGITS,
389: #ifdef __USE_GNU
390: # define FRAC_DIGITS __FRAC_DIGITS
391: #endif
392: __P_CS_PRECEDES,
393: #ifdef __USE_GNU
394: # define P_CS_PRECEDES __P_CS_PRECEDES
395: #endif
396: __P_SEP_BY_SPACE,
397: #ifdef __USE_GNU
398: # define P_SEP_BY_SPACE __P_SEP_BY_SPACE
399: #endif
400: __N_CS_PRECEDES,
401: #ifdef __USE_GNU
402: # define N_CS_PRECEDES __N_CS_PRECEDES
403: #endif
404: __N_SEP_BY_SPACE,
405: #ifdef __USE_GNU
406: # define N_SEP_BY_SPACE __N_SEP_BY_SPACE
407: #endif
408: __P_SIGN_POSN,
409: #ifdef __USE_GNU
410: # define P_SIGN_POSN __P_SIGN_POSN
411: #endif
412: __N_SIGN_POSN,
413: #ifdef __USE_GNU
414: # define N_SIGN_POSN __N_SIGN_POSN
415: #endif
416: _NL_MONETARY_CRNCYSTR,
417: #define CRNCYSTR _NL_MONETARY_CRNCYSTR
418: __INT_P_CS_PRECEDES,
419: #ifdef __USE_GNU
420: # define INT_P_CS_PRECEDES __INT_P_CS_PRECEDES
421: #endif
422: __INT_P_SEP_BY_SPACE,
423: #ifdef __USE_GNU
424: # define INT_P_SEP_BY_SPACE __INT_P_SEP_BY_SPACE
425: #endif
426: __INT_N_CS_PRECEDES,
427: #ifdef __USE_GNU
428: # define INT_N_CS_PRECEDES __INT_N_CS_PRECEDES
429: #endif
430: __INT_N_SEP_BY_SPACE,
431: #ifdef __USE_GNU
432: # define INT_N_SEP_BY_SPACE __INT_N_SEP_BY_SPACE
433: #endif
434: __INT_P_SIGN_POSN,
435: #ifdef __USE_GNU
436: # define INT_P_SIGN_POSN __INT_P_SIGN_POSN
437: #endif
438: __INT_N_SIGN_POSN,
439: #ifdef __USE_GNU
440: # define INT_N_SIGN_POSN __INT_N_SIGN_POSN
441: #endif
442: _NL_MONETARY_DUO_INT_CURR_SYMBOL,
443: _NL_MONETARY_DUO_CURRENCY_SYMBOL,
444: _NL_MONETARY_DUO_INT_FRAC_DIGITS,
445: _NL_MONETARY_DUO_FRAC_DIGITS,
446: _NL_MONETARY_DUO_P_CS_PRECEDES,
447: _NL_MONETARY_DUO_P_SEP_BY_SPACE,
448: _NL_MONETARY_DUO_N_CS_PRECEDES,
449: _NL_MONETARY_DUO_N_SEP_BY_SPACE,
450: _NL_MONETARY_DUO_INT_P_CS_PRECEDES,
451: _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE,
452: _NL_MONETARY_DUO_INT_N_CS_PRECEDES,
453: _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE,
454: _NL_MONETARY_DUO_P_SIGN_POSN,
455: _NL_MONETARY_DUO_N_SIGN_POSN,
456: _NL_MONETARY_DUO_INT_P_SIGN_POSN,
457: _NL_MONETARY_DUO_INT_N_SIGN_POSN,
458: _NL_MONETARY_UNO_VALID_FROM,
459: _NL_MONETARY_UNO_VALID_TO,
460: _NL_MONETARY_DUO_VALID_FROM,
461: _NL_MONETARY_DUO_VALID_TO,
462: _NL_MONETARY_CONVERSION_RATE,
463: _NL_MONETARY_DECIMAL_POINT_WC,
464: _NL_MONETARY_THOUSANDS_SEP_WC,
465: _NL_MONETARY_CODESET,
466: _NL_NUM_LC_MONETARY,
467:
468:
469:
470: __DECIMAL_POINT = _NL_ITEM (__LC_NUMERIC, 0),
471: #ifdef __USE_GNU
472: # define DECIMAL_POINT __DECIMAL_POINT
473: #endif
474: RADIXCHAR = __DECIMAL_POINT,
475: #define RADIXCHAR RADIXCHAR
476: __THOUSANDS_SEP,
477: #ifdef __USE_GNU
478: # define THOUSANDS_SEP __THOUSANDS_SEP
479: #endif
480: THOUSEP = __THOUSANDS_SEP,
481: #define THOUSEP THOUSEP
482: __GROUPING,
483: #ifdef __USE_GNU
484: # define GROUPING __GROUPING
485: #endif
486: _NL_NUMERIC_DECIMAL_POINT_WC,
487: _NL_NUMERIC_THOUSANDS_SEP_WC,
488: _NL_NUMERIC_CODESET,
489: _NL_NUM_LC_NUMERIC,
490:
491: __YESEXPR = _NL_ITEM (__LC_MESSAGES, 0),
492: #define YESEXPR __YESEXPR
493: __NOEXPR,
494: #define NOEXPR __NOEXPR
495: __YESSTR,
496: #if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
497: # define YESSTR __YESSTR
498: #endif
499: __NOSTR,
500: #if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
501: # define NOSTR __NOSTR
502: #endif
503: _NL_MESSAGES_CODESET,
504: _NL_NUM_LC_MESSAGES,
505:
506: _NL_PAPER_HEIGHT = _NL_ITEM (__LC_PAPER, 0),
507: _NL_PAPER_WIDTH,
508: _NL_PAPER_CODESET,
509: _NL_NUM_LC_PAPER,
510:
511: _NL_NAME_NAME_FMT = _NL_ITEM (__LC_NAME, 0),
512: _NL_NAME_NAME_GEN,
513: _NL_NAME_NAME_MR,
514: _NL_NAME_NAME_MRS,
515: _NL_NAME_NAME_MISS,
516: _NL_NAME_NAME_MS,
517: _NL_NAME_CODESET,
518: _NL_NUM_LC_NAME,
519:
520: _NL_ADDRESS_POSTAL_FMT = _NL_ITEM (__LC_ADDRESS, 0),
521: _NL_ADDRESS_COUNTRY_NAME,
522: _NL_ADDRESS_COUNTRY_POST,
523: _NL_ADDRESS_COUNTRY_AB2,
524: _NL_ADDRESS_COUNTRY_AB3,
525: _NL_ADDRESS_COUNTRY_CAR,
526: _NL_ADDRESS_COUNTRY_NUM,
527: _NL_ADDRESS_COUNTRY_ISBN,
528: _NL_ADDRESS_LANG_NAME,
529: _NL_ADDRESS_LANG_AB,
530: _NL_ADDRESS_LANG_TERM,
531: _NL_ADDRESS_LANG_LIB,
532: _NL_ADDRESS_CODESET,
533: _NL_NUM_LC_ADDRESS,
534:
535: _NL_TELEPHONE_TEL_INT_FMT = _NL_ITEM (__LC_TELEPHONE, 0),
536: _NL_TELEPHONE_TEL_DOM_FMT,
537: _NL_TELEPHONE_INT_SELECT,
538: _NL_TELEPHONE_INT_PREFIX,
539: _NL_TELEPHONE_CODESET,
540: _NL_NUM_LC_TELEPHONE,
541:
542: _NL_MEASUREMENT_MEASUREMENT = _NL_ITEM (__LC_MEASUREMENT, 0),
543: _NL_MEASUREMENT_CODESET,
544: _NL_NUM_LC_MEASUREMENT,
545:
546: _NL_IDENTIFICATION_TITLE = _NL_ITEM (__LC_IDENTIFICATION, 0),
547: _NL_IDENTIFICATION_SOURCE,
548: _NL_IDENTIFICATION_ADDRESS,
549: _NL_IDENTIFICATION_CONTACT,
550: _NL_IDENTIFICATION_EMAIL,
551: _NL_IDENTIFICATION_TEL,
552: _NL_IDENTIFICATION_FAX,
553: _NL_IDENTIFICATION_LANGUAGE,
554: _NL_IDENTIFICATION_TERRITORY,
555: _NL_IDENTIFICATION_AUDIENCE,
556: _NL_IDENTIFICATION_APPLICATION,
557: _NL_IDENTIFICATION_ABBREVIATION,
558: _NL_IDENTIFICATION_REVISION,
559: _NL_IDENTIFICATION_DATE,
560: _NL_IDENTIFICATION_CATEGORY,
561: _NL_IDENTIFICATION_CODESET,
562: _NL_NUM_LC_IDENTIFICATION,
563:
564:
565: _NL_NUM
566: };
567:
568:
569:
570: #define _NL_LOCALE_NAME(category) _NL_ITEM ((category), -1)
571: #ifdef __USE_GNU
572: # define NL_LOCALE_NAME(category) _NL_LOCALE_NAME (category)
573: #endif
574:
575:
576:
577:
578:
579:
580:
581:
582: extern char *nl_langinfo (nl_item __item) __THROW;
583:
584:
585: #ifdef __USE_GNU
586:
587:
588:
589:
590: # include <xlocale.h>