struct _RTL_SPLAY_LINKS *RightChild;
} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
-#else /* __USE_W32API */
-
-#include <ddk/ntifs.h>
-
-#endif /* __USE_W32API */
-
typedef struct _USER_STACK
{
PVOID FixedStackBase;
PVOID ExpandableStackBottom;
} USER_STACK, *PUSER_STACK;
+#else /* __USE_W32API */
+
+#include <ddk/ntifs.h>
+
+#endif /* __USE_W32API */
+
typedef struct _RTL_HEAP_DEFINITION
{
ULONG Length;
LIST_ENTRY Slot[0];
} RTL_ATOM_TABLE, *PRTL_ATOM_TABLE;
-typedef struct _LB_RANGE
+
+#define MAXIMUM_LEADBYTES 12
+
+typedef struct _CPTABLEINFO
{
- UCHAR upper;
- UCHAR lower;
-} LB_RANGE;
+ USHORT CodePage;
+ USHORT MaximumCharacterSize; /* SBCS = 1, DBCS = 2 */
+ USHORT DefaultChar;
+ USHORT UniDefaultChar;
+ USHORT TransDefaultChar;
+ USHORT TransUniDefaultChar;
+ USHORT DBCSCodePage;
+ UCHAR LeadByte[MAXIMUM_LEADBYTES];
+ PUSHORT MultiByteTable;
+ PVOID WideCharTable;
+ PUSHORT DBCSRanges;
+ PUSHORT DBCSOffsets;
+} CPTABLEINFO, *PCPTABLEINFO;
-typedef struct _RTL_NLS_DATA
+typedef struct _NLSTABLEINFO
{
- USHORT CodePage;
- USHORT MaxCharacterSize; // SBCS = 1, DBCS = 2
- WCHAR DefaultCharacter;
- WCHAR char1;
- WCHAR char2;
- WCHAR char3;
- USHORT DbcsFlag;
- LB_RANGE LeadByteRange[6];
- USHORT reserved;
- PWCHAR MultiByteToUnicode;
- PCHAR UnicodeToMultiByte;
- PWCHAR DosMultiByteToUnicode;
- PCHAR DbcsTags;
-} RTL_NLS_DATA, *PRTL_NLS_DATA;
+ CPTABLEINFO OemTableInfo;
+ CPTABLEINFO AnsiTableInfo;
+ PUSHORT UpperCaseTable;
+ PUSHORT LowerCaseTable;
+} NLSTABLEINFO, *PNLSTABLEINFO;
-typedef struct _RTL_NLS_TABLE
+typedef struct _NLS_FILE_HEADER
{
- RTL_NLS_DATA OemInfo;
- RTL_NLS_DATA AnsiInfo;
- PWCHAR UpcaseTable;
- PWCHAR DowncaseTable;
-} RTL_NLS_TABLE, *PRTL_NLS_TABLE;
+ USHORT HeaderSize;
+ USHORT CodePage;
+ USHORT MaximumCharacterSize; /* SBCS = 1, DBCS = 2 */
+ USHORT DefaultChar;
+ USHORT UniDefaultChar;
+ USHORT TransDefaultChar;
+ USHORT TransUniDefaultChar;
+ USHORT DBCSCodePage;
+ UCHAR LeadByte[MAXIMUM_LEADBYTES];
+} PACKED NLS_FILE_HEADER, *PNLS_FILE_HEADER;
typedef struct _RTL_GENERIC_TABLE
RTL_MESSAGE_RESOURCE_BLOCK Blocks[1];
} RTL_MESSAGE_RESOURCE_DATA, *PRTL_MESSAGE_RESOURCE_DATA;
-typedef VOID STDCALL
-(*PRTL_BASE_PROCESS_START_ROUTINE)(PTHREAD_START_ROUTINE StartAddress,
+typedef VOID
+(STDCALL *PRTL_BASE_PROCESS_START_ROUTINE)(PTHREAD_START_ROUTINE StartAddress,
PVOID Parameter);
#endif /* __DDK_RTLTYPES_H */