1 #ifndef __EVIL_LANGINFO_H__
2 #define __EVIL_LANGINFO_H__
3 
4 
5 #include <locale.h>
6 
7 
8 typedef int            nl_item;
9 
10 #define __NL_ITEM( CATEGORY, INDEX )  ((CATEGORY << 16) | INDEX)
11 #define __NL_ITEM_CATEGORY( ITEM )    (ITEM >> 16)
12 #define __NL_ITEM_INDEX( ITEM )       (ITEM & 0xffff)
13 
14 enum {
15   /*
16    * LC_CTYPE category...
17    * Character set classification items.
18    */
19   _NL_CTYPE_CODESET     = __NL_ITEM( LC_CTYPE, 0 ),
20   _NL_NUMERIC_RADIXCHAR = __NL_ITEM( LC_NUMERIC, 0 ),
21 
22   D_T_FMT, /* Date and time format for strftime*/
23 #define D_T_FMT D_T_FMT
24   D_FMT,   /* Date format for strftime*/
25 #define D_FMT D_FMT
26   T_FMT,   /* Time format for strftime*/
27 #define T_FMT T_FMT
28   T_FMT_AMPM,  /*12-hour time format for strftime*/
29 #define T_FMT_AMPM T_FMT_AMPM
30   /*
31    * Dummy entry, to terminate the list.
32    */
33   _NL_ITEM_CLASSIFICATION_END
34 };
35 
36 /*
37  * Define the public aliases for the enumerated classification indices...
38  */
39 # define CODESET       _NL_CTYPE_CODESET
40 # define RADIXCHAR     _NL_NUMERIC_RADIXCHAR
41 
42 EAPI char *nl_langinfo(nl_item index);
43 
44 
45 #endif /*__EVIL_LANGINFO_H__ */
46