xref: /reactos/sdk/lib/crt/include/internal/mbstring.h (revision c2c66aff)
1 #ifndef __CRT_INTERNAL_MBSTRING_H
2 #define __CRT_INTERNAL_MBSTRING_H
3 
4 #define _MALPHA 0x01
5 #define _MBLANK 0x02
6 #define _MDIGIT 0x04
7 #define _MKMOJI 0x08
8 #define _MKPNCT 0x10
9 #define _MLEAD  0x20
10 #define _MPUNCT 0x40
11 #define _MTRAIL 0x80
12 
13 #define _MBALNUM (_MALPHA | _MDIGIT | _MKPNCT | _MKMOJI)
14 #define _MBALPHA (_MALPHA | _MKPNCT | _MKMOJI)
15 #define _MBGRAPH (_MALPHA | _MDIGIT | _MPUNCT | _MKPNCT | _MKMOJI)
16 #define _MBKANA  (_MKPNCT | _MKMOJI)
17 #define _MBPRINT (_MALPHA | _MDIGIT | _MPUNCT | _MBLANK | _MKPNCT | _MKMOJI)
18 #define _MBPUNCT (_MPUNCT | _MKPNCT)
19 
20 #define _MBLMASK(c) ((c) &  255)
21 #define _MBHMASK(c) ((c) & ~255)
22 #define _MBGETL(c)  ((c) &  255)
23 #define _MBGETH(c)  (((c) >> 8) & 255)
24 
25 #define _MBIS16(c) ((c) & 0xff00)
26 
27 /* Macros */
28 #define B _MBLANK
29 #define D _MDIGIT
30 #define P _MPUNCT
31 #define T _MTRAIL
32 
33 /* Macros */
34 #define AT (_MALPHA | _MTRAIL)
35 #define GT (_MKPNCT | _MTRAIL)
36 #define KT (_MKMOJI | _MTRAIL)
37 #define LT (_MLEAD  | _MTRAIL)
38 #define PT (_MPUNCT | _MTRAIL)
39 
40 #define MAX_LOCALE_LENGTH 256
41 extern unsigned char _mbctype[257];
42 extern char MSVCRT_current_lc_all[MAX_LOCALE_LENGTH];
43 
44 #if defined (_MSC_VER)
45 
46 #undef _ismbbkana
47 #undef _ismbbkpunct
48 #undef _ismbbalpha
49 #undef _ismbbalnum
50 #undef _ismbbgraph
51 #undef _ismbbkalnum
52 #undef _ismbblead
53 #undef _ismbbprint
54 #undef _ismbbpunct
55 #undef _ismbbtrail
56 
57 #endif
58 
59 
60 #endif
61