diff --git a/reactos/iface/addsys/genw32k.c b/reactos/iface/addsys/genw32k.c index 1f2146834dd..60d45cbb82e 100644 --- a/reactos/iface/addsys/genw32k.c +++ b/reactos/iface/addsys/genw32k.c @@ -1,4 +1,4 @@ -/* $Id: genw32k.c,v 1.7 2004/04/07 00:14:05 hyperion Exp $ +/* $Id: genw32k.c,v 1.8 2004/04/07 15:02:31 weiden Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS version of ntdll @@ -88,7 +88,7 @@ char *stmp; * Now write the current system call's name * in the service table. */ - fprintf(out,"\t\t(PVOID (NTAPI *)(VOID))%s",name); + fprintf(out,"\t\t{ (ULONG)%s }",name); /* Next system call index */ sys_call_idx++; @@ -143,7 +143,7 @@ char *stmp; * 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++; @@ -346,3 +346,4 @@ int main(int argc, char* argv[]) return(ret); } + diff --git a/reactos/iface/native/genntdll.c b/reactos/iface/native/genntdll.c index a4bb9495763..0180b6ce169 100644 --- a/reactos/iface/native/genntdll.c +++ b/reactos/iface/native/genntdll.c @@ -1,4 +1,4 @@ -/* $Id: genntdll.c,v 1.14 2004/04/07 00:14:05 hyperion Exp $ +/* $Id: genntdll.c,v 1.15 2004/04/07 15:02:31 weiden Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS version of ntdll @@ -135,7 +135,7 @@ char *stmp; * Now write the current system call's name * in the service table. */ - fprintf(out,"\t\t(PVOID (NTAPI *)(VOID))%s",name); + fprintf(out,"\t\t{ (ULONG)%s }",name); } } /* Close the service table (C syntax) */ @@ -194,7 +194,7 @@ char *stmp; * 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); } } /* @@ -368,3 +368,4 @@ int main(int argc, char* argv[]) return(ret); } + diff --git a/reactos/include/ntos/service.h b/reactos/include/ntos/service.h index 59e8b0ab934..d042d38c5ce 100755 --- a/reactos/include/ntos/service.h +++ b/reactos/include/ntos/service.h @@ -1,4 +1,3 @@ - #ifndef __NTOS_SERVICE_H #define __NTOS_SERVICE_H @@ -9,21 +8,28 @@ #ifndef __USE_W32API +#pragma pack(1) + /* System Service Dispatch Table */ -typedef PVOID (NTAPI * SSDT)(VOID); -typedef SSDT * PSSDT; +typedef struct t_SSDT { + ULONG SysCallPtr; +} SSDT, *PSSDT; /* System Service Parameters Table */ -typedef UCHAR SSPT, *PSSPT; +typedef struct t_SSPT { + unsigned int ParamBytes; +} SSPT, *PSSPT; typedef struct t_KeServiceDescriptorTableEntry { PSSDT SSDT; PULONG ServiceCounterTable; - ULONG NumberOfServices; + unsigned int NumberOfServices; PSSPT SSPT; } SSDT_ENTRY, *PSSDT_ENTRY; +#pragma pack() + #endif /* __USE_W32API */ @@ -75,3 +81,4 @@ KeAddSystemServiceTable ( #endif /* __NTOS_SERVICE_H */ + diff --git a/reactos/w32api/include/ddk/winddk.h b/reactos/w32api/include/ddk/winddk.h index 7eea53d20f9..ee806ac299e 100644 --- a/reactos/w32api/include/ddk/winddk.h +++ b/reactos/w32api/include/ddk/winddk.h @@ -7114,11 +7114,14 @@ KeAcquireSpinLock( OUT PKIRQL OldIrql); /* System Service Dispatch Table */ -typedef PVOID (NTAPI * SSDT)(VOID); -typedef SSDT * PSSDT; +typedef struct _SSDT { + ULONG SysCallPtr; +} SSDT, *PSSDT; /* System Service Parameters Table */ -typedef UCHAR SSPT, * PSSPT; +typedef struct _SSPT { + ULONG ParamBytes; +} SSPT, *PSSPT; typedef struct _SSDT_ENTRY { PSSDT SSDT; @@ -9112,3 +9115,4 @@ extern NTOSAPI PBOOLEAN KdDebuggerEnabled; #endif #endif /* __WINDDK_H */ +