ok() does not support '%S'. Store the Ansi version, convert to Unicode
[wine] / include / msvcrt / ctype.h
1 /*
2  * Character type definitions
3  *
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.
7  */
8 #ifndef __WINE_CTYPE_H
9 #define __WINE_CTYPE_H
10 #define __WINE_USE_MSVCRT
11
12 #ifndef MSVCRT
13 # ifdef USE_MSVCRT_PREFIX
14 #  define MSVCRT(x)    MSVCRT_##x
15 # else
16 #  define MSVCRT(x)    x
17 # endif
18 #endif
19
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23
24 #ifndef MSVCRT_WCHAR_T_DEFINED
25 #define MSVCRT_WCHAR_T_DEFINED
26 #ifndef __cplusplus
27 typedef unsigned short MSVCRT(wchar_t);
28 #endif
29 #endif
30
31 #ifndef USE_MSVCRT_PREFIX
32 # ifndef WEOF
33 #  define WEOF        (wint_t)(0xFFFF)
34 # endif
35 #else
36 # ifndef MSVCRT_WEOF
37 #  define MSVCRT_WEOF (MSVCRT_wint_t)(0xFFFF)
38 # endif
39 #endif /* USE_MSVCRT_PREFIX */
40
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
45 #endif
46
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) */
58
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);
79
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 */
100
101 #ifdef __cplusplus
102 }
103 #endif
104
105
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 */
112
113 #endif /* __WINE_CTYPE_H */