mirror of
https://github.com/reactos/reactos.git
synced 2024-07-30 16:18:43 +00:00
Fixed Ps macros
svn path=/trunk/; revision=1218
This commit is contained in:
parent
6abd233802
commit
83e4b66c10
|
@ -1,18 +1,15 @@
|
||||||
/* $Id: psfuncs.h,v 1.7 2000/06/03 21:33:57 ekohl Exp $
|
/* $Id: psfuncs.h,v 1.8 2000/07/01 22:36:53 ekohl Exp $
|
||||||
*/
|
*/
|
||||||
#ifndef _INCLUDE_DDK_PSFUNCS_H
|
#ifndef _INCLUDE_DDK_PSFUNCS_H
|
||||||
#define _INCLUDE_DDK_PSFUNCS_H
|
#define _INCLUDE_DDK_PSFUNCS_H
|
||||||
|
|
||||||
PACCESS_TOKEN PsReferenceEffectiveToken(PETHREAD Thread,
|
|
||||||
PTOKEN_TYPE TokenType,
|
|
||||||
PUCHAR b,
|
|
||||||
PSECURITY_IMPERSONATION_LEVEL Level);
|
|
||||||
|
|
||||||
NTSTATUS PsOpenTokenOfProcess(HANDLE ProcessHandle,
|
NTSTATUS
|
||||||
PACCESS_TOKEN* Token);
|
STDCALL
|
||||||
|
PsAssignImpersonationToken (
|
||||||
HANDLE STDCALL PsGetCurrentProcessId(VOID);
|
PETHREAD Thread,
|
||||||
HANDLE STDCALL PsGetCurrentThreadId(VOID);
|
HANDLE TokenHandle
|
||||||
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Creates a thread which executes in kernel mode
|
* FUNCTION: Creates a thread which executes in kernel mode
|
||||||
|
@ -30,37 +27,47 @@ HANDLE STDCALL PsGetCurrentThreadId(VOID);
|
||||||
* execution
|
* execution
|
||||||
* RETURNS: Success or failure status
|
* RETURNS: Success or failure status
|
||||||
*/
|
*/
|
||||||
NTSTATUS STDCALL PsCreateSystemThread(PHANDLE ThreadHandle,
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
PsCreateSystemThread (
|
||||||
|
PHANDLE ThreadHandle,
|
||||||
ACCESS_MASK DesiredAccess,
|
ACCESS_MASK DesiredAccess,
|
||||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||||
HANDLE ProcessHandle,
|
HANDLE ProcessHandle,
|
||||||
PCLIENT_ID ClientId,
|
PCLIENT_ID ClientId,
|
||||||
PKSTART_ROUTINE StartRoutine,
|
PKSTART_ROUTINE StartRoutine,
|
||||||
PVOID StartContext);
|
PVOID StartContext
|
||||||
NTSTATUS STDCALL PsTerminateSystemThread(NTSTATUS ExitStatus);
|
);
|
||||||
ULONG PsSuspendThread(PETHREAD Thread,
|
|
||||||
PNTSTATUS WaitStatus,
|
|
||||||
UCHAR Alertable,
|
|
||||||
ULONG WaitMode);
|
|
||||||
ULONG PsResumeThread(PETHREAD Thread,
|
|
||||||
PNTSTATUS WaitStatus);
|
|
||||||
PETHREAD PsGetCurrentThread(VOID);
|
|
||||||
struct _EPROCESS* PsGetCurrentProcess(VOID);
|
|
||||||
PACCESS_TOKEN STDCALL PsReferenceImpersonationToken(PETHREAD Thread,
|
|
||||||
PULONG Unknown1,
|
|
||||||
PULONG Unknown2,
|
|
||||||
SECURITY_IMPERSONATION_LEVEL*
|
|
||||||
Level);
|
|
||||||
PACCESS_TOKEN STDCALL PsReferencePrimaryToken(PEPROCESS Process);
|
|
||||||
NTSTATUS STDCALL PsAssignImpersonationToken(PETHREAD Thread,
|
|
||||||
HANDLE TokenHandle);
|
|
||||||
|
|
||||||
VOID STDCALL PsImpersonateClient(PETHREAD Thread,
|
/*
|
||||||
PACCESS_TOKEN Token,
|
* PEPROCESS
|
||||||
UCHAR b,
|
* PsGetCurrentProcess (
|
||||||
UCHAR c,
|
* VOID
|
||||||
SECURITY_IMPERSONATION_LEVEL Level);
|
* );
|
||||||
VOID STDCALL PsRevertToSelf(PETHREAD Thread);
|
*/
|
||||||
|
#define PsGetCurrentProcess() \
|
||||||
|
(IoGetCurrentProcess ())
|
||||||
|
|
||||||
|
HANDLE
|
||||||
|
STDCALL
|
||||||
|
PsGetCurrentProcessId (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PETHREAD
|
||||||
|
* PsGetCurrentThread (
|
||||||
|
* VOID
|
||||||
|
* );
|
||||||
|
*/
|
||||||
|
#define PsGetCurrentThread() \
|
||||||
|
((PETHREAD)KeGetCurrentThread ())
|
||||||
|
|
||||||
|
HANDLE
|
||||||
|
STDCALL
|
||||||
|
PsGetCurrentThreadId (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
STDCALL
|
STDCALL
|
||||||
|
@ -71,6 +78,52 @@ PsGetVersion (
|
||||||
PUNICODE_STRING CSDVersion OPTIONAL
|
PUNICODE_STRING CSDVersion OPTIONAL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
PsImpersonateClient (
|
||||||
|
PETHREAD Thread,
|
||||||
|
PACCESS_TOKEN Token,
|
||||||
|
UCHAR b,
|
||||||
|
UCHAR c,
|
||||||
|
SECURITY_IMPERSONATION_LEVEL Level
|
||||||
|
);
|
||||||
|
|
||||||
|
PACCESS_TOKEN
|
||||||
|
STDCALL
|
||||||
|
PsReferenceImpersonationToken (
|
||||||
|
PETHREAD Thread,
|
||||||
|
PULONG Unknown1,
|
||||||
|
PULONG Unknown2,
|
||||||
|
SECURITY_IMPERSONATION_LEVEL * Level
|
||||||
|
);
|
||||||
|
|
||||||
|
PACCESS_TOKEN
|
||||||
|
STDCALL
|
||||||
|
PsReferencePrimaryToken (
|
||||||
|
PEPROCESS Process
|
||||||
|
);
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* FIXME: This is the correct prototype */
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
PsRevertToSelf (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
VOID
|
||||||
|
STDCALL
|
||||||
|
PsRevertToSelf (
|
||||||
|
PETHREAD Thread
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
PsTerminateSystemThread (
|
||||||
|
NTSTATUS ExitStatus
|
||||||
|
);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -35,6 +35,22 @@ NTSTATUS PsInitializeThread(HANDLE ProcessHandle,
|
||||||
ACCESS_MASK DesiredAccess,
|
ACCESS_MASK DesiredAccess,
|
||||||
POBJECT_ATTRIBUTES ObjectAttributes);
|
POBJECT_ATTRIBUTES ObjectAttributes);
|
||||||
|
|
||||||
|
PACCESS_TOKEN PsReferenceEffectiveToken(PETHREAD Thread,
|
||||||
|
PTOKEN_TYPE TokenType,
|
||||||
|
PUCHAR b,
|
||||||
|
PSECURITY_IMPERSONATION_LEVEL Level);
|
||||||
|
|
||||||
|
NTSTATUS PsOpenTokenOfProcess(HANDLE ProcessHandle,
|
||||||
|
PACCESS_TOKEN* Token);
|
||||||
|
|
||||||
|
ULONG PsSuspendThread(PETHREAD Thread,
|
||||||
|
PNTSTATUS WaitStatus,
|
||||||
|
UCHAR Alertable,
|
||||||
|
ULONG WaitMode);
|
||||||
|
ULONG PsResumeThread(PETHREAD Thread,
|
||||||
|
PNTSTATUS WaitStatus);
|
||||||
|
|
||||||
|
|
||||||
#define THREAD_STATE_INVALID (0)
|
#define THREAD_STATE_INVALID (0)
|
||||||
#define THREAD_STATE_RUNNABLE (1)
|
#define THREAD_STATE_RUNNABLE (1)
|
||||||
#define THREAD_STATE_RUNNING (2)
|
#define THREAD_STATE_RUNNING (2)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: process.c,v 1.6 2000/06/12 14:57:10 ekohl Exp $
|
/* $Id: process.c,v 1.7 2000/07/01 22:37:41 ekohl Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -17,16 +17,6 @@
|
||||||
|
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
PEPROCESS
|
|
||||||
STDCALL
|
|
||||||
IoGetCurrentProcess (
|
|
||||||
VOID
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return (PsGetCurrentProcess());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
PVOID
|
PVOID
|
||||||
STDCALL
|
STDCALL
|
||||||
IoGetInitialStack (
|
IoGetInitialStack (
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: process.c,v 1.46 2000/06/29 23:35:44 dwelch Exp $
|
/* $Id: process.c,v 1.47 2000/07/01 22:37:28 ekohl Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -285,10 +285,14 @@ HANDLE STDCALL PsGetCurrentProcessId(VOID)
|
||||||
return((HANDLE)PsGetCurrentProcess()->UniqueProcessId);
|
return((HANDLE)PsGetCurrentProcess()->UniqueProcessId);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct _EPROCESS* PsGetCurrentProcess(VOID)
|
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Returns a pointer to the current process
|
* FUNCTION: Returns a pointer to the current process
|
||||||
*/
|
*/
|
||||||
|
PEPROCESS
|
||||||
|
STDCALL
|
||||||
|
IoGetCurrentProcess (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
{
|
{
|
||||||
if (PsGetCurrentThread() == NULL ||
|
if (PsGetCurrentThread() == NULL ||
|
||||||
PsGetCurrentThread()->ThreadsProcess == NULL)
|
PsGetCurrentThread()->ThreadsProcess == NULL)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: thread.c,v 1.49 2000/06/27 19:20:45 dwelch Exp $
|
/* $Id: thread.c,v 1.50 2000/07/01 22:37:28 ekohl Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -115,12 +115,18 @@ KeGetCurrentThread (
|
||||||
return(&(CurrentThread->Tcb));
|
return(&(CurrentThread->Tcb));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
PETHREAD PsGetCurrentThread(VOID)
|
PETHREAD PsGetCurrentThread(VOID)
|
||||||
{
|
{
|
||||||
return(CurrentThread);
|
return(CurrentThread);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
HANDLE STDCALL PsGetCurrentThreadId(VOID)
|
HANDLE
|
||||||
|
STDCALL
|
||||||
|
PsGetCurrentThreadId (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
{
|
{
|
||||||
return(CurrentThread->Cid.UniqueThread);
|
return(CurrentThread->Cid.UniqueThread);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: token.c,v 1.7 2000/06/29 23:35:45 dwelch Exp $
|
/* $Id: token.c,v 1.8 2000/07/01 22:38:15 ekohl Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <ddk/ntddk.h>
|
#include <ddk/ntddk.h>
|
||||||
|
#include <internal/ps.h>
|
||||||
|
|
||||||
#include <internal/debug.h>
|
#include <internal/debug.h>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue