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