xlocinfo.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. #pragma pack(push,_CRT_PACKING)
  13. _C_STD_BEGIN
  14. _C_LIB_DECL
  15. #define _XA 0x100
  16. #define _XS 0x000
  17. #define _BB _CONTROL
  18. #define _CN _SPACE
  19. #define _DI _DIGIT
  20. #define _LO _LOWER
  21. #define _PU _PUNCT
  22. #define _SP _BLANK
  23. #define _UP _UPPER
  24. #define _XD _HEX
  25. #define _X_ALL LC_ALL
  26. #define _X_COLLATE LC_COLLATE
  27. #define _X_CTYPE LC_CTYPE
  28. #define _X_MONETARY LC_MONETARY
  29. #define _X_NUMERIC LC_NUMERIC
  30. #define _X_TIME LC_TIME
  31. #define _X_MAX LC_MAX
  32. #define _X_MESSAGES 6
  33. #define _NCAT 7
  34. #define _CATMASK(n) ((1 << (n)) >> 1)
  35. #define _M_COLLATE _CATMASK(_X_COLLATE)
  36. #define _M_CTYPE _CATMASK(_X_CTYPE)
  37. #define _M_MONETARY _CATMASK(_X_MONETARY)
  38. #define _M_NUMERIC _CATMASK(_X_NUMERIC)
  39. #define _M_TIME _CATMASK(_X_TIME)
  40. #define _M_MESSAGES _CATMASK(_X_MESSAGES)
  41. #define _M_ALL (_CATMASK(_NCAT) - 1)
  42. typedef struct _Collvec {
  43. unsigned long _Hand;
  44. unsigned int _Page;
  45. } _Collvec;
  46. typedef struct _Ctypevec {
  47. unsigned long _Hand;
  48. unsigned int _Page;
  49. const short *_Table;
  50. int _Delfl;
  51. } _Ctypevec;
  52. typedef struct _Cvtvec {
  53. unsigned long _Hand;
  54. unsigned int _Page;
  55. } _Cvtvec;
  56. _CRTIMP _Collvec __cdecl _Getcoll();
  57. _CRTIMP _Ctypevec __cdecl _Getctype();
  58. _CRTIMP _Cvtvec __cdecl _Getcvt();
  59. _CRTIMP int __cdecl _Getdateorder();
  60. _CRTIMP int __cdecl _Mbrtowc(wchar_t *,const char *,size_t,mbstate_t *,const _Cvtvec *);
  61. _CRTIMP float __cdecl _Stof(const char *,char **,long);
  62. _CRTIMP double __cdecl _Stod(const char *,char **,long);
  63. _CRTIMP long double __cdecl _Stold(const char *,char **,long);
  64. _CRTIMP int __cdecl _Strcoll(const char *,const char *,const char *,const char *,const _Collvec *);
  65. _CRTIMP size_t __cdecl _Strxfrm(char *_String1,char *_End1,const char *,const char *,const _Collvec *);
  66. _CRTIMP int __cdecl _Tolower(int,const _Ctypevec *);
  67. _CRTIMP int __cdecl _Toupper(int,const _Ctypevec *);
  68. _CRTIMP int __cdecl _Wcrtomb(char *,wchar_t,mbstate_t *,const _Cvtvec *);
  69. _CRTIMP int __cdecl _Wcscoll(const wchar_t *,const wchar_t *,const wchar_t *,const wchar_t *,const _Collvec *);
  70. _CRTIMP size_t __cdecl _Wcsxfrm(wchar_t *_String1,wchar_t *_End1,const wchar_t *,const wchar_t *,const _Collvec *);
  71. _CRTIMP short __cdecl _Getwctype(wchar_t,const _Ctypevec *);
  72. _CRTIMP const wchar_t *__cdecl _Getwctypes(const wchar_t *,const wchar_t *,short*,const _Ctypevec*);
  73. _CRTIMP wchar_t __cdecl _Towlower(wchar_t,const _Ctypevec *);
  74. _CRTIMP wchar_t __cdecl _Towupper(wchar_t,const _Ctypevec *);
  75. _END_C_LIB_DECL
  76. _C_STD_END
  77. _C_LIB_DECL
  78. _CRTIMP void *__cdecl _Gettnames();
  79. _CRTIMP char *__cdecl _Getdays();
  80. _CRTIMP char *__cdecl _Getmonths();
  81. _CRTIMP size_t __cdecl _Strftime(char *,size_t _Maxsize,const char *,const struct tm *,void *);
  82. _END_C_LIB_DECL
  83. _C_LIB_DECL
  84. _locale_t __cdecl _GetLocaleForCP(unsigned int);
  85. _END_C_LIB_DECL
  86. #pragma pack(pop)
  87. #endif