- Synchronize up to trunk's revision r57864.
[reactos.git] / lib / sdk / crt / include / internal / mbstring.h
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 unsigned int MSVCRT___lc_codepage;
43 extern char MSVCRT_current_lc_all[MAX_LOCALE_LENGTH];
44
45 #if defined (_MSC_VER)
46
47 #undef _ismbbkana
48 #undef _ismbbkpunct
49 #undef _ismbbalpha
50 #undef _ismbbalnum
51 #undef _ismbbgraph
52 #undef _ismbbkalnum
53 #undef _ismbblead
54 #undef _ismbbprint
55 #undef _ismbbpunct
56 #undef _ismbbtrail
57
58 #endif
59
60
61 #endif