Home | History | Annotate | Download | only in ddk
      1 
      2 #ifndef _NTNLS_
      3 #define _NTNLS_
      4 
      5 #ifdef __cplusplus
      6 extern "C" {
      7 #endif
      8 
      9 #define MAXIMUM_LEADBYTES 12
     10 
     11 /* Some documentation can be found here: http://www.ping.uio.no/~ovehk/nls/ */
     12 typedef struct _CPTABLEINFO
     13 {
     14    USHORT  CodePage;
     15    USHORT  MaximumCharacterSize;       /* 1 = SBCS, 2 = DBCS */
     16    USHORT  DefaultChar;                /* Default MultiByte Character for the CP->Unicode conversion */
     17    USHORT  UniDefaultChar;             /* Default Unicode Character for the CP->Unicode conversion */
     18    USHORT  TransDefaultChar;           /* Default MultiByte Character for the Unicode->CP conversion */
     19    USHORT  TransUniDefaultChar;        /* Default Unicode Character for the Unicode->CP conversion */
     20    USHORT  DBCSCodePage;
     21    UCHAR LeadByte[MAXIMUM_LEADBYTES];
     22    PUSHORT MultiByteTable;             /* Table for CP->Unicode conversion */
     23    PVOID WideCharTable;                /* Table for Unicode->CP conversion */
     24    PUSHORT DBCSRanges;
     25    PUSHORT DBCSOffsets;
     26 } CPTABLEINFO, *PCPTABLEINFO;
     27 
     28 typedef struct _NLSTABLEINFO
     29 {
     30    CPTABLEINFO OemTableInfo;
     31    CPTABLEINFO AnsiTableInfo;
     32    PUSHORT UpperCaseTable;
     33    PUSHORT LowerCaseTable;
     34 } NLSTABLEINFO, *PNLSTABLEINFO;
     35 
     36 #ifdef __cplusplus
     37 }
     38 #endif
     39 
     40 #endif /* _NTNLS_ */
     41 
     42