| #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_ */ | |