2006-02-17 23:20:14 +00:00
|
|
|
|
2006-11-23 20:19:54 +00:00
|
|
|
#ifndef _NTNLS_
|
|
|
|
#define _NTNLS_
|
2006-02-17 23:20:14 +00:00
|
|
|
|
2006-11-23 20:19:54 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
2010-08-10 20:50:55 +00:00
|
|
|
|
2006-11-23 20:19:54 +00:00
|
|
|
#define MAXIMUM_LEADBYTES 12
|
2008-07-11 19:11:06 +00:00
|
|
|
|
|
|
|
/* Some documentation can be found here: http://www.ping.uio.no/~ovehk/nls/ */
|
2010-08-10 20:50:55 +00:00
|
|
|
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;
|
2006-02-17 23:20:14 +00:00
|
|
|
} CPTABLEINFO, *PCPTABLEINFO;
|
|
|
|
|
2010-08-10 20:50:55 +00:00
|
|
|
typedef struct _NLSTABLEINFO {
|
|
|
|
CPTABLEINFO OemTableInfo;
|
|
|
|
CPTABLEINFO AnsiTableInfo;
|
|
|
|
PUSHORT UpperCaseTable;
|
|
|
|
PUSHORT LowerCaseTable;
|
2006-02-17 23:20:14 +00:00
|
|
|
} NLSTABLEINFO, *PNLSTABLEINFO;
|
|
|
|
|
2006-11-23 20:19:54 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
2010-08-10 20:50:55 +00:00
|
|
|
|
|
|
|
#endif /* _NTNLS_ */
|