Split the module building functionality of NE_LoadExeHeader into
[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 #ifndef __WINE_USE_MSVCRT
11 #define __WINE_USE_MSVCRT
12 #endif
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 #ifndef _WCHAR_T_DEFINED
19 #define _WCHAR_T_DEFINED
20 #ifndef __cplusplus
21 typedef unsigned short wchar_t;
22 #endif
23 #endif
24
25 #ifndef WEOF
26 #define WEOF        (wint_t)(0xFFFF)
27 #endif
28
29 #ifndef _WCTYPE_T_DEFINED
30 typedef unsigned short  wint_t;
31 typedef unsigned short  wctype_t;
32 #define _WCTYPE_T_DEFINED
33 #endif
34
35 /* ASCII char classification table - binary compatible */
36 #define _UPPER        0x0001  /* C1_UPPER */
37 #define _LOWER        0x0002  /* C1_LOWER */
38 #define _DIGIT        0x0004  /* C1_DIGIT */
39 #define _SPACE        0x0008  /* C1_SPACE */
40 #define _PUNCT        0x0010  /* C1_PUNCT */
41 #define _CONTROL      0x0020  /* C1_CNTRL */
42 #define _BLANK        0x0040  /* C1_BLANK */
43 #define _HEX          0x0080  /* C1_XDIGIT */
44 #define _LEADBYTE     0x8000
45 #define _ALPHA       (0x0100|_UPPER|_LOWER)  /* (C1_ALPHA|_UPPER|_LOWER) */
46
47 int __isascii(int);
48 int __iscsym(int);
49 int __iscsymf(int);
50 int __toascii(int);
51 int _isctype(int,int);
52 int _tolower(int);
53 int _toupper(int);
54 int isalnum(int);
55 int isalpha(int);
56 int iscntrl(int);
57 int isdigit(int);
58 int isgraph(int);
59 int islower(int);
60 int isprint(int);
61 int ispunct(int);
62 int isspace(int);
63 int isupper(int);
64 int isxdigit(int);
65 int tolower(int);
66 int toupper(int);
67
68 #ifndef _WCTYPE_DEFINED
69 #define _WCTYPE_DEFINED
70 int is_wctype(wint_t,wctype_t);
71 int isleadbyte(int);
72 int iswalnum(wint_t);
73 int iswalpha(wint_t);
74 int iswascii(wint_t);
75 int iswcntrl(wint_t);
76 int iswctype(wint_t,wctype_t);
77 int iswdigit(wint_t);
78 int iswgraph(wint_t);
79 int iswlower(wint_t);
80 int iswprint(wint_t);
81 int iswpunct(wint_t);
82 int iswspace(wint_t);
83 int iswupper(wint_t);
84 int iswxdigit(wint_t);
85 wchar_t towlower(wchar_t);
86 wchar_t towupper(wchar_t);
87 #endif /* _WCTYPE_DEFINED */
88
89 #ifdef __cplusplus
90 }
91 #endif
92
93
94 static inline int isascii(int c) { return __isascii(c); }
95 static inline int iscsym(int c) { return __iscsym(c); }
96 static inline int iscsymf(int c) { return __iscsymf(c); }
97 static inline int toascii(int c) { return __toascii(c); }
98
99 #endif /* __WINE_CTYPE_H */