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
13extern "C" {
14#endif
15
16#ifndef _mbctype
17 _CRTIMP unsigned char * __cdecl __p__mbctype(void);
18#define _mbctype (__p__mbctype())
19#endif
20
21#ifndef _mbcasemap
22 _CRTIMP unsigned char * __cdecl __p__mbcasemap(void);
23#define _mbcasemap (__p__mbcasemap())
24#endif
25
26#define _MS 0x01
27#define _MP 0x02
28#define _M1 0x04
29#define _M2 0x08
30
31#define _SBUP 0x10
32#define _SBLOW 0x20
33
34#define _MBC_SINGLE 0
35#define _MBC_LEAD 1
36#define _MBC_TRAIL 2
37#define _MBC_ILLEGAL (-1)
38
39#define _KANJI_CP 932
40
41#define _MB_CP_SBCS 0
42#define _MB_CP_OEM -2
43#define _MB_CP_ANSI -3
44#define _MB_CP_LOCALE -4
45#ifdef _UCRT
46#define _MB_CP_UTF8 65001
47#endif
48
49#ifndef _MBCTYPE_DEFINED
50#define _MBCTYPE_DEFINED
51#if __MSVCRT_VERSION__ >= 0x0200
52 _CRTIMP int __cdecl _setmbcp(int _CodePage);
53 _CRTIMP int __cdecl _getmbcp(void);
54#endif
55 _CRTIMP int __cdecl _ismbbkalnum(unsigned int _C);
56 _CRTIMP int __cdecl _ismbbkalnum_l(unsigned int _C,_locale_t _Locale);
57 _CRTIMP int __cdecl _ismbbkana(unsigned int _C);
58 _CRTIMP int __cdecl _ismbbkana_l(unsigned int _C,_locale_t _Locale);
59 _CRTIMP int __cdecl _ismbbkpunct(unsigned int _C);
60 _CRTIMP int __cdecl _ismbbkpunct_l(unsigned int _C,_locale_t _Locale);
61#if __MSVCRT_VERSION__ >= 0x0200
62 _CRTIMP int __cdecl _ismbbkprint(unsigned int _C);
63 _CRTIMP int __cdecl _ismbbkprint_l(unsigned int _C,_locale_t _Locale);
64#endif
65 _CRTIMP int __cdecl _ismbbalpha(unsigned int _C);
66 _CRTIMP int __cdecl _ismbbalpha_l(unsigned int _C,_locale_t _Locale);
67#if __MSVCRT_VERSION__ >= 0x0C00
68 _CRTIMP int __cdecl _ismbbblank(unsigned int _C);
69 _CRTIMP int __cdecl _ismbbblank_l(unsigned int _C,_locale_t _Locale);
70#endif
71 _CRTIMP int __cdecl _ismbbpunct(unsigned int _C);
72 _CRTIMP int __cdecl _ismbbpunct_l(unsigned int _C,_locale_t _Locale);
73 _CRTIMP int __cdecl _ismbbalnum(unsigned int _C);
74 _CRTIMP int __cdecl _ismbbalnum_l(unsigned int _C,_locale_t _Locale);
75 _CRTIMP int __cdecl _ismbbprint(unsigned int _C);
76 _CRTIMP int __cdecl _ismbbprint_l(unsigned int _C,_locale_t _Locale);
77 _CRTIMP int __cdecl _ismbbgraph(unsigned int _C);
78 _CRTIMP int __cdecl _ismbbgraph_l(unsigned int _C,_locale_t _Locale);
79#ifndef _MBLEADTRAIL_DEFINED
80#define _MBLEADTRAIL_DEFINED
81 _CRTIMP int __cdecl _ismbblead(unsigned int _C);
82 _CRTIMP int __cdecl _ismbblead_l(unsigned int _C,_locale_t _Locale);
83 _CRTIMP int __cdecl _ismbbtrail(unsigned int _C);
84 _CRTIMP int __cdecl _ismbbtrail_l(unsigned int _C,_locale_t _Locale);
85 _CRTIMP int __cdecl _ismbslead(const unsigned char *_Str,const unsigned char *_Pos);
86 _CRTIMP int __cdecl _ismbslead_l(const unsigned char *_Str,const unsigned char *_Pos,_locale_t _Locale);
87 _CRTIMP int __cdecl _ismbstrail(const unsigned char *_Str,const unsigned char *_Pos);
88 _CRTIMP int __cdecl _ismbstrail_l(const unsigned char *_Str,const unsigned char *_Pos,_locale_t _Locale);
89#endif
90#endif
91
92_CRTIMP void __cdecl _mbccpy (unsigned char *dest, const unsigned char *src) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
93_CRTIMP void __cdecl _mbccpy_l(unsigned char *dest,const unsigned char *src,_locale_t locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
94
95#ifdef __cplusplus
96}
97#endif
98#endif