- Various fixes to headers, such as fixing some LPC prototypes, adding/correcting...
authorAlex Ionescu <aionescu@gmail.com>
Sun, 4 Sep 2005 18:00:59 +0000 (18:00 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Sun, 4 Sep 2005 18:00:59 +0000 (18:00 +0000)
svn path=/trunk/; revision=17638

16 files changed:
reactos/include/ndk/dbgktypes.h
reactos/include/ndk/extypes.h
reactos/include/ndk/lpctypes.h
reactos/include/ndk/mmtypes.h
reactos/include/ndk/ntndk.h
reactos/include/ndk/rtlfuncs.h
reactos/include/ndk/rtltypes.h
reactos/include/ndk/setypes.h
reactos/include/ndk/umfuncs.h
reactos/include/ndk/zwfuncs.h
reactos/lib/ntdll/ldr/utils.c
reactos/ntoskrnl/ex/error.c
reactos/ntoskrnl/include/internal/port.h
reactos/ntoskrnl/lpc/reply.c
reactos/ntoskrnl/lpc/send.c
reactos/subsys/smss/smapi.c

index 4c231ee..e3d696a 100644 (file)
@@ -35,6 +35,7 @@ typedef struct _DEBUG_OBJECT_KILL_PROCESS_ON_EXIT_INFORMATION
 } DEBUG_OBJECT_KILL_PROCESS_ON_EXIT_INFORMATION, *
 PDEBUG_OBJECT_KILL_PROCESS_ON_EXIT_INFORMATION;
 
 } DEBUG_OBJECT_KILL_PROCESS_ON_EXIT_INFORMATION, *
 PDEBUG_OBJECT_KILL_PROCESS_ON_EXIT_INFORMATION;
 
+#ifndef NTOS_MODE_USER
 typedef struct _DBGK_DEBUG_OBJECT
 {
     KEVENT Event;
 typedef struct _DBGK_DEBUG_OBJECT
 {
     KEVENT Event;
@@ -45,11 +46,12 @@ typedef struct _DBGK_DEBUG_OBJECT
         ULONG Flags;
         struct
         {
         ULONG Flags;
         struct
         {
-            UCHAR DebuggerInactive  :1;
-            UCHAR KillProcessOnExit :1;
+            UCHAR DebuggerInactive:1;
+            UCHAR KillProcessOnExit:1;
         };
     };
 } DBGK_DEBUG_OBJECT, *PDBGK_DEBUG_OBJECT;
         };
     };
 } DBGK_DEBUG_OBJECT, *PDBGK_DEBUG_OBJECT;
+#endif
 
 typedef enum _DBG_STATE
 {
 
 typedef enum _DBG_STATE
 {
@@ -136,4 +138,21 @@ typedef struct _DBGUI_WAIT_STATE_CHANGE
     } StateInfo;
 } DBGUI_WAIT_STATE_CHANGE, *PDBGUI_WAIT_STATE_CHANGE;
 
     } StateInfo;
 } DBGUI_WAIT_STATE_CHANGE, *PDBGUI_WAIT_STATE_CHANGE;
 
+typedef struct _DBGKM_MSG
+{
+    PORT_MESSAGE h;
+    ULONG Opcode;
+    ULONG Status;
+    union
+    {
+           DBGKM_EXCEPTION Exception;
+        DBGKM_CREATE_THREAD CreateThread;
+        DBGKM_CREATE_PROCESS CreateProcess;
+           DBGKM_EXIT_THREAD ExitThread;
+        DBGKM_EXIT_PROCESS ExitProcess;
+           DBGKM_LOAD_DLL LoadDll;
+        DBGKM_UNLOAD_DLL UnloadDll;
+    };
+} DBGKM_MSG, *PDBGKM_MSG;
+
 #endif
 #endif
index 4433c70..d3df961 100644 (file)
@@ -37,6 +37,8 @@ extern NTOSAPI POBJECT_TYPE ExTimerType;
 #define SEMAPHORE_QUERY_STATE   0x0001
 #endif
 
 #define SEMAPHORE_QUERY_STATE   0x0001
 #endif
 
+#define MAXIMUM_HARDERROR_PARAMETERS 4
+
 /* ENUMERATIONS **************************************************************/
 
 /* TYPES *********************************************************************/
 /* ENUMERATIONS **************************************************************/
 
 /* TYPES *********************************************************************/
index f27ed12..d30fbba 100644 (file)
@@ -171,6 +171,24 @@ typedef struct _LPCP_CONNECTION_MESSAGE
 } LPCP_CONNECTION_MESSAGE, *PLPCP_CONNECTION_MESSAGE;
 #endif
 
 } LPCP_CONNECTION_MESSAGE, *PLPCP_CONNECTION_MESSAGE;
 #endif
 
