[CMAKE]
[reactos.git] / include / ddk / ntnls.h
1
2 #ifndef _NTNLS_
3 #define _NTNLS_
4
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 #define MAXIMUM_LEADBYTES 12
10
11 /* Some documentation can be found here: http://www.ping.uio.no/~ovehk/nls/ */
12 typedef struct _CPTABLEINFO
13 {
14 USHORT CodePage;
15 USHORT MaximumCharacterSize; /* 1 = SBCS, 2 = DBCS */
16 USHORT DefaultChar; /* Default MultiByte Character for the CP->Unicode conversion */
17 USHORT UniDefaultChar; /* Default Unicode Character for the CP->Unicode conversion */
18 USHORT TransDefaultChar; /* Default MultiByte Character for the Unicode->CP conversion */
19 USHORT TransUniDefaultChar; /* Default Unicode Character for the Unicode->CP conversion */
20 USHORT DBCSCodePage;
21 UCHAR LeadByte[MAXIMUM_LEADBYTES];
22 PUSHORT MultiByteTable; /* Table for CP->Unicode conversion */
23 PVOID WideCharTable; /* Table for Unicode->CP conversion */
24 PUSHORT DBCSRanges;
25 PUSHORT DBCSOffsets;
26 } CPTABLEINFO, *PCPTABLEINFO;
27
28 typedef struct _NLSTABLEINFO
29 {
30 CPTABLEINFO OemTableInfo;
31 CPTABLEINFO AnsiTableInfo;
32 PUSHORT UpperCaseTable;
33 PUSHORT LowerCaseTable;
34 } NLSTABLEINFO, *PNLSTABLEINFO;
35
36 #ifdef __cplusplus
37 }
38 #endif
39 #endif