2 * Character type definitions
4 * Derived from the mingw header written by Colin Peters.
5 * Modified for Wine use by Jon Griffiths and Francois Gouget.
6 * This file is in the public domain.
10 #define __WINE_USE_MSVCRT
13 # ifdef USE_MSVCRT_PREFIX
14 # define MSVCRT(x) MSVCRT_##x
24 #ifndef MSVCRT_WCHAR_T_DEFINED
25 #define MSVCRT_WCHAR_T_DEFINED
27 typedef unsigned short MSVCRT(wchar_t);
31 #ifndef USE_MSVCRT_PREFIX
33 # define WEOF (wint_t)(0xFFFF)
37 # define MSVCRT_WEOF (MSVCRT_wint_t)(0xFFFF)
39 #endif /* USE_MSVCRT_PREFIX */
41 #ifndef MSVCRT_WCTYPE_T_DEFINED
42 typedef MSVCRT(wchar_t) MSVCRT(wint_t);
43 typedef MSVCRT(wchar_t) MSVCRT(wctype_t);
44 #define MSVCRT_WCTYPE_T_DEFINED
47 /* ASCII char classification table - binary compatible */
48 #define _UPPER 0x0001 /* C1_UPPER */
49 #define _LOWER 0x0002 /* C1_LOWER */
50 #define _DIGIT 0x0004 /* C1_DIGIT */
51 #define _SPACE 0x0008 /* C1_SPACE */
52 #define _PUNCT 0x0010 /* C1_PUNCT */
53 #define _CONTROL 0x0020 /* C1_CNTRL */
54 #define _BLANK 0x0040 /* C1_BLANK */
55 #define _HEX 0x0080 /* C1_XDIGIT */
56 #define _LEADBYTE 0x8000
57 #define _ALPHA (0x0100|_UPPER|_LOWER) /* (C1_ALPHA|_UPPER|_LOWER) */
59 int MSVCRT(__isascii)(int);
60 int MSVCRT(__iscsym)(int);
61 int MSVCRT(__iscsymf)(int);
62 int MSVCRT(__toascii)(int);
63 int MSVCRT(_isctype)(int,int);
64 int MSVCRT(_tolower)(int);
65 int MSVCRT(_toupper)(int);
66 int MSVCRT(isalnum)(int);
67 int MSVCRT(isalpha)(int);
68 int MSVCRT(iscntrl)(int);
69 int MSVCRT(isdigit)(int);
70 int MSVCRT(isgraph)(int);
71 int MSVCRT(islower)(int);
72 int MSVCRT(isprint)(int);
73 int MSVCRT(ispunct)(int);
74 int MSVCRT(isspace)(int);
75 int MSVCRT(isupper)(int);
76 int MSVCRT(isxdigit)(int);
77 int MSVCRT(tolower)(int);
78 int MSVCRT(toupper)(int);
80 #ifndef MSVCRT_WCTYPE_DEFINED
81 #define MSVCRT_WCTYPE_DEFINED
82 int MSVCRT(is_wctype)(MSVCRT(wint_t),MSVCRT(wctype_t));
83 int MSVCRT(isleadbyte)(int);
84 int MSVCRT(iswalnum)(MSVCRT(wint_t));
85 int MSVCRT(iswalpha)(MSVCRT(wint_t));
86 int MSVCRT(iswascii)(MSVCRT(wint_t));
87 int MSVCRT(iswcntrl)(MSVCRT(wint_t));
88 int MSVCRT(iswctype)(MSVCRT(wint_t),MSVCRT(wctype_t));
89 int MSVCRT(iswdigit)(MSVCRT(wint_t));
90 int MSVCRT(iswgraph)(MSVCRT(wint_t));
91 int MSVCRT(iswlower)(MSVCRT(wint_t));
92 int MSVCRT(iswprint)(MSVCRT(wint_t));
93 int MSVCRT(iswpunct)(MSVCRT(wint_t));
94 int MSVCRT(iswspace)(MSVCRT(wint_t));
95 int MSVCRT(iswupper)(MSVCRT(wint_t));
96 int MSVCRT(iswxdigit)(MSVCRT(wint_t));
97 MSVCRT(wchar_t) MSVCRT(towlower)(MSVCRT(wchar_t));
98 MSVCRT(wchar_t) MSVCRT(towupper)(MSVCRT(wchar_t));
99 #endif /* MSVCRT_WCTYPE_DEFINED */
106 #ifndef USE_MSVCRT_PREFIX
107 #define isascii __isascii
108 #define iscsym __iscsym
109 #define iscsymf __iscsymf
110 #define toascii __toascii
111 #endif /* USE_MSVCRT_PREFIX */
113 #endif /* __WINE_CTYPE_H */