+typedef struct _HARDERROR_MSG
+{
+    PORT_MESSAGE h;
+    NTSTATUS Status;
+    LARGE_INTEGER ErrorTime;
+    ULONG ValidResponseOptions;
+    ULONG Response;
+    ULONG NumberOfParameters;
+    ULONG UnicodeStringParameterMask;
+    ULONG Parameters[MAXIMUM_HARDERROR_PARAMETERS];
+} HARDERROR_MSG, *PHARDERROR_MSG;
+
+typedef struct _CLIENT_DIED_MSG
+{
+    PORT_MESSAGE h;
+    LARGE_INTEGER CreateTime;
+} CLIENT_DIED_MSG, *PCLIENT_DIED_MSG;
+
 /* CONSTANTS *****************************************************************/
 
 #define PORT_MAXIMUM_MESSAGE_LENGTH 256
 /* CONSTANTS *****************************************************************/
 
 #define PORT_MAXIMUM_MESSAGE_LENGTH 256
index 89baab8..ee33ffc 100644 (file)
 /* EXPORTED DATA *************************************************************/
 
 /* CONSTANTS *****************************************************************/
 /* EXPORTED DATA *************************************************************/
 
 /* CONSTANTS *****************************************************************/
+#ifdef NTOS_MODE_USER
+#define SEC_BASED       0x00200000
+#define SEC_NO_CHANGE   0x00400000
+#endif
 
 /* ENUMERATIONS **************************************************************/
 
 
 /* ENUMERATIONS **************************************************************/
 
index ae9c78e..f7bc555 100644 (file)
@@ -25,7 +25,6 @@
 #include "kdfuncs.h"        /* Kernel Debugger Functions */
 #include "cctypes.h"        /* Cache Manager Types */
 #include "potypes.h"        /* Power Manager Types */
 #include "kdfuncs.h"        /* Kernel Debugger Functions */
 #include "cctypes.h"        /* Cache Manager Types */
 #include "potypes.h"        /* Power Manager Types */
-#include "dbgktypes.h"      /* User-Mode Kernel Debugging Types */
 #include "haltypes.h"       /* Hardware Abstraction Layer Types */
 #include "halfuncs.h"       /* Hardware Abstraction Layer Functions */
 #include "inbvfuncs.h"      /* Initialization Boot Video Functions */
 #include "haltypes.h"       /* Hardware Abstraction Layer Types */
 #include "halfuncs.h"       /* Hardware Abstraction Layer Functions */
 #include "inbvfuncs.h"      /* Initialization Boot Video Functions */
@@ -34,7 +33,6 @@
 #include "mmfuncs.h"        /* Memory Manager Functions */
 #include "obfuncs.h"        /* Object Manager Functions */
 #include "psfuncs.h"        /* Process Manager Functions */
 #include "mmfuncs.h"        /* Memory Manager Functions */
 #include "obfuncs.h"        /* Object Manager Functions */
 #include "psfuncs.h"        /* Process Manager Functions */
-#include "setypes.h"        /* Security Subsystem Types */
 #include "sefuncs.h"        /* Security Subsystem Functions */
 #endif /* !NTOS_MODE_USER */
 
 #include "sefuncs.h"        /* Security Subsystem Functions */
 #endif /* !NTOS_MODE_USER */
 
 #include "obtypes.h"        /* Object Manager Types */
 #include "pstypes.h"        /* Process Manager Types */
 #include "lpctypes.h"       /* Local Procedure Call Types */
 #include "obtypes.h"        /* Object Manager Types */
 #include "pstypes.h"        /* Process Manager Types */
 #include "lpctypes.h"       /* Local Procedure Call Types */
+#include "dbgktypes.h"      /* User-Mode Kernel Debugging Types */
 #include "zwtypes.h"        /* Native Types */
 #include "zwfuncs.h"        /* Native Functions (System Calls) */
 #include "rtltypes.h"       /* Runtime Library Types */
 #include "rtlfuncs.h"       /* Runtime Library Functions */
 #include "zwtypes.h"        /* Native Types */
 #include "zwfuncs.h"        /* Native Functions (System Calls) */
 #include "rtltypes.h"       /* Runtime Library Types */
 #include "rtlfuncs.h"       /* Runtime Library Functions */
+#include "setypes.h"        /* Security Subsystem Types */
 #include "umfuncs.h"        /* User-Mode NT Library Functions */
 #include "i386/floatsave.h" /* Floating Point Save Area Definitions for i386 */
 #include "i386/segment.h"   /* Kernel CPU Segment Definitions for i386 */
 #include "umfuncs.h"        /* User-Mode NT Library Functions */
 #include "i386/floatsave.h" /* Floating Point Save Area Definitions for i386 */
 #include "i386/segment.h"   /* Kernel CPU Segment Definitions for i386 */
index e086859..0f1cf3a 100644 (file)
@@ -53,6 +53,10 @@ VOID
 STDCALL
 RtlRaiseStatus(NTSTATUS Status);
 
 STDCALL
 RtlRaiseStatus(NTSTATUS Status);
 
