Include crtdefs.h instead of _mingw.h in the crt headers (like ms does), so only...
[reactos.git] / reactos / include / crt / mbctype.h
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _INC_MBCTYPE
7 #define _INC_MBCTYPE
8
9 #include <crtdefs.h>
10 #include <ctype.h>
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 /* CRT stuff */
17 #if 1
18 #if defined (_DLL) && defined (_M_IX86)
19 /* Retained for compatibility with VC++ 5.0 and earlier versions */
20 _CRTIMP unsigned char * __cdecl __p__mbctype(void);
21 _CRTIMP unsigned char * __cdecl __p__mbcasemap(void);
22 #endif /* defined (_DLL) && defined (_M_IX86) */
23 #endif
24 #ifndef _mbctype
25 #ifdef _MSVCRT_
26 extern unsigned char _mbctype[257];
27 #else
28 #define _mbctype (*_imp___mbctype)
29 extern unsigned char **_imp___mbctype;
30 #endif
31 #endif
32 #ifndef _mbcasemap
33 #ifdef _MSVCRT_
34 extern unsigned char *_mbcasemap;
35 #else
36 #define _mbcasemap (*_imp___mbcasemap)
37 extern unsigned char **_imp___mbcasemap;
38 #endif
39 #endif
40
41 /* CRT stuff */
42 #if 1
43 extern pthreadmbcinfo __ptmbcinfo;
44 extern int __globallocalestatus;
45 extern int __locale_changed;
46 extern struct threadmbcinfostruct __initialmbcinfo;
47 pthreadmbcinfo __cdecl __updatetmbcinfo(void);
48 #endif
49
50 #define _MS 0x01
51 #define _MP 0x02
52 #define _M1 0x04
53 #define _M2 0x08
54
55 #define _SBUP 0x10
56 #define _SBLOW 0x20
57
58 #define _MBC_SINGLE 0
59 #define _MBC_LEAD 1
60 #define _MBC_TRAIL 2
61 #define _MBC_ILLEGAL (-1)
62
63 #define _KANJI_CP 932
64
65 #define _MB_CP_SBCS 0
66 #define _MB_CP_OEM -2
67 #define _MB_CP_ANSI -3
68 #define _MB_CP_LOCALE -4
69
70 #ifndef _MBCTYPE_DEFINED
71 #define _MBCTYPE_DEFINED
72
73 _CRTIMP int __cdecl _setmbcp(int _CodePage);
74 _CRTIMP int __cdecl _getmbcp(void);
75 _CRTIMP int __cdecl _ismbbkalnum(unsigned int _C);
76 _CRTIMP int __cdecl _ismbbkalnum_l(unsigned int _C,_locale_t _Locale);
77 _CRTIMP int __cdecl _ismbbkana(unsigned int _C);
78 _CRTIMP int __cdecl _ismbbkana_l(unsigned int _C,_locale_t _Locale);
79 _CRTIMP int __cdecl _ismbbkpunct(unsigned int _C);
80 _CRTIMP int __cdecl _ismbbkpunct_l(unsigned int _C,_locale_t _Locale);
81 _CRTIMP int __cdecl _ismbbkprint(unsigned int _C);
82 _CRTIMP int __cdecl _ismbbkprint_l(unsigned int _C,_locale_t _Locale);
83 _CRTIMP int __cdecl _ismbbalpha(unsigned int _C);
84 _CRTIMP int __cdecl _ismbbalpha_l(unsigned int _C,_locale_t _Locale);
85 _CRTIMP int __cdecl _ismbbpunct(unsigned int _C);
86 _CRTIMP int __cdecl _ismbbpunct_l(unsigned int _C,_locale_t _Locale);
87 _CRTIMP int __cdecl _ismbbalnum(unsigned int _C);
88 _CRTIMP int __cdecl _ismbbalnum_l(unsigned int _C,_locale_t _Locale);
89 _CRTIMP int __cdecl _ismbbprint(unsigned int _C);
90 _CRTIMP int __cdecl _ismbbprint_l(unsigned int _C,_locale_t _Locale);
91 _CRTIMP int __cdecl _ismbbgraph(unsigned int _C);
92 _CRTIMP int __cdecl _ismbbgraph_l(unsigned int _C,_locale_t _Locale);
93 #ifndef _MBLEADTRAIL_DEFINED
94 #define _MBLEADTRAIL_DEFINED
95 _CRTIMP int __cdecl _ismbblead(unsigned int _C);
96 _CRTIMP int __cdecl _ismbblead_l(unsigned int _C,_locale_t _Locale);
97 _CRTIMP int __cdecl _ismbbtrail(unsigned int _C);
98 _CRTIMP int __cdecl _ismbbtrail_l(unsigned int _C,_locale_t _Locale);
99 _CRTIMP int __cdecl _ismbslead(const unsigned char *_Str,const unsigned char *_Pos);
100 _CRTIMP int __cdecl _ismbslead_l(const unsigned char *_Str,const unsigned char *_Pos,_locale_t _Locale);
101 _CRTIMP int __cdecl _ismbstrail(const unsigned char *_Str,const unsigned char *_Pos);
102 _CRTIMP int __cdecl _ismbstrail_l(const unsigned char *_Str,const unsigned char *_Pos,_locale_t _Locale);
103 #endif
104 #endif
105
106 #ifdef __cplusplus
107 }
108 #endif
109 #endif