update for HEAD-2003091401
[reactos.git] / include / ntos / rtltypes.h
index dbe9b71..4d76b99 100755 (executable)
@@ -123,12 +123,6 @@ typedef struct _RTL_SPLAY_LINKS
   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;
@@ -138,6 +132,12 @@ typedef struct _USER_STACK
  PVOID ExpandableStackBottom;
 } USER_STACK, *PUSER_STACK;
 
+#else /* __USE_W32API */
+
+#include <ddk/ntifs.h>
+
+#endif /* __USE_W32API */
+
 typedef struct _RTL_HEAP_DEFINITION
 {
   ULONG Length;
@@ -153,36 +153,45 @@ typedef struct _RTL_ATOM_TABLE
   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
@@ -220,8 +229,8 @@ typedef struct _RTL_MESSAGE_RESOURCE_DATA
   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 */