Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
3.0 KiB

  1. /* xlocinfo.h internal header for Microsoft C */
  2. #ifndef _XLOCINFO
  3. #define _XLOCINFO
  4. #include <ctype.h>
  5. #include <locale.h>
  6. #include <wchar.h>
  7. #ifndef _YVALS
  8. #include <yvals.h>
  9. #endif
  10. /* SUPPLEMENTAL CTYPE MACROS & DECLARATIONS */
  11. #define _XA 0x100 /* extra alphabetic */
  12. #define _XS 0x000 /* extra space */
  13. #define _BB _CONTROL /* BEL, BS, etc. */
  14. #define _CN _SPACE /* CR, FF, HT, NL, VT */
  15. #define _DI _DIGIT /* '0'-'9' */
  16. #define _LO _LOWER /* 'a'-'z' */
  17. #define _PU _PUNCT /* punctuation */
  18. #define _SP _BLANK /* space */
  19. #define _UP _UPPER /* 'A'-'Z' */
  20. #define _XD _HEX /* '0'-'9', 'A'-'F', 'a'-'f' */
  21. /* SUPPLEMENTAL LOCALE MACROS AND DECLARATIONS */
  22. #define _LC_ALL LC_ALL
  23. #define _LC_COLLATE LC_COLLATE
  24. #define _LC_CTYPE LC_CTYPE
  25. #define _LC_MONETARY LC_MONETARY
  26. #define _LC_NUMERIC LC_NUMERIC
  27. #define _LC_TIME LC_TIME
  28. #define _LC_MAX LC_MAX
  29. #define _LC_MESSAGE 6
  30. #define _NCAT 7
  31. #define _CATMASK(n) ((1 << (n)) >> 1)
  32. #define _M_COLLATE _CATMASK(_LC_COLLATE)
  33. #define _M_CTYPE _CATMASK(_LC_CTYPE)
  34. #define _M_MONETARY _CATMASK(_LC_MONETARY)
  35. #define _M_NUMERIC _CATMASK(_LC_NUMERIC)
  36. #define _M_TIME _CATMASK(_LC_TIME)
  37. #define _M_MESSAGE _CATMASK(_LC_MESSAGE)
  38. #define _M_ALL (_CATMASK(_NCAT) - 1)
  39. typedef struct _Collvec {
  40. unsigned long _Hand; // LCID
  41. unsigned int _Page; // UINT
  42. } _Collvec;
  43. typedef struct _Ctypevec {
  44. unsigned long _Hand; // LCID
  45. unsigned int _Page; // UINT
  46. const short *_Table;
  47. int _Delfl;
  48. } _Ctypevec;
  49. typedef struct _Cvtvec {
  50. unsigned long _Hand; // LCID
  51. unsigned int _Page; // UINT
  52. } _Cvtvec;
  53. /* FUNCTION DECLARATIONS */
  54. _C_LIB_DECL
  55. _CRTIMP _Collvec __cdecl _Getcoll();
  56. _CRTIMP _Ctypevec __cdecl _Getctype();
  57. _CRTIMP _Cvtvec __cdecl _Getcvt();
  58. char *__cdecl _Getdays();
  59. char *__cdecl _Getmonths();
  60. void *__cdecl _Gettnames();
  61. _CRTIMP int __cdecl _Mbrtowc(wchar_t *, const char *, size_t,
  62. mbstate_t *, const _Cvtvec *);
  63. extern float __cdecl _Stof(const char *, char **, long);
  64. extern double __cdecl _Stod(const char *, char **, long);
  65. extern long double __cdecl _Stold(const char *, char **, long);
  66. _CRTIMP int __cdecl _Strcoll(const char *, const char *,
  67. const char *, const char *, const _Collvec *);
  68. size_t __cdecl _Strftime(char *, size_t, const char *,
  69. const struct tm *, void *);
  70. _CRTIMP size_t __cdecl _Strxfrm(char *, char *,
  71. const char *, const char *, const _Collvec *);
  72. _CRTIMP int __cdecl _Tolower(int, const _Ctypevec *);
  73. _CRTIMP int __cdecl _Toupper(int, const _Ctypevec *);
  74. _CRTIMP int __cdecl _Wcrtomb(char *, wchar_t, mbstate_t *,
  75. const _Cvtvec *);
  76. _CRTIMP int __cdecl _Wcscoll(const wchar_t *, const wchar_t *,
  77. const wchar_t *, const wchar_t *, const _Collvec *);
  78. _CRTIMP size_t __cdecl _Wcsxfrm(wchar_t *, wchar_t *,
  79. const wchar_t *, const wchar_t *, const _Collvec *);
  80. _END_C_LIB_DECL
  81. #endif /* _XLOCINFO */
  82. /*
  83. * Copyright (c) 1995 by P.J. Plauger. ALL RIGHTS RESERVED.
  84. * Consult your license regarding permissions and restrictions.
  85. */