+LONG
+STDCALL
+RtlUnhandledExceptionFilter(struct _EXCEPTION_POINTERS* ExceptionInfo);
+
 VOID
 STDCALL
 RtlUnwind(
 VOID
 STDCALL
 RtlUnwind(
@@ -229,6 +233,15 @@ RtlAddAuditAccessAce(
     BOOLEAN Failure
 );
 
     BOOLEAN Failure
 );
 
+NTSTATUS
+STDCALL
+RtlAdjustPrivilege(
+    IN ULONG Privilege,
+    IN BOOLEAN NewValue,
+    IN BOOLEAN ForThread,
+    OUT PBOOLEAN OldValue
+);
+
 NTSTATUS
 STDCALL
 RtlAllocateAndInitializeSid(
 NTSTATUS
 STDCALL
 RtlAllocateAndInitializeSid(
index 853800e..b278c94 100644 (file)
@@ -210,6 +210,9 @@ RemoveTailList(
     sizeof(__SOURCE_STRING__), \
     (__SOURCE_STRING__) \
 }
     sizeof(__SOURCE_STRING__), \
     (__SOURCE_STRING__) \
 }
+
+#define RtlEqualLuid(L1, L2) (((L1)->HighPart == (L2)->HighPart) && \
+                              ((L1)->LowPart  == (L2)->LowPart))
 #endif
 
 /* FIXME: Rename these */
 #endif
 
 /* FIXME: Rename these */
index d662b58..2868ed7 100644 (file)
 /* EXPORTED DATA *************************************************************/
 
 /* CONSTANTS *****************************************************************/
 /* EXPORTED DATA *************************************************************/
 
 /* CONSTANTS *****************************************************************/
+#ifdef NTOS_MODE_USER
+#define SE_MIN_WELL_KNOWN_PRIVILEGE       (2L)
+#define SE_CREATE_TOKEN_PRIVILEGE         (2L)
+#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE   (3L)
+#define SE_LOCK_MEMORY_PRIVILEGE          (4L)
+#define SE_INCREASE_QUOTA_PRIVILEGE       (5L)
+#define SE_UNSOLICITED_INPUT_PRIVILEGE    (6L)
+#define SE_MACHINE_ACCOUNT_PRIVILEGE      (6L)
+#define SE_TCB_PRIVILEGE                  (7L)
+#define SE_SECURITY_PRIVILEGE             (8L)
+#define SE_TAKE_OWNERSHIP_PRIVILEGE       (9L)
+#define SE_LOAD_DRIVER_PRIVILEGE          (10L)
+#define SE_SYSTEM_PROFILE_PRIVILEGE       (11L)
+#define SE_SYSTEMTIME_PRIVILEGE           (12L)
+#define SE_PROF_SINGLE_PROCESS_PRIVILEGE  (13L)
+#define SE_INC_BASE_PRIORITY_PRIVILEGE    (14L)
+#define SE_CREATE_PAGEFILE_PRIVILEGE      (15L)
+#define SE_CREATE_PERMANENT_PRIVILEGE     (16L)
+#define SE_BACKUP_PRIVILEGE               (17L)
+#define SE_RESTORE_PRIVILEGE              (18L)
+#define SE_SHUTDOWN_PRIVILEGE             (19L)
+#define SE_DEBUG_PRIVILEGE                (20L)
+#define SE_AUDIT_PRIVILEGE                (21L)
+#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE   (22L)
+#define SE_CHANGE_NOTIFY_PRIVILEGE        (23L)
+#define SE_REMOTE_SHUTDOWN_PRIVILEGE      (24L)
+#define SE_MAX_WELL_KNOWN_PRIVILEGE       (SE_REMOTE_SHUTDOWN_PRIVILEGE)
+#endif
 
 /* ENUMERATIONS **************************************************************/
 
 /* TYPES *********************************************************************/
 
 
 /* ENUMERATIONS **************************************************************/
 
 /* TYPES *********************************************************************/
 
+#ifndef NTOS_MODE_USER
 typedef struct _SEP_AUDIT_POLICY_CATEGORIES
 {
     UCHAR System:4;
 typedef struct _SEP_AUDIT_POLICY_CATEGORIES
 {
     UCHAR System:4;
@@ -96,3 +125,4 @@ typedef struct _SE_AUDIT_PROCESS_CREATION_INFO
 } SE_AUDIT_PROCESS_CREATION_INFO, *PSE_AUDIT_PROCESS_CREATION_INFO;
 
 #endif
 } SE_AUDIT_PROCESS_CREATION_INFO, *PSE_AUDIT_PROCESS_CREATION_INFO;
 
 #endif
+#endif
index c78e663..4276d65 100644 (file)
@@ -138,10 +138,10 @@ LdrDisableThreadCalloutsForDll(IN PVOID BaseAddress);
 NTSTATUS
 STDCALL
 LdrGetDllHandle(
 NTSTATUS
 STDCALL
 LdrGetDllHandle(
-    IN PWCHAR Path OPTIONAL,
-    IN ULONG Unknown2,
+    IN PWSTR DllPath OPTIONAL,
+    IN PULONG DllCharacteristics,
     IN PUNICODE_STRING DllName,
     IN PUNICODE_STRING DllName,
-    OUT PVOID *BaseAddress
+    OUT PVOID *DllHandle
 );
 
 NTSTATUS
 );
 
 NTSTATUS
index 8858f59..b61e0f4 100644 (file)
@@ -21,11 +21,22 @@ NTSTATUS
 STDCALL
 NtAcceptConnectPort(
     PHANDLE PortHandle,
 STDCALL
 NtAcceptConnectPort(
     PHANDLE PortHandle,
-    HANDLE NamedPortHandle,
-    PPORT_MESSAGE ServerReply,
-    BOOLEAN AcceptIt,
-    PPORT_VIEW WriteMap,
-    PREMOTE_PORT_VIEW ReadMap
+    PVOID PortContext OPTIONAL,
+    PPORT_MESSAGE ConnectionRequest,
+    BOOLEAN AcceptConnection,
+    PPORT_VIEW ServerView OPTIONAL,
+    PREMOTE_PORT_VIEW ClientView OPTIONAL
+);
+
+NTSTATUS
+STDCALL
+ZwAcceptConnectPort(
+    PHANDLE PortHandle,
+    PVOID PortContext OPTIONAL,
+    PPORT_MESSAGE ConnectionRequest,
+    BOOLEAN AcceptConnection,
+    PPORT_VIEW ServerView OPTIONAL,
+    PREMOTE_PORT_VIEW ClientView OPTIONAL
 );
 
 NTSTATUS
 );
 
 NTSTATUS
@@ -347,11 +358,11 @@ NtConnectPort(
     PHANDLE PortHandle,
     PUNICODE_STRING PortName,
     PSECURITY_QUALITY_OF_SERVICE SecurityQos,
     PHANDLE PortHandle,
     PUNICODE_STRING PortName,
     PSECURITY_QUALITY_OF_SERVICE SecurityQos,
-    PPORT_VIEW SectionInfo,
-    PREMOTE_PORT_VIEW MapInfo,
-    PULONG MaxMessageSize,
-    PVOID ConnectInfo,
-    PULONG ConnectInfoLength
+    PPORT_VIEW ClientView OPTIONAL,
+    PREMOTE_PORT_VIEW ServerView OPTIONAL,
+    PULONG MaxMessageLength OPTIONAL,
+    PVOID ConnectionInformation OPTIONAL,
+    PULONG ConnectionInformationLength OPTIONAL
 );
 
 NTSTATUS
 );
 
 NTSTATUS
@@ -360,11 +371,11 @@ ZwConnectPort(
     PHANDLE PortHandle,
     PUNICODE_STRING PortName,
     PSECURITY_QUALITY_OF_SERVICE SecurityQos,
     PHANDLE PortHandle,
     PUNICODE_STRING PortName,
     PSECURITY_QUALITY_OF_SERVICE SecurityQos,
-    PPORT_VIEW SectionInfo,
-    PREMOTE_PORT_VIEW MapInfo,
-    PULONG MaxMessageSize,
-    PVOID ConnectInfo,
-    PULONG ConnectInfoLength
+    PPORT_VIEW ClientView OPTIONAL,
+    PREMOTE_PORT_VIEW ServerView OPTIONAL,
+    PULONG MaxMessageLength OPTIONAL,
+    PVOID ConnectionInformation OPTIONAL,
+    PULONG ConnectionInformationLength OPTIONAL
 );
 
 NTSTATUS
 );
 
 NTSTATUS
@@ -612,19 +623,19 @@ STDCALL
 NtCreatePort(
     PHANDLE PortHandle,
     POBJECT_ATTRIBUTES ObjectAttributes,
 NtCreatePort(
     PHANDLE PortHandle,
     POBJECT_ATTRIBUTES ObjectAttributes,
-    ULONG MaxConnectInfoLength,
-    ULONG MaxDataLength,
-    ULONG NPMessageQueueSize OPTIONAL
+    ULONG MaxConnectionInfoLength,
+    ULONG MaxMessageLength,
+    ULONG MaxPoolUsage
 );
 
 NTSTATUS
 STDCALL
 );
 
 NTSTATUS
 STDCALL
-NtCreatePort(
+ZwCreatePort(
     PHANDLE PortHandle,
     POBJECT_ATTRIBUTES ObjectAttributes,
     PHANDLE PortHandle,
     POBJECT_ATTRIBUTES ObjectAttributes,
-    ULONG MaxConnectInfoLength,
-    ULONG MaxDataLength,
-    ULONG NPMessageQueueSize OPTIONAL
+    ULONG MaxConnectionInfoLength,
+    ULONG MaxMessageLength,
+    ULONG MaxPoolUsage
 );
 
 NTSTATUS
 );
 
 NTSTATUS
@@ -1313,13 +1324,13 @@ ZwIsProcessInJob(
 NTSTATUS
 STDCALL
 NtListenPort(HANDLE PortHandle,
 NTSTATUS
 STDCALL
 NtListenPort(HANDLE PortHandle,
-             PPORT_MESSAGE LpcMessage
+             PPORT_MESSAGE ConnectionRequest
 );
 
 NTSTATUS
 STDCALL
 ZwListenPort(HANDLE PortHandle,
 );
 
 NTSTATUS
 STDCALL
 ZwListenPort(HANDLE PortHandle,
-             PPORT_MESSAGE LpcMessage
+             PPORT_MESSAGE ConnectionRequest
 );
 
 NTSTATUS
 );
 
 NTSTATUS
@@ -2745,11 +2756,11 @@ STDCALL
 NtRaiseHardError(
     IN NTSTATUS ErrorStatus,
     IN ULONG NumberOfParameters,
 NtRaiseHardError(
     IN NTSTATUS ErrorStatus,
     IN ULONG NumberOfParameters,
-    IN PUNICODE_STRING UnicodeStringParameterMask OPTIONAL,
-    IN PVOID *Parameters,
-    IN HARDERROR_RESPONSE_OPTION ResponseOption,
-    OUT PHARDERROR_RESPONSE Response
-);
+    IN ULONG UnicodeStringParameterMask,
+    IN PULONG_PTR Parameters,
+    IN ULONG ValidResponseOptions,
+    OUT PULONG Response
+); 
 
 NTSTATUS
 STDCALL
 
 NTSTATUS
 STDCALL
@@ -2955,18 +2966,18 @@ NTSTATUS
 STDCALL
 NtReplyWaitReceivePort(
     HANDLE PortHandle,
 STDCALL
 NtReplyWaitReceivePort(
     HANDLE PortHandle,
-    PULONG PortId,
-    PPORT_MESSAGE MessageReply,
-    PPORT_MESSAGE MessageRequest
+    PVOID *PortContext OPTIONAL,
+    PPORT_MESSAGE ReplyMessage OPTIONAL,
+    PPORT_MESSAGE ReceiveMessage
 );
 
 NTSTATUS
 STDCALL
 ZwReplyWaitReceivePort(
     HANDLE PortHandle,
 );
 
 NTSTATUS
 STDCALL
 ZwReplyWaitReceivePort(
     HANDLE PortHandle,
-    PULONG PortId,
-    PPORT_MESSAGE MessageReply,
-    PPORT_MESSAGE MessageRequest
+    PVOID *PortContext OPTIONAL,
+    PPORT_MESSAGE ReplyMessage,
+    PPORT_MESSAGE ReceiveMessage
 );
 
 NTSTATUS
 );
 
 NTSTATUS
index dce3170..80461b4 100644 (file)
@@ -2285,33 +2285,34 @@ LdrDisableThreadCalloutsForDll(IN PVOID BaseAddress)
  * @implemented
  */
 NTSTATUS STDCALL
  * @implemented
  */
 NTSTATUS STDCALL
-LdrGetDllHandle(IN PWCHAR Path OPTIONAL,
-                IN ULONG Unknown2,
+LdrGetDllHandle(IN PWSTR DllPath OPTIONAL,
+                IN PULONG DllCharacteristics,
                 IN PUNICODE_STRING DllName,
                 IN PUNICODE_STRING DllName,
-                OUT PVOID* BaseAddress)
+                OUT PVOID *DllHandle)
 {
     PLDR_DATA_TABLE_ENTRY Module;
     NTSTATUS Status;
 
 {
     PLDR_DATA_TABLE_ENTRY Module;
     NTSTATUS Status;
 
-    TRACE_LDR("LdrGetDllHandle, searching for %wZ from %S\n", DllName, Path ? Path : L"");
+    TRACE_LDR("LdrGetDllHandle, searching for %wZ from %S\n",
+               DllName, DllPath ? DllPath : L"");
 
     /* NULL is the current executable */
     if (DllName == NULL)
       {
 
     /* NULL is the current executable */
     if (DllName == NULL)
       {
-        *BaseAddress = ExeModule->DllBase;
-        DPRINT("BaseAddress %x\n", *BaseAddress);
+        *DllHandle = ExeModule->DllBase;
+        DPRINT("BaseAddress %x\n", *DllHandle);
         return STATUS_SUCCESS;
       }
 
     Status = LdrFindEntryForName(DllName, &Module, FALSE);
     if (NT_SUCCESS(Status))
       {
         return STATUS_SUCCESS;
       }
 
     Status = LdrFindEntryForName(DllName, &Module, FALSE);
     if (NT_SUCCESS(Status))
       {
-        *BaseAddress = Module->DllBase;
+        *DllHandle = Module->DllBase;
         return STATUS_SUCCESS;
       }
 
     DPRINT("Failed to find dll %wZ\n", DllName);
         return STATUS_SUCCESS;
       }
 
     DPRINT("Failed to find dll %wZ\n", DllName);
-    *BaseAddress = NULL;
+    *DllHandle = NULL;
     return STATUS_DLL_NOT_FOUND;
 }
 
     return STATUS_DLL_NOT_FOUND;
 }
 
index de2b558..6f9dcbb 100644 (file)
@@ -92,10 +92,10 @@ VOID
 STDCALL
 ExRaiseHardError(IN NTSTATUS ErrorStatus,
                  IN ULONG NumberOfParameters,
 STDCALL
 ExRaiseHardError(IN NTSTATUS ErrorStatus,
                  IN ULONG NumberOfParameters,
-                 IN PUNICODE_STRING UnicodeStringParameterMask OPTIONAL,
-                 IN PVOID *Parameters,
-                 IN HARDERROR_RESPONSE_OPTION ResponseOption,
-                 OUT PHARDERROR_RESPONSE Response)
+                 IN ULONG UnicodeStringParameterMask,
+                 IN PULONG_PTR Parameters,
+                 IN ULONG ValidResponseOptions,
+                 OUT PULONG Response)
 {
     UNIMPLEMENTED;
 }
 {
     UNIMPLEMENTED;
 }
@@ -104,10 +104,10 @@ NTSTATUS
 STDCALL
 NtRaiseHardError(IN NTSTATUS ErrorStatus,
                  IN ULONG NumberOfParameters,
 STDCALL
 NtRaiseHardError(IN NTSTATUS ErrorStatus,
                  IN ULONG NumberOfParameters,
-                 IN PUNICODE_STRING UnicodeStringParameterMask  OPTIONAL,
-                 IN PVOID *Parameters,
-                 IN HARDERROR_RESPONSE_OPTION ResponseOption,
-                 OUT PHARDERROR_RESPONSE Response)
+                 IN ULONG UnicodeStringParameterMask,
+                 IN PULONG_PTR Parameters,
+                 IN ULONG ValidResponseOptions,
+                 OUT PULONG Response)
 {
     DPRINT1("Hard error %x\n", ErrorStatus);
 
 {
     DPRINT1("Hard error %x\n", ErrorStatus);
 
@@ -116,7 +116,7 @@ NtRaiseHardError(IN NTSTATUS ErrorStatus,
                      NumberOfParameters,
                      UnicodeStringParameterMask,
                      Parameters,
                      NumberOfParameters,
                      UnicodeStringParameterMask,
                      Parameters,
-                     ResponseOption,
+                     ValidResponseOptions,
                      Response);
 
     /* Return Success */
                      Response);
 
     /* Return Success */
index a859eff..0bdce16 100644 (file)
@@ -90,61 +90,6 @@ typedef struct _QUEUEDMESSAGE
   PORT_MESSAGE Message;
 } QUEUEDMESSAGE,  *PQUEUEDMESSAGE;
 
   PORT_MESSAGE Message;
 } QUEUEDMESSAGE,  *PQUEUEDMESSAGE;
 
