Move non-DDK Ps* function prototypes and types from ROS DDK to NTOS headers.
authorFilip Navara <filip.navara@gmail.com>
Sat, 18 Jun 2005 16:53:34 +0000 (16:53 +0000)
committerFilip Navara <filip.navara@gmail.com>
Sat, 18 Jun 2005 16:53:34 +0000 (16:53 +0000)
svn path=/trunk/; revision=16049

reactos/include/ddk/psfuncs.h
reactos/include/ddk/pstypes.h
reactos/include/ntos/ps.h
reactos/subsys/win32k/main/dllmain.c

index 4ddddb9..42bfaf5 100644 (file)
@@ -45,14 +45,6 @@ PsCreateSystemThread (PHANDLE ThreadHandle,
 NTSTATUS STDCALL
 PsTerminateSystemThread (NTSTATUS ExitStatus);
 
-NTSTATUS STDCALL
-PsCreateSystemProcess (PHANDLE ProcessHandle,
-                      ACCESS_MASK DesiredAccess,
-                      POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTSTATUS STDCALL PsCreateWin32Process(struct _EPROCESS* Process);
-NTSTATUS STDCALL PsCreateWin32Thread(struct _ETHREAD* Thread);
-
 VOID
 STDCALL PsChargePoolQuota(
     IN PEPROCESS Process,
@@ -60,18 +52,6 @@ STDCALL PsChargePoolQuota(
     IN ULONG_PTR Amount
     );
 
-NTSTATUS
-STDCALL PsChargeProcessNonPagedPoolQuota (
-       IN PEPROCESS Process,
-    IN ULONG_PTR Amount
-       );
-
-NTSTATUS
-STDCALL PsChargeProcessPagedPoolQuota (
-       IN PEPROCESS Process,
-    IN ULONG_PTR Amount
-       );
-
 NTSTATUS
 STDCALL PsChargeProcessPoolQuota(
     IN PEPROCESS Process,
@@ -95,174 +75,11 @@ STDCALL PsDisableImpersonation(
     IN PSE_IMPERSONATION_STATE ImpersonationState
     );
 
-ULONG
-STDCALL PsGetCurrentProcessSessionId (
-    VOID
-       );
-
-KPROCESSOR_MODE
-STDCALL PsGetCurrentThreadPreviousMode (
-    VOID
-       );
-
-
-PVOID
-STDCALL PsGetCurrentThreadStackBase (
-    VOID
-       );
-
-PVOID
-STDCALL PsGetCurrentThreadStackLimit (
-    VOID
-       );
-
-PVOID
-STDCALL PsGetJobLock(
-    PEJOB      Job
-       );
-
-PVOID
-STDCALL PsGetJobSessionId(
-    PEJOB      Job
-       );
-
-ULONG
-STDCALL PsGetJobUIRestrictionsClass(
-       PEJOB   Job
-       );
-
-LONGLONG
-STDCALL PsGetProcessCreateTimeQuadPart(
-    PEPROCESS  Process
-       );
-
-PVOID
-STDCALL PsGetProcessDebugPort(
-    PEPROCESS  Process
-       );
-
-
-BOOLEAN
-STDCALL PsGetProcessExitProcessCalled(
-    PEPROCESS  Process
-       );
-
-NTSTATUS
-STDCALL PsGetProcessExitStatus(
-       PEPROCESS Process
-       );
-
-HANDLE
-STDCALL PsGetProcessId(
-       PEPROCESS       Process
-       );
-
-LPSTR
-STDCALL PsGetProcessImageFileName(
-    PEPROCESS  Process
-       );
-
-HANDLE
-STDCALL PsGetProcessInheritedFromUniqueProcessId(
-       PEPROCESS       Process
-       );
-
-PEJOB
-STDCALL PsGetProcessJob(
-       PEPROCESS Process
-       );
-
-PPEB
-STDCALL PsGetProcessPeb(
-    PEPROCESS  Process
-       );
-
-ULONG
-STDCALL PsGetProcessPriorityClass(
-    PEPROCESS  Process
-       );
-
-PVOID
-STDCALL PsGetProcessSectionBaseAddress(
-    PEPROCESS  Process
-       );
-
-PVOID
-STDCALL PsGetProcessSecurityPort(
-       PEPROCESS Process
-       );
-
-HANDLE
-STDCALL PsGetProcessSessionId(
-    PEPROCESS  Process
-       );
-
-PVOID
-STDCALL PsGetProcessWin32Process(
-       PEPROCESS Process
-       );
-
-PVOID
-STDCALL PsGetProcessWin32WindowStation(
-    PEPROCESS  Process
-       );
-
-ULONG
-STDCALL PsGetThreadFreezeCount(
-       struct _ETHREAD* Thread
-       );
-
-BOOLEAN
-STDCALL PsGetThreadHardErrorsAreDisabled(
-    struct _ETHREAD*   Thread
-       );
-
-HANDLE
-STDCALL PsGetThreadId(
-    struct _ETHREAD*   Thread
-       );
-
-PEPROCESS
-STDCALL PsGetThreadProcess(
-    struct _ETHREAD*   Thread
-       );
-
-HANDLE
-STDCALL PsGetThreadProcessId(
-    struct _ETHREAD*   Thread
-       );
-
-HANDLE
-STDCALL PsGetThreadSessionId(
-    struct _ETHREAD*   Thread
-       );
-
-PTEB
-STDCALL PsGetThreadTeb(
-    struct _ETHREAD*   Thread
-       );
-
-PVOID
-STDCALL PsGetThreadWin32Thread(
-    struct _ETHREAD*   Thread
-       );
-
-BOOLEAN
-STDCALL PsIsProcessBeingDebugged(
-    PEPROCESS  Process
-       );
-
-                         
 BOOLEAN                             
 STDCALL PsIsSystemThread(                   
     struct _ETHREAD* Thread                 
      );
 
-BOOLEAN
-STDCALL PsIsThreadImpersonating(
-    struct _ETHREAD*   Thread
-       );
-
 NTSTATUS
 STDCALL PsRemoveCreateThreadNotifyRoutine (
     IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
@@ -286,86 +103,11 @@ STDCALL PsReturnPoolQuota(
     IN ULONG_PTR Amount
     );
 
-VOID
-STDCALL PsReturnProcessNonPagedPoolQuota(
-    IN PEPROCESS Process,
-    IN ULONG_PTR Amount
-    );
-
-VOID
-STDCALL PsReturnProcessPagedPoolQuota(
-    IN PEPROCESS Process,
-    IN ULONG_PTR Amount
-    );
-
 VOID 
 STDCALL PsRevertToSelf(
        VOID
        ); 
 
-VOID
-STDCALL
-PsRevertThreadToSelf(
-       IN struct _ETHREAD* Thread
-       );
-
-VOID
-STDCALL PsSetJobUIRestrictionsClass(
-    PEJOB      Job,
-    ULONG      UIRestrictionsClass     
-       );
-
-ULONG 
-STDCALL PsSetLegoNotifyRoutine(        
-       PVOID LegoNotifyRoutine          
-       );
-
-VOID
-STDCALL PsSetProcessPriorityClass(
-    PEPROCESS  Process,
-    ULONG      PriorityClass   
-       );
-
-VOID
-STDCALL PsSetProcessSecurityPort(
-    PEPROCESS  Process,
-    PVOID      SecurityPort    
-       );
-
-VOID
-STDCALL PsSetProcessWin32Process(
-    PEPROCESS  Process,
-    PVOID      Win32Process
-       );
-
-VOID
-STDCALL PsSetProcessWin32WindowStation(
-    PEPROCESS  Process,
-    PVOID      WindowStation
-       );
-
-VOID
-STDCALL PsSetThreadHardErrorsAreDisabled(
-    struct _ETHREAD*   Thread,
-    BOOLEAN    HardErrorsAreDisabled
-       );
-
-VOID
-STDCALL PsSetThreadWin32Thread(
-    struct _ETHREAD*   Thread,
-    PVOID      Win32Thread
-       );
-
-struct _W32_OBJECT_CALLBACK;
-
-VOID STDCALL
-STDCALL PsEstablishWin32Callouts (PW32_PROCESS_CALLBACK W32ProcessCallback,
-                         PW32_THREAD_CALLBACK W32ThreadCallback,
-                         struct _W32_OBJECT_CALLBACK *W32ObjectCallback,
-                         PVOID Param4,
-                         ULONG W32ThreadSize,
-                         ULONG W32ProcessSize);
-
 #define PsGetCurrentProcess() IoGetCurrentProcess()
 #define PsGetCurrentThread() ((struct _ETHREAD*) (KeGetCurrentThread()))
 
@@ -385,9 +127,6 @@ PsImpersonateClient (IN struct _ETHREAD* Thread,
                     IN BOOLEAN EffectiveOnly,
                     IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel);
 
-VOID STDCALL
-PsRevertToSelf (VOID);
-
 BOOLEAN STDCALL PsGetVersion (PULONG           MajorVersion    OPTIONAL,
                              PULONG            MinorVersion    OPTIONAL,
                              PULONG            BuildNumber     OPTIONAL,
@@ -396,18 +135,6 @@ BOOLEAN STDCALL PsGetVersion (PULONG               MajorVersion    OPTIONAL,
 LARGE_INTEGER STDCALL PsGetProcessExitTime(VOID);
 BOOLEAN STDCALL PsIsThreadTerminating(struct _ETHREAD* Thread);
 
-NTSTATUS STDCALL PsLookupProcessByProcessId(IN HANDLE ProcessId,
-                                           OUT PEPROCESS *Process);
-
-NTSTATUS STDCALL PsLookupProcessThreadByCid(IN PCLIENT_ID Cid,
-                                           OUT PEPROCESS *Process OPTIONAL,
-                                           OUT struct _ETHREAD **Thread);
-                                        /* OUT PETHREAD *Thread); */
-
-NTSTATUS STDCALL PsLookupThreadByThreadId(IN HANDLE ThreadId,
-                                         OUT struct _ETHREAD **Thread);
-                                       /* OUT PETHREAD *Thread); */
-
 NTSTATUS STDCALL
 PsSetCreateProcessNotifyRoutine(IN PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
                                IN BOOLEAN Remove);
index a54e849..e0933ca 100644 (file)
@@ -22,7 +22,6 @@ struct _ETHREAD;
 struct _KTHREAD;
 struct _EJOB;
 
-typedef struct _EJOB *PEJOB;
 typedef struct _KTHREAD *PKTHREAD, *PRKTHREAD;
 
 typedef struct _IMAGE_INFO {
@@ -59,14 +58,6 @@ typedef VOID STDCALL_FUNC
                               HANDLE ProcessId,
                               PIMAGE_INFO ImageInfo);
 
-typedef NTSTATUS STDCALL_FUNC
-(*PW32_PROCESS_CALLBACK)(struct _EPROCESS *Process,
-                        BOOLEAN Create);
-
-typedef NTSTATUS STDCALL_FUNC
-(*PW32_THREAD_CALLBACK)(struct _ETHREAD *Thread,
-                       BOOLEAN Create);
-                        
 typedef struct _STACK_INFORMATION
 {
   PVOID BaseAddress;
index f3b0502..57fa017 100644 (file)
@@ -13,6 +13,8 @@
 #ifndef __INCLUDE_PS_H
 #define __INCLUDE_PS_H
 
+#include <napi/teb.h>
+
 #define THREAD_READ                    (0x020048L)
 #define THREAD_WRITE                   (0x020037L)
 #define THREAD_EXECUTE                 (0x120000L)
 #define JOB_OBJECT_SET_SECURITY_ATTRIBUTES     (16)
 #define JOB_OBJECT_ALL_ACCESS  (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|31)
 
+/* Thread access rights */
+#define THREAD_ALERT (0x0004L)
+
 #ifndef __USE_W32API
 
 /* Thread access rights */
 #define THREAD_TERMINATE               (0x0001L)
 #define THREAD_SUSPEND_RESUME          (0x0002L)
-#define THREAD_ALERT (0x0004L)
 #define THREAD_GET_CONTEXT             (0x0008L)
 #define THREAD_SET_CONTEXT             (0x0010L)
 #define THREAD_SET_INFORMATION         (0x0020L)
 
 #endif /* !__USE_W32API */
 
+#ifdef NTOS_MODE_KERNEL
+
 #ifdef __NTOSKRNL__
 #ifdef __GNUC__
 extern struct _EPROCESS* EXPORTED PsInitialSystemProcess;
@@ -122,4 +128,334 @@ extern POBJECT_TYPE IMPORTED PsThreadType;
 #endif
 #endif
 
+typedef NTSTATUS
+(STDCALL *PW32_PROCESS_CALLBACK)(struct _EPROCESS *Process,
+                                BOOLEAN Create);
+
+typedef NTSTATUS
+(STDCALL *PW32_THREAD_CALLBACK)(struct _ETHREAD *Thread,
+                               BOOLEAN Create);
+
+typedef struct _EJOB *PEJOB;
+
+NTSTATUS STDCALL
+PsCreateSystemProcess (PHANDLE ProcessHandle,
+                      ACCESS_MASK DesiredAccess,
+                      POBJECT_ATTRIBUTES ObjectAttributes);
+
+
+NTSTATUS STDCALL PsCreateWin32Process(struct _EPROCESS* Process);
+
+NTSTATUS STDCALL PsCreateWin32Thread(struct _ETHREAD* Thread);
+
+
+NTSTATUS
+STDCALL PsChargeProcessNonPagedPoolQuota (
+       IN PEPROCESS Process,
+    IN ULONG_PTR Amount
+       );
+
+
+NTSTATUS
+STDCALL PsChargeProcessPagedPoolQuota (
+       IN PEPROCESS Process,
+    IN ULONG_PTR Amount
+       );
+
+
+ULONG
+STDCALL PsGetCurrentProcessSessionId (
+    VOID
+       );
+
+
+KPROCESSOR_MODE
+STDCALL PsGetCurrentThreadPreviousMode (
+    VOID
+       );
+
+
+PVOID
+STDCALL PsGetCurrentThreadStackBase (
+    VOID
+       );
+
+
+PVOID
+STDCALL PsGetCurrentThreadStackLimit (
+    VOID
+       );
+
+
+PVOID
+STDCALL PsGetJobLock(
+    PEJOB      Job
+       );
+
+
+PVOID
+STDCALL PsGetJobSessionId(
+    PEJOB      Job
+       );
+
+
+ULONG
+STDCALL PsGetJobUIRestrictionsClass(
+       PEJOB   Job
+       );
+
+
+LONGLONG
+STDCALL PsGetProcessCreateTimeQuadPart(
+    PEPROCESS  Process
+       );
+
+
+PVOID
+STDCALL PsGetProcessDebugPort(
+    PEPROCESS  Process
+       );
+
+
+BOOLEAN
+STDCALL PsGetProcessExitProcessCalled(
+    PEPROCESS  Process
+       );
+
+
+NTSTATUS
+STDCALL PsGetProcessExitStatus(
+       PEPROCESS Process
+       );
+
+
+HANDLE
+STDCALL PsGetProcessId(
+       PEPROCESS       Process
+       );
+
+
+LPSTR
+STDCALL PsGetProcessImageFileName(
+    PEPROCESS  Process
+       );
+
+
+HANDLE
+STDCALL PsGetProcessInheritedFromUniqueProcessId(
+       PEPROCESS       Process
+       );
+
+
+PEJOB
+STDCALL PsGetProcessJob(
+       PEPROCESS Process
+       );
+
+
+PPEB
+STDCALL PsGetProcessPeb(
+    PEPROCESS  Process
+       );
+
+
+ULONG
+STDCALL PsGetProcessPriorityClass(
+    PEPROCESS  Process
+       );
+
+
+PVOID
+STDCALL PsGetProcessSectionBaseAddress(
+    PEPROCESS  Process
+       );
+
+
+PVOID
+STDCALL PsGetProcessSecurityPort(
+       PEPROCESS Process
+       );
+
+
+HANDLE
+STDCALL PsGetProcessSessionId(
+    PEPROCESS  Process
+       );
+
+
+PVOID
+STDCALL PsGetProcessWin32Process(
+       PEPROCESS Process
+       );
+
+
+PVOID
+STDCALL PsGetProcessWin32WindowStation(
+    PEPROCESS  Process
+       );
+
+
+ULONG
+STDCALL PsGetThreadFreezeCount(
+       struct _ETHREAD* Thread
+       );
+
+
+BOOLEAN
+STDCALL PsGetThreadHardErrorsAreDisabled(
+    struct _ETHREAD*   Thread
+       );
+
+
+HANDLE
+STDCALL PsGetThreadId(
+    struct _ETHREAD*   Thread
+       );
+
+
+PEPROCESS
+STDCALL PsGetThreadProcess(
+    struct _ETHREAD*   Thread
+       );
+
+
+HANDLE
+STDCALL PsGetThreadProcessId(
+    struct _ETHREAD*   Thread
+       );
+
+
+HANDLE
+STDCALL PsGetThreadSessionId(
+    struct _ETHREAD*   Thread
+       );
+
+
+PTEB
+STDCALL PsGetThreadTeb(
+    struct _ETHREAD*   Thread
+       );
+
+
+PVOID
+STDCALL PsGetThreadWin32Thread(
+    struct _ETHREAD*   Thread
+       );
+
+
+BOOLEAN
+STDCALL PsIsProcessBeingDebugged(
+    PEPROCESS  Process
+       );
+
+
+BOOLEAN
+STDCALL PsIsThreadImpersonating(
+    struct _ETHREAD*   Thread
+       );
+
+
+VOID
+STDCALL PsReturnProcessNonPagedPoolQuota(
+    IN PEPROCESS Process,
+    IN ULONG_PTR Amount
+    );
+
+
+VOID
+STDCALL PsReturnProcessPagedPoolQuota(
+    IN PEPROCESS Process,
+    IN ULONG_PTR Amount
+    );
+
+
+VOID
+STDCALL
+PsRevertThreadToSelf(
+       IN struct _ETHREAD* Thread
+       );
+
+
+VOID
+STDCALL PsSetJobUIRestrictionsClass(
+    PEJOB      Job,
+    ULONG      UIRestrictionsClass     
+       );
+
+
+ULONG 
+STDCALL PsSetLegoNotifyRoutine(
+       PVOID LegoNotifyRoutine          
+       );
+
+
+VOID
+STDCALL PsSetProcessPriorityClass(
+    PEPROCESS  Process,
+    ULONG      PriorityClass   
+       );
+
+
+VOID
+STDCALL PsSetProcessSecurityPort(
+    PEPROCESS  Process,
+    PVOID      SecurityPort    
+       );
+
+
+VOID
+STDCALL PsSetProcessWin32Process(
+    PEPROCESS  Process,
+    PVOID      Win32Process
+       );
+
+
+VOID
+STDCALL PsSetProcessWin32WindowStation(
+    PEPROCESS  Process,
+    PVOID      WindowStation
+       );
+
+
+VOID
+STDCALL PsSetThreadHardErrorsAreDisabled(
+    struct _ETHREAD*   Thread,
+    BOOLEAN    HardErrorsAreDisabled
+       );
+
+
+VOID
+STDCALL PsSetThreadWin32Thread(
+    struct _ETHREAD*   Thread,
+    PVOID      Win32Thread
+       );
+
+
+struct _W32_OBJECT_CALLBACK;
+
+
+VOID STDCALL
+STDCALL PsEstablishWin32Callouts (PW32_PROCESS_CALLBACK W32ProcessCallback,
+                         PW32_THREAD_CALLBACK W32ThreadCallback,
+                         struct _W32_OBJECT_CALLBACK *W32ObjectCallback,
+                         PVOID Param4,
+                         ULONG W32ThreadSize,
+                         ULONG W32ProcessSize);
+
+
+NTSTATUS STDCALL PsLookupProcessByProcessId(IN HANDLE ProcessId,
+                                           OUT PEPROCESS *Process);
+
+
+NTSTATUS STDCALL PsLookupProcessThreadByCid(IN PCLIENT_ID Cid,
+                                           OUT PEPROCESS *Process OPTIONAL,
+                                           OUT struct _ETHREAD **Thread);
+                                        /* OUT PETHREAD *Thread); */
+
+NTSTATUS STDCALL PsLookupThreadByThreadId(IN HANDLE ThreadId,
+                                         OUT struct _ETHREAD **Thread);
+                                       /* OUT PETHREAD *Thread); */
+
+#endif /* NTOS_MODE_KERNEL */
+
 #endif /* __INCLUDE_PS_H */
index 0c57dec..b995463 100644 (file)
 #include <win32k/debug1.h>
 #include <debug.h>
 
-#ifdef __USE_W32API
-typedef NTSTATUS (STDCALL *PW32_PROCESS_CALLBACK)(
-   struct _EPROCESS *Process,
-   BOOLEAN Create);
-
-typedef NTSTATUS (STDCALL *PW32_THREAD_CALLBACK)(
-   struct _ETHREAD *Thread,
-   BOOLEAN Create);
-
-VOID STDCALL
-PsEstablishWin32Callouts(
-   PW32_PROCESS_CALLBACK W32ProcessCallback,
-   PW32_THREAD_CALLBACK W32ThreadCallback,
-   PW32_OBJECT_CALLBACK W32ObjectCallback,
-   PVOID Param4,
-   ULONG W32ThreadSize,
-   ULONG W32ProcessSize);
-#endif
-
 BOOL INTERNAL_CALL GDI_CleanupForProcess (struct _EPROCESS *Process);
 
 extern SSDT Win32kSSDT[];