Commit in reactos on MAIN
iface/addsys/genw32k.c+3-31.6 -> 1.7
iface/native/genntdll.c+3-31.13 -> 1.14
include/ntos/service.h+4-111.3 -> 1.4
w32api/include/ddk/winddk.h+3-61.3 -> 1.4
+13-23
4 modified files
 - SSPT elements are 8 bit wide on Windows. Made ReactOS binary compatible in this regard, since this affects a public function (KeAddSystemServiceTable)
 - use a function pointer for SSDT elements. Function pointers aren't guaranteed to have the same size as data pointers (and we were using ULONG, anyway)
 - SSPT and SSDT types no longer structures to avoid pesky alignment issues
 - genw32k and genntdll fixed accordingly

reactos/iface/addsys
genw32k.c 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- genw32k.c	3 Dec 2003 21:50:49 -0000	1.6
+++ genw32k.c	7 Apr 2004 00:14:05 -0000	1.7
@@ -1,4 +1,4 @@
-/* $Id: genw32k.c,v 1.6 2003/12/03 21:50:49 gvg Exp $
+/* $Id: genw32k.c,v 1.7 2004/04/07 00:14:05 hyperion Exp $
  *
  * COPYRIGHT:             See COPYING in the top level directory
  * PROJECT:               ReactOS version of ntdll
@@ -88,7 +88,7 @@
 			 * Now write the current system call's name
 			 * in the service table.
 			 */
-			fprintf(out,"\t\t{ (ULONG)%s }",name);
+			fprintf(out,"\t\t(PVOID (NTAPI *)(VOID))%s",name);
 
 			/* Next system call index */
 			sys_call_idx++;
@@ -143,7 +143,7 @@
 			 * Now write the current system call's ID
 			 * in the service table along with its Parameters Size.
 			 */
-			fprintf(out,"\t\t{ %d }",atoi(nr_args) * sizeof(void*));
+			fprintf(out,"\t\t%d",atoi(nr_args) * sizeof(void*));
 
 			/* Next system call index */
 			sys_call_idx++;

reactos/iface/native
genntdll.c 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- genntdll.c	17 Dec 2003 01:46:08 -0000	1.13
+++ genntdll.c	7 Apr 2004 00:14:05 -0000	1.14
@@ -1,4 +1,4 @@
-/* $Id: genntdll.c,v 1.13 2003/12/17 01:46:08 hyperion Exp $
+/* $Id: genntdll.c,v 1.14 2004/04/07 00:14:05 hyperion Exp $
  *
  * COPYRIGHT:             See COPYING in the top level directory
  * PROJECT:               ReactOS version of ntdll
@@ -135,7 +135,7 @@
 			 * Now write the current system call's name
 			 * in the service table.
 			 */
-			fprintf(out,"\t\t{ (ULONG)%s }",name);
+			fprintf(out,"\t\t(PVOID (NTAPI *)(VOID))%s",name);
 		}
 	}
 	/* Close the service table (C syntax) */
@@ -194,7 +194,7 @@
 			 * Now write the current system call's ID
 			 * in the service table along with its Parameters Size.
 			 */
-			fprintf(out,"\t\t{ %s }",nr_args);
+			fprintf(out,"\t\t%s",nr_args);
 		}
 	}
 	/*

reactos/include/ntos
service.h 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- service.h	30 Dec 2003 18:34:58 -0000	1.3
+++ service.h	7 Apr 2004 00:14:05 -0000	1.4
@@ -9,28 +9,21 @@
 
 #ifndef __USE_W32API
 
-#pragma pack(1)
-
 /* System Service Dispatch Table */
-typedef struct t_SSDT {
-                ULONG           SysCallPtr;
-} SSDT, *PSSDT;
+typedef PVOID (NTAPI * SSDT)(VOID);
+typedef SSDT * PSSDT;
 
 /* System Service Parameters Table */
-typedef struct t_SSPT   {
-                unsigned int    ParamBytes;
-} SSPT, *PSSPT;
+typedef UCHAR SSPT, *PSSPT;
 
 typedef struct t_KeServiceDescriptorTableEntry {
                 PSSDT               SSDT;
                 PULONG              ServiceCounterTable;
-                unsigned int        NumberOfServices;
+                ULONG               NumberOfServices;
                 PSSPT               SSPT;
 
 } SSDT_ENTRY, *PSSDT_ENTRY;
 
-#pragma pack()
-
 #endif /* __USE_W32API */
 
 

reactos/w32api/include/ddk
winddk.h 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- winddk.h	12 Mar 2004 19:40:40 -0000	1.3
+++ winddk.h	7 Apr 2004 00:14:05 -0000	1.4
@@ -7114,14 +7114,11 @@
   OUT PKIRQL  OldIrql);
 
 /* System Service Dispatch Table */
-typedef struct _SSDT {
-  ULONG  SysCallPtr;
-} SSDT, *PSSDT;
+typedef PVOID (NTAPI * SSDT)(VOID);
+typedef SSDT * PSSDT;
 
 /* System Service Parameters Table */
-typedef struct _SSPT {
-  ULONG  ParamBytes;
-} SSPT, *PSSPT;
+typedef UCHAR SSPT, * PSSPT;
 
 typedef struct _SSDT_ENTRY {
 	PSSDT  SSDT;
CVSspam 0.2.8