1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD 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 #ifndef _mbctype
17 #ifdef _MSVCRT_
18   extern unsigned char _mbctype[257];
19 #else
20   extern unsigned char ** __MINGW_IMP_SYMBOL(_mbctype);
21 #define _mbctype (* __MINGW_IMP_SYMBOL(_mbctype))
22 #endif
23 #endif
24 #ifndef _mbcasemap
25 #ifdef _MSVCRT_
26   extern unsigned char *_mbcasemap;
27 #else
28   extern unsigned char ** __MINGW_IMP_SYMBOL(_mbcasemap);
29 #define _mbcasemap (* __MINGW_IMP_SYMBOL(_mbcasemap))
30 #endif
31 #endif
32 
33   extern pthreadmbcinfo __ptmbcinfo;
34   extern int __globallocalestatus;
35   extern int __locale_changed;
36   extern struct threadmbcinfostruct __initialmbcinfo;
37   pthreadmbcinfo __cdecl __updatetmbcinfo(void);
38 
39 #define _MS 0x01
40 #define _MP 0x02
41 #define _M1 0x04
42 #define _M2 0x08
43 
44 #define _SBUP 0x10
45 #define _SBLOW 0x20
46 
47 #define _MBC_SINGLE 0
48 #define _MBC_LEAD 1
49 #define _MBC_TRAIL 2
50 #define _MBC_ILLEGAL (-1)
51 
52 #define _KANJI_CP 932
53 
54 #define _MB_CP_SBCS 0
55 #define _MB_CP_OEM -2
56 #define _MB_CP_ANSI -3
57 #define _MB_CP_LOCALE -4
58 
59 #ifndef _MBCTYPE_DEFINED
60 #define _MBCTYPE_DEFINED
61 
62   _CRTIMP int __cdecl _setmbcp(int _CodePage);
63   _CRTIMP int __cdecl _getmbcp(void);
64   _CRTIMP int __cdecl _ismbbkalnum(unsigned int _C);
65   _CRTIMP int __cdecl _ismbbkalnum_l(unsigned int _C,_locale_t _Locale);
66   _CRTIMP int __cdecl _ismbbkana(unsigned int _C);
67   _CRTIMP int __cdecl _ismbbkana_l(unsigned int _C,_locale_t _Locale);
68   _CRTIMP int __cdecl _ismbbkpunct(unsigned int _C);
69   _CRTIMP int __cdecl _ismbbkpunct_l(unsigned int _C,_locale_t _Locale);
70   _CRTIMP int __cdecl _ismbbkprint(unsigned int _C);
71   _CRTIMP int __cdecl _ismbbkprint_l(unsigned int _C,_locale_t _Locale);
72   _CRTIMP int __cdecl _ismbbalpha(unsigned int _C);
73   _CRTIMP int __cdecl _ismbbalpha_l(unsigned int _C,_locale_t _Locale);
74   _CRTIMP int __cdecl _ismbbpunct(unsigned int _C);
75   _CRTIMP int __cdecl _ismbbpunct_l(unsigned int _C,_locale_t _Locale);
76   _CRTIMP int __cdecl _ismbbalnum(unsigned int _C);
77   _CRTIMP int __cdecl _ismbbalnum_l(unsigned int _C,_locale_t _Locale);
78   _CRTIMP int __cdecl _ismbbprint(unsigned int _C);
79   _CRTIMP int __cdecl _ismbbprint_l(unsigned int _C,_locale_t _Locale);
80   _CRTIMP int __cdecl _ismbbgraph(unsigned int _C);
81   _CRTIMP int __cdecl _ismbbgraph_l(unsigned int _C,_locale_t _Locale);
82 #ifndef _MBLEADTRAIL_DEFINED
83 #define _MBLEADTRAIL_DEFINED
84   _CRTIMP int __cdecl _ismbblead(unsigned int _C);
85   _CRTIMP int __cdecl _ismbblead_l(unsigned int _C,_locale_t _Locale);
86   _CRTIMP int __cdecl _ismbbtrail(unsigned int _C);
87   _CRTIMP int __cdecl _ismbbtrail_l(unsigned int _C,_locale_t _Locale);
88   _CRTIMP int __cdecl _ismbslead(const unsigned char *_Str,const unsigned char *_Pos);
89   _CRTIMP int __cdecl _ismbslead_l(const unsigned char *_Str,const unsigned char *_Pos,_locale_t _Locale);
90   _CRTIMP int __cdecl _ismbstrail(const unsigned char *_Str,const unsigned char *_Pos);
91   _CRTIMP int __cdecl _ismbstrail_l(const unsigned char *_Str,const unsigned char *_Pos,_locale_t _Locale);
92 #endif
93 #endif
94 
95 _CRTIMP void __cdecl _mbccpy (unsigned char *dest, const unsigned char *src) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
96 _CRTIMP void __cdecl _mbccpy_l(unsigned char *dest,const unsigned char *src,_locale_t locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
97 
98 #ifdef __cplusplus
99 }
100 #endif
101 #endif
102