1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _XLOCINFO 7 #define _XLOCINFO 8 #include <ctype.h> 9 #include <locale.h> 10 #include <wchar.h> 11 #include <yvals.h> 12 13 #pragma pack(push,_CRT_PACKING) 14 15 _C_STD_BEGIN 16 _C_LIB_DECL 17 18 #define _XA 0x100 19 #define _XS 0x000 20 #define _BB _CONTROL 21 #define _CN _SPACE 22 #define _DI _DIGIT 23 #define _LO _LOWER 24 #define _PU _PUNCT 25 #define _SP _BLANK 26 #define _UP _UPPER 27 #define _XD _HEX 28 29 #define _X_ALL LC_ALL 30 #define _X_COLLATE LC_COLLATE 31 #define _X_CTYPE LC_CTYPE 32 #define _X_MONETARY LC_MONETARY 33 #define _X_NUMERIC LC_NUMERIC 34 #define _X_TIME LC_TIME 35 #define _X_MAX LC_MAX 36 #define _X_MESSAGES 6 37 #define _NCAT 7 38 39 #define _CATMASK(n) ((1 << (n)) >> 1) 40 #define _M_COLLATE _CATMASK(_X_COLLATE) 41 #define _M_CTYPE _CATMASK(_X_CTYPE) 42 #define _M_MONETARY _CATMASK(_X_MONETARY) 43 #define _M_NUMERIC _CATMASK(_X_NUMERIC) 44 #define _M_TIME _CATMASK(_X_TIME) 45 #define _M_MESSAGES _CATMASK(_X_MESSAGES) 46 #define _M_ALL (_CATMASK(_NCAT) - 1) 47 48 typedef struct _Collvec { 49 unsigned long _Hand; 50 unsigned int _Page; 51 } _Collvec; 52 53 typedef struct _Ctypevec { 54 unsigned long _Hand; 55 unsigned int _Page; 56 const short *_Table; 57 int _Delfl; 58 } _Ctypevec; 59 60 typedef struct _Cvtvec { 61 unsigned long _Hand; 62 unsigned int _Page; 63 } _Cvtvec; 64 65 _CRTIMP _Collvec __cdecl _Getcoll(); 66 _CRTIMP _Ctypevec __cdecl _Getctype(); 67 _CRTIMP _Cvtvec __cdecl _Getcvt(); 68 _CRTIMP int __cdecl _Getdateorder(); 69 _CRTIMP int __cdecl _Mbrtowc(wchar_t *,const char *,size_t,mbstate_t *,const _Cvtvec *); 70 _CRTIMP float __cdecl _Stof(const char *,char **,long); 71 _CRTIMP double __cdecl _Stod(const char *,char **,long); 72 _CRTIMP long double __cdecl _Stold(const char *,char **,long); 73 _CRTIMP int __cdecl _Strcoll(const char *,const char *,const char *,const char *,const _Collvec *); 74 _CRTIMP size_t __cdecl _Strxfrm(char *_String1,char *_End1,const char *,const char *,const _Collvec *); 75 _CRTIMP int __cdecl _Tolower(int,const _Ctypevec *); 76 _CRTIMP int __cdecl _Toupper(int,const _Ctypevec *); 77 _CRTIMP int __cdecl _Wcrtomb(char *,wchar_t,mbstate_t *,const _Cvtvec *); 78 _CRTIMP int __cdecl _Wcscoll(const wchar_t *,const wchar_t *,const wchar_t *,const wchar_t *,const _Collvec *); 79 _CRTIMP size_t __cdecl _Wcsxfrm(wchar_t *_String1,wchar_t *_End1,const wchar_t *,const wchar_t *,const _Collvec *); 80 _CRTIMP short __cdecl _Getwctype(wchar_t,const _Ctypevec *); 81 _CRTIMP const wchar_t *__cdecl _Getwctypes(const wchar_t *,const wchar_t *,short*,const _Ctypevec*); 82 _CRTIMP wchar_t __cdecl _Towlower(wchar_t,const _Ctypevec *); 83 _CRTIMP wchar_t __cdecl _Towupper(wchar_t,const _Ctypevec *); 84 _END_C_LIB_DECL 85 _C_STD_END 86 87 _C_LIB_DECL 88 _CRTIMP void *__cdecl _Gettnames(); 89 _CRTIMP char *__cdecl _Getdays(); 90 _CRTIMP char *__cdecl _Getmonths(); 91 _CRTIMP size_t __cdecl _Strftime(char *,size_t _Maxsize,const char *,const struct tm *,void *); 92 _END_C_LIB_DECL 93 94 _C_LIB_DECL 95 _locale_t __cdecl _GetLocaleForCP(unsigned int); 96 _END_C_LIB_DECL 97 98 #pragma pack(pop) 99 #endif 100