Update FPO_DATA and IMAGE_LOAD_CONFIG_DIRECTORY

Francois Gouget fgouget at free.fr
Sun Aug 22 13:46:54 CDT 2004


FPO_DATA was declaring a bitfield as an unsigned int instead of a WORD.
With the way gcc handles bitfields it does not make a difference but
it's better to use the proper type anyway.


Changelog:

 * include/winnt.h
   dlls/ntdll/tests/generated.c
   tools/winapi/tests.dat

   Update FPO_DATA and IMAGE_LOAD_CONFIG_DIRECTORY to match the latest
platform SDK.
   This helps compile the ntdll tests on Windows.


-- 
Francois Gouget         fgouget at free.fr        http://fgouget.free.fr/
                  In a world without fences who needs Gates?
-------------- next part --------------
Index: include/winnt.h
===================================================================
RCS file: /var/cvs/wine/include/winnt.h,v
retrieving revision 1.188
diff -u -r1.188 winnt.h
--- include/winnt.h	22 Aug 2004 02:07:13 -0000	1.188
+++ include/winnt.h	22 Aug 2004 10:04:06 -0000
@@ -2520,16 +2545,16 @@
   DWORD cbProcSize;
   DWORD cdwLocals;
   WORD  cdwParams;
-  unsigned cbProlog : 8;
-  unsigned cbRegs   : 3;
-  unsigned fHasSEH  : 1;
-  unsigned fUseBP   : 1;
-  unsigned reserved : 1;
-  unsigned cbFrame  : 2;
+  WORD  cbProlog : 8;
+  WORD  cbRegs   : 3;
+  WORD  fHasSEH  : 1;
+  WORD  fUseBP   : 1;
+  WORD  reserved : 1;
+  WORD  cbFrame  : 2;
 } FPO_DATA, *PFPO_DATA;
 
 typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY {
-  DWORD Characteristics;
+  DWORD Size;
   DWORD TimeDateStamp;
   WORD  MajorVersion;
   WORD  MinorVersion;
@@ -2546,7 +2571,9 @@
   WORD  CSDVersion;
   WORD  Reserved1;
   PVOID EditList;
-  DWORD Reserved[1];
+  DWORD SecurityCookie;
+  DWORD SEHandlerTable;
+  DWORD SEHandlerCount;
 } IMAGE_LOAD_CONFIG_DIRECTORY, *PIMAGE_LOAD_CONFIG_DIRECTORY;
 
 typedef struct _IMAGE_FUNCTION_ENTRY {
Index: dlls/ntdll/tests/generated.c
===================================================================
RCS file: /var/cvs/wine/dlls/ntdll/tests/generated.c,v
retrieving revision 1.15
diff -u -r1.15 generated.c
--- dlls/ntdll/tests/generated.c	22 Aug 2004 02:07:13 -0000	1.15
+++ dlls/ntdll/tests/generated.c	22 Aug 2004 10:03:56 -0000
@@ -397,6 +398,16 @@
     TEST_FIELD(FLOATING_SAVE_AREA, DWORD, Cr0NpxState, 108, 4, 4);
 }
 
+static void test_pack_FPO_DATA(void)
+{
+    /* FPO_DATA (pack 4) */
+    TEST_TYPE(FPO_DATA, 16, 4);
+    TEST_FIELD(FPO_DATA, DWORD, ulOffStart, 0, 4, 4);
+    TEST_FIELD(FPO_DATA, DWORD, cbProcSize, 4, 4, 4);
+    TEST_FIELD(FPO_DATA, DWORD, cdwLocals, 8, 4, 4);
+    TEST_FIELD(FPO_DATA, WORD, cdwParams, 12, 2, 2);
+}
+
 static void test_pack_GENERIC_MAPPING(void)
 {
     /* GENERIC_MAPPING (pack 4) */
@@ -581,8 +598,8 @@
 static void test_pack_IMAGE_LOAD_CONFIG_DIRECTORY(void)
 {
     /* IMAGE_LOAD_CONFIG_DIRECTORY (pack 4) */
-    TEST_TYPE(IMAGE_LOAD_CONFIG_DIRECTORY, 64, 4);
-    TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, Characteristics, 0, 4, 4);
+    TEST_TYPE(IMAGE_LOAD_CONFIG_DIRECTORY, 72, 4);
+    TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, Size, 0, 4, 4);
     TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, TimeDateStamp, 4, 4, 4);
     TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, WORD, MajorVersion, 8, 2, 2);
     TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, WORD, MinorVersion, 10, 2, 2);
