| |
| #ifndef _NTNLS_ |
| #define _NTNLS_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #define MAXIMUM_LEADBYTES 12 |
| |
| /* Some documentation can be found here: http://www.ping.uio.no/~ovehk/nls/ */ |
| typedef struct _CPTABLEINFO |
| { |
| USHORT CodePage; |
| USHORT MaximumCharacterSize; /* 1 = SBCS, 2 = DBCS */ |
| USHORT DefaultChar; /* Default MultiByte Character for the CP->Unicode conversion */ |
| USHORT UniDefaultChar; /* Default Unicode Character for the CP->Unicode conversion */ |
| USHORT TransDefaultChar; /* Default MultiByte Character for the Unicode->CP conversion */ |
| USHORT TransUniDefaultChar; /* Default Unicode Character for the Unicode->CP conversion */ |
| USHORT DBCSCodePage; |
| UCHAR LeadByte[MAXIMUM_LEADBYTES]; |
| PUSHORT MultiByteTable; /* Table for CP->Unicode conversion */ |
| PVOID WideCharTable; /* Table for Unicode->CP conversion */ |
| PUSHORT DBCSRanges; |
| PUSHORT DBCSOffsets; |
| } CPTABLEINFO, *PCPTABLEINFO; |
| |
| typedef struct _NLSTABLEINFO |
| { |
| CPTABLEINFO OemTableInfo; |
| CPTABLEINFO AnsiTableInfo; |
| PUSHORT UpperCaseTable; |
| PUSHORT LowerCaseTable; |
| } NLSTABLEINFO, *PNLSTABLEINFO; |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* _NTNLS_ */ |
| |