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