-typedef struct _LPC_DBG_MESSAGE
-{
-   PORT_MESSAGE Header;
-   ULONG Type;
-   ULONG Status;
-   union
-     {
-       struct
-         {
-            EXCEPTION_RECORD ExceptionRecord;
-            ULONG FirstChance;
-         } Exception;
-       struct
-         {
-            ULONG Reserved;
-            PVOID StartAddress;
-         } CreateThread;
-       struct
-         {
-            ULONG Reserved;
-            HANDLE FileHandle;
-            PVOID Base;
-            ULONG PointerToSymbolTable;
-            ULONG NumberOfSymbols;
-            ULONG Reserved2;
-            PVOID EntryPoint;
-         } CreateProcess;
-       struct
-         {
-            ULONG ExitCode;
-         } ExitThread;
-       struct
-         {
-            ULONG ExitCode;
-         } ExitProcess;
-       struct
-         {
-            HANDLE FileHandle;
-            PVOID Base;
-            ULONG PointerToSymbolTable;
-            ULONG NumberOfSymbols;
-         } LoadDll;
-       struct
-         {
-            PVOID Base;
-         } UnloadDll;
-     } Data;
-} LPC_DBG_MESSAGE, *PLPC_DBG_MESSAGE;
-
-typedef struct _LPC_TERMINATION_MESSAGE
-{
-   PORT_MESSAGE Header;
-   LARGE_INTEGER CreationTime;
-} LPC_TERMINATION_MESSAGE, *PLPC_TERMINATION_MESSAGE;
-
 /* Code in ntoskrnl/lpc/close.h */
 
 VOID STDCALL
 /* Code in ntoskrnl/lpc/close.h */
 
 VOID STDCALL
index 1aeba6e..bcc225e 100644 (file)
@@ -146,11 +146,11 @@ NtReplyPort (IN   HANDLE          PortHandle,
  * REVISIONS
  */
 NTSTATUS STDCALL
  * REVISIONS
  */
 NTSTATUS STDCALL
-NtReplyWaitReceivePortEx(IN  HANDLE            PortHandle,
-                        OUT PULONG             PortId,
-                        IN  PPORT_MESSAGE      LpcReply,
-                        OUT PPORT_MESSAGE      LpcMessage,
-                        IN  PLARGE_INTEGER     Timeout)
+NtReplyWaitReceivePortEx(IN HANDLE PortHandle,
+                         OUT PVOID *PortContext OPTIONAL,
+                         IN PPORT_MESSAGE ReplyMessage OPTIONAL,
+                         OUT PPORT_MESSAGE ReceiveMessage,
+                                    IN PLARGE_INTEGER Timeout OPTIONAL)
 {
    PEPORT Port;
    KIRQL oldIrql;
 {
    PEPORT Port;
    KIRQL oldIrql;
@@ -169,7 +169,7 @@ NtReplyWaitReceivePortEx(IN  HANDLE         PortHandle,
      {
        _SEH_TRY
          {
      {
        _SEH_TRY
          {
-           ProbeForWrite(LpcMessage,
+           ProbeForWrite(ReceiveMessage,
                          sizeof(PORT_MESSAGE),
                          1);
          }
                          sizeof(PORT_MESSAGE),
                          1);
          }
@@ -211,10 +211,10 @@ NtReplyWaitReceivePortEx(IN  HANDLE               PortHandle,
    /*
     * Send the reply, only if port is connected
     */
    /*
     * Send the reply, only if port is connected
     */
-   if (LpcReply != NULL && !Disconnected)
+   if (ReplyMessage != NULL && !Disconnected)
      {
        Status = EiReplyOrRequestPort(Port->OtherPort,
      {
        Status = EiReplyOrRequestPort(Port->OtherPort,
-                                     LpcReply,
+                                     ReplyMessage,
                                      LPC_REPLY,
                                      Port);
        KeReleaseSemaphore(&Port->OtherPort->Semaphore, IO_NO_INCREMENT, 1,
                                      LPC_REPLY,
                                      Port);
        KeReleaseSemaphore(&Port->OtherPort->Semaphore, IO_NO_INCREMENT, 1,
@@ -283,14 +283,14 @@ NtReplyWaitReceivePortEx(IN  HANDLE               PortHandle,
          {
            _SEH_TRY
              {
          {
            _SEH_TRY
              {
-               ProbeForWrite((PVOID)(LpcMessage + 1),
+               ProbeForWrite((PVOID)(ReceiveMessage + 1),
                              CRequest->ConnectDataLength,
                              1);
 
                              CRequest->ConnectDataLength,
                              1);
 
-               RtlCopyMemory(LpcMessage,
+               RtlCopyMemory(ReceiveMessage,
                              &Header,
                              sizeof(PORT_MESSAGE));
                              &Header,
                              sizeof(PORT_MESSAGE));
-               RtlCopyMemory((PVOID)(LpcMessage + 1),
+               RtlCopyMemory((PVOID)(ReceiveMessage + 1),
                              CRequest->ConnectData,
                              CRequest->ConnectDataLength);
              }
                              CRequest->ConnectData,
                              CRequest->ConnectDataLength);
              }
@@ -302,10 +302,10 @@ NtReplyWaitReceivePortEx(IN  HANDLE               PortHandle,
          }
        else
          {
          }
        else
          {
-           RtlCopyMemory(LpcMessage,
+           RtlCopyMemory(ReceiveMessage,
                          &Header,
                          sizeof(PORT_MESSAGE));
                          &Header,
                          sizeof(PORT_MESSAGE));
-           RtlCopyMemory((PVOID)(LpcMessage + 1),
+           RtlCopyMemory((PVOID)(ReceiveMessage + 1),
                          CRequest->ConnectData,
                          CRequest->ConnectDataLength);
          }
                          CRequest->ConnectData,
                          CRequest->ConnectDataLength);
          }
@@ -316,11 +316,11 @@ NtReplyWaitReceivePortEx(IN  HANDLE               PortHandle,
          {
            _SEH_TRY
              {
          {
            _SEH_TRY
              {
-               ProbeForWrite(LpcMessage,
+               ProbeForWrite(ReceiveMessage,
                              Request->Message.u1.s1.TotalLength,
                              1);
 
                              Request->Message.u1.s1.TotalLength,
                              1);
 
-               RtlCopyMemory(LpcMessage,
+               RtlCopyMemory(ReceiveMessage,
                              &Request->Message,
                              Request->Message.u1.s1.TotalLength);
              }
                              &Request->Message,
                              Request->Message.u1.s1.TotalLength);
              }
@@ -332,7 +332,7 @@ NtReplyWaitReceivePortEx(IN  HANDLE         PortHandle,
          }
        else
          {
          }
        else
          {
-           RtlCopyMemory(LpcMessage,
+           RtlCopyMemory(ReceiveMessage,
                          &Request->Message,
                          Request->Message.u1.s1.TotalLength);
          }
                          &Request->Message,
                          Request->Message.u1.s1.TotalLength);
          }
@@ -387,16 +387,16 @@ NtReplyWaitReceivePortEx(IN  HANDLE               PortHandle,
  * REVISIONS
  */
 NTSTATUS STDCALL
  * REVISIONS
  */
 NTSTATUS STDCALL
-NtReplyWaitReceivePort (IN  HANDLE             PortHandle,
-                       OUT PULONG              PortId,
-                       IN  PPORT_MESSAGE       LpcReply,
-                       OUT PPORT_MESSAGE       LpcMessage)
+NtReplyWaitReceivePort(IN HANDLE PortHandle,
+                       OUT PVOID *PortContext OPTIONAL,
+                       IN PPORT_MESSAGE ReplyMessage OPTIONAL,
+                       OUT PPORT_MESSAGE ReceiveMessage)
 {
 {
-  return(NtReplyWaitReceivePortEx (PortHandle,
-                                  PortId,
-                                  LpcReply,
-                                  LpcMessage,
-                                  NULL));
+    return NtReplyWaitReceivePortEx(PortHandle,
+                                                   PortContext,
+                                                   ReplyMessage,
+                                                   ReceiveMessage,
+                                                   NULL);
 }
 
 /**********************************************************************
 }
 
 /**********************************************************************
index 88da73a..8d07b1e 100644 (file)
  */
 NTSTATUS STDCALL
 LpcSendTerminationPort (IN PEPORT Port,
  */
 NTSTATUS STDCALL
 LpcSendTerminationPort (IN PEPORT Port,
-                       IN LARGE_INTEGER CreationTime)
+                       IN LARGE_INTEGER CreateTime)
 {
   NTSTATUS Status;
 {
   NTSTATUS Status;
-  LPC_TERMINATION_MESSAGE Msg;
+  CLIENT_DIED_MSG Msg;
 
 #ifdef __USE_NT_LPC__
 
 #ifdef __USE_NT_LPC__
-  Msg.Header.u2.s2.Type = LPC_NEW_MESSAGE;
+  Msg.h.u2.s2.Type = LPC_CLIENT_DIED;
 #endif
 #endif
-  Msg.CreationTime = CreationTime;
-  Status = LpcRequestPort (Port, &Msg.Header);
+  Msg.CreateTime = CreateTime;
+  Status = LpcRequestPort (Port, &Msg.h);
   return(Status);
 }
 
   return(Status);
 }
 
@@ -58,15 +58,15 @@ LpcSendTerminationPort (IN PEPORT Port,
  */
 NTSTATUS STDCALL
 LpcSendDebugMessagePort (IN PEPORT Port,
  */
 NTSTATUS STDCALL
 LpcSendDebugMessagePort (IN PEPORT Port,
-                        IN PLPC_DBG_MESSAGE Message,
-                        OUT PLPC_DBG_MESSAGE Reply)
+                        IN PDBGKM_MSG Message,
+                        OUT PDBGKM_MSG Reply)
 {
    NTSTATUS Status;
    KIRQL oldIrql;
    PQUEUEDMESSAGE ReplyMessage;
 
    Status = EiReplyOrRequestPort(Port,
 {
    NTSTATUS Status;
    KIRQL oldIrql;
    PQUEUEDMESSAGE ReplyMessage;
 
    Status = EiReplyOrRequestPort(Port,
-                                &Message->Header,
+                                &Message->h,
                                 LPC_REQUEST,
                                 Port);
    if (!NT_SUCCESS(Status))
                                 LPC_REQUEST,
                                 Port);
    if (!NT_SUCCESS(Status))
index 0e04888..44dd6a3 100644 (file)
@@ -107,7 +107,6 @@ VOID STDCALL
 SmpApiConnectedThread(PVOID pConnectedPort)
 {
        NTSTATUS        Status = STATUS_SUCCESS;
 SmpApiConnectedThread(PVOID pConnectedPort)
 {
        NTSTATUS        Status = STATUS_SUCCESS;
-       PVOID           Unknown = NULL;
        PPORT_MESSAGE   Reply = NULL;
        SM_PORT_MESSAGE Request;
        HANDLE          ConnectedPort = * (PHANDLE) pConnectedPort;
        PPORT_MESSAGE   Reply = NULL;
        SM_PORT_MESSAGE Request;
        HANDLE          ConnectedPort = * (PHANDLE) pConnectedPort;
@@ -120,7 +119,7 @@ SmpApiConnectedThread(PVOID pConnectedPort)
                DPRINT("SM: %s: waiting for message\n",__FUNCTION__);
 
                Status = NtReplyWaitReceivePort(ConnectedPort,
                DPRINT("SM: %s: waiting for message\n",__FUNCTION__);
 
                Status = NtReplyWaitReceivePort(ConnectedPort,
-                                               (PULONG) & Unknown,
+                                               NULL,
                                                Reply,
                                                (PPORT_MESSAGE) & Request);
                if (NT_SUCCESS(Status))
                                                Reply,
                                                (PPORT_MESSAGE) & Request);
                if (NT_SUCCESS(Status))