@@ -602,7 +624,9 @@
     TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, WORD, CSDVersion, 52, 2, 2);
     TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, WORD, Reserved1, 54, 2, 2);
     TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, PVOID, EditList, 56, 4, 4);
-    TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD[1], Reserved, 60, 4, 4);
+    TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, SecurityCookie, 60, 4, 4);
+    TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, SEHandlerTable, 64, 4, 4);
+    TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, SEHandlerCount, 68, 4, 4);
 }
 
 static void test_pack_IMAGE_NT_HEADERS(void)
@@ -1034,6 +1105,13 @@
     TEST_TYPE_POINTER(PFLOATING_SAVE_AREA, 112, 4);
 }
 
+static void test_pack_PFPO_DATA(void)
+{
+    /* PFPO_DATA */
+    TEST_TYPE(PFPO_DATA, 4, 4);
+    TEST_TYPE_POINTER(PFPO_DATA, 16, 4);
+}
+
 static void test_pack_PGENERIC_MAPPING(void)
 {
     /* PGENERIC_MAPPING */
@@ -1151,7 +1229,7 @@
 {
     /* PIMAGE_LOAD_CONFIG_DIRECTORY */
     TEST_TYPE(PIMAGE_LOAD_CONFIG_DIRECTORY, 4, 4);
-    TEST_TYPE_POINTER(PIMAGE_LOAD_CONFIG_DIRECTORY, 64, 4);
+    TEST_TYPE_POINTER(PIMAGE_LOAD_CONFIG_DIRECTORY, 72, 4);
 }
 
 static void test_pack_PIMAGE_NT_HEADERS(void)
@@ -2065,6 +2212,7 @@
     test_pack_FARPROC();
     test_pack_FLOAT();
     test_pack_FLOATING_SAVE_AREA();
+    test_pack_FPO_DATA();
     test_pack_GENERIC_MAPPING();
     test_pack_GLOBALHANDLE();
     test_pack_HALF_PTR();
@@ -2151,6 +2308,7 @@
     test_pack_PEXCEPTION_POINTERS();
     test_pack_PEXCEPTION_RECORD();
     test_pack_PFLOATING_SAVE_AREA();
+    test_pack_PFPO_DATA();
     test_pack_PGENERIC_MAPPING();
     test_pack_PHANDLE();
     test_pack_PIMAGE_ARCHIVE_MEMBER_HEADER();
Index: tools/winapi/tests.dat
===================================================================
RCS file: /var/cvs/wine/tools/winapi/tests.dat,v
retrieving revision 1.19
diff -u -r1.19 tests.dat
--- tools/winapi/tests.dat	22 Aug 2004 02:07:13 -0000	1.19
+++ tools/winapi/tests.dat	22 Aug 2004 10:04:12 -0000
@@ -656,7 +656,7 @@
 FARPROC
 FLOAT
 FLOATING_SAVE_AREA
-!FPO_DATA
+FPO_DATA
 GENERIC_MAPPING
 GLOBALHANDLE
 HALF_PTR
@@ -759,7 +759,7 @@
 PEXCEPTION_POINTERS
 PEXCEPTION_RECORD
 PFLOATING_SAVE_AREA
-!PFPO_DATA
+PFPO_DATA
 PGENERIC_MAPPING
 PHANDLE
 PIMAGE_ARCHIVE_MEMBER_HEADER


More information about the wine-patches mailing list