Move non-DDK Ps* function prototypes and types from ROS DDK to NTOS headers. Modified: trunk/reactos/include/ddk/psfuncs.h Modified: trunk/reactos/include/ddk/pstypes.h Modified: trunk/reactos/include/ntos/ps.h Modified: trunk/reactos/subsys/win32k/main/dllmain.c _____
Modified: trunk/reactos/include/ddk/psfuncs.h --- trunk/reactos/include/ddk/psfuncs.h 2005-06-18 16:21:46 UTC (rev 16048) +++ trunk/reactos/include/ddk/psfuncs.h 2005-06-18 16:53:34 UTC (rev 16049) @@ -45,14 +45,6 @@
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, @@ -61,18 +53,6 @@ );
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, IN POOL_TYPE PoolType, @@ -95,174 +75,11 @@ 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 @@ 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 @@ 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 @@ 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); _____
Modified: trunk/reactos/include/ddk/pstypes.h --- trunk/reactos/include/ddk/pstypes.h 2005-06-18 16:21:46 UTC (rev 16048) +++ trunk/reactos/include/ddk/pstypes.h 2005-06-18 16:53:34 UTC (rev 16049) @@ -22,7 +22,6 @@
struct _KTHREAD; struct _EJOB;
-typedef struct _EJOB *PEJOB; typedef struct _KTHREAD *PKTHREAD, *PRKTHREAD;
typedef struct _IMAGE_INFO { @@ -59,14 +58,6 @@ 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; _____
Modified: trunk/reactos/include/ntos/ps.h --- trunk/reactos/include/ntos/ps.h 2005-06-18 16:21:46 UTC (rev 16048) +++ trunk/reactos/include/ntos/ps.h 2005-06-18 16:53:34 UTC (rev 16049) @@ -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) @@ -42,12 +44,14 @@ #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) @@ -103,6 +107,8 @@
#endif /* !__USE_W32API */
+#ifdef NTOS_MODE_KERNEL + #ifdef __NTOSKRNL__ #ifdef __GNUC__ extern struct _EPROCESS* EXPORTED PsInitialSystemProcess; @@ -122,4 +128,334 @@ #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 */ _____
Modified: trunk/reactos/subsys/win32k/main/dllmain.c --- trunk/reactos/subsys/win32k/main/dllmain.c 2005-06-18 16:21:46 UTC (rev 16048) +++ trunk/reactos/subsys/win32k/main/dllmain.c 2005-06-18 16:53:34 UTC (rev 16049) @@ -26,25 +26,6 @@
#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[];