ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

#include <ndk/psfuncs.h>
#include <ndk/rtlfuncs.h>
#include <csrss/csrss.h>

Go to the source code of this file.

Data Structures

struct  PCSRSS_CON_PROCESS_DATA
struct  PCSR_NT_SESSION
struct  PCSR_PROCESS
struct  PCSR_THREAD
struct  PCSR_WAIT_BLOCK
struct  PCSR_SERVER_DLL
struct  PCSRSS_API_DEFINITION
struct  PCSRSS_LISTEN_DATA

Defines

#define NTOS_MODE_USER
#define CSR_SRV_SERVER   0
#define CSR_SERVER_DLL_MAX   4
#define LOCK   RtlEnterCriticalSection(&ProcessDataLock)
#define UNLOCK   RtlLeaveCriticalSection(&ProcessDataLock)
#define CsrAcquireProcessLock()   LOCK
#define CsrReleaseProcessLock()   UNLOCK
#define ProcessStructureListLocked()   (ProcessDataLock.OwningThread == NtCurrentTeb()->ClientId.UniqueThread)
#define CsrAcquireWaitLock()   RtlEnterCriticalSection(&CsrWaitListsLock);
#define CsrReleaseWaitLock()   RtlLeaveCriticalSection(&CsrWaitListsLock);
#define CsrAcquireNtSessionLock()   RtlEnterCriticalSection(&CsrNtSessionLock);
#define CsrReleaseNtSessionLock()   RtlLeaveCriticalSection(&CsrNtSessionLock);
#define CsrProcessPriorityFlags
#define CSRSS_DEFINE_API(Func, Handler)   { Func, sizeof(CSRSS_##Func), Handler }
#define CSR_API(n)

Typedefs

typedef enum _CSR_THREAD_FLAGS * PCSR_THREAD_FLAGS
typedef enum _SHUTDOWN_RESULT * PSHUTDOWN_RESULT
typedef enum _CSR_SHUTDOWN_FLAGS * PCSR_SHUTDOWN_FLAGS
typedef enum _CSR_DEBUG_FLAGS * PCSR_PROCESS_DEBUG_FLAGS
typedef enum _CSR_PROCESS_FLAGS * PCSR_PROCESS_FLAGS
typedef BOOLEAN(* CSR_WAIT_FUNCTION )(IN PLIST_ENTRY WaitList, IN PCSR_THREAD WaitThread, IN PCSR_API_MESSAGE WaitApiMessage, IN PVOID WaitContext, IN PVOID WaitArgument1, IN PVOID WaitArgument2, IN ULONG WaitFlags)
typedef NTSTATUS(NTAPIPCSR_CONNECT_CALLBACK )(IN PCSR_PROCESS CsrProcess, IN OUT PVOID ConnectionInfo, IN OUT PULONG ConnectionInfoLength)
typedef VOID(NTAPIPCSR_DISCONNECT_CALLBACK )(IN PCSR_PROCESS CsrProcess)
typedef NTSTATUS(NTAPIPCSR_NEWPROCESS_CALLBACK )(IN PCSR_PROCESS Parent, IN PCSR_PROCESS CsrProcess)
typedef VOID(NTAPIPCSR_HARDERROR_CALLBACK )(IN PCSR_THREAD CsrThread, IN PHARDERROR_MSG HardErrorMessage)
typedef ULONG(NTAPIPCSR_SHUTDOWNPROCESS_CALLBACK )(IN PCSR_PROCESS CsrProcess, IN ULONG Flags, IN BOOLEAN FirstPhase)
typedef NTSTATUS(NTAPIPCSR_API_ROUTINE )(IN OUT PCSR_API_MESSAGE ApiMessage, IN OUT PULONG Reply)
typedef NTSTATUS(NTAPIPCSR_SERVER_DLL_INIT_CALLBACK )(IN PCSR_SERVER_DLL ServerDll)
typedef NTSTATUS(WINAPICSRSS_API_PROC )(PCSR_PROCESS ProcessData, PCSR_API_MESSAGE Request)
typedef NTSTATUS(WINAPICSRSS_ENUM_PROCESS_PROC )(PCSR_PROCESS ProcessData, PVOID Context)

Enumerations

enum  CSR_THREAD_FLAGS {
  CsrThreadAltertable = 0x1, CsrThreadInTermination = 0x2, CsrThreadTerminated = 0x4, CsrThreadIsServerThread = 0x10,
  CsrThreadAltertable = 0x1, CsrThreadInTermination = 0x2, CsrThreadTerminated = 0x4, CsrThreadIsServerThread = 0x10
}
enum  SHUTDOWN_RESULT {
  CsrShutdownCsrProcess = 1, CsrShutdownNonCsrProcess, CsrShutdownCancelled, CsrShutdownCsrProcess = 1,
  CsrShutdownNonCsrProcess, CsrShutdownCancelled
}
enum  CSR_SHUTDOWN_FLAGS { CsrShutdownSystem = 4, CsrShutdownOther = 8, CsrShutdownSystem = 4, CsrShutdownOther = 8 }
enum  CSR_PROCESS_DEBUG_FLAGS { CsrDebugOnlyThisProcess = 1, CsrDebugProcessChildren = 2, CsrDebugOnlyThisProcess = 1, CsrDebugProcessChildren = 2 }
enum  CSR_PROCESS_FLAGS {
  CsrProcessTerminating = 0x1, CsrProcessSkipShutdown = 0x2, CsrProcessNormalPriority = 0x10, CsrProcessIdlePriority = 0x20,
  CsrProcessHighPriority = 0x40, CsrProcessRealtimePriority = 0x80, CsrProcessCreateNewGroup = 0x100, CsrProcessTerminated = 0x200,
  CsrProcessLastThreadTerminated = 0x400, CsrProcessIsConsoleApp = 0x800, CsrProcessTerminating = 0x1, CsrProcessSkipShutdown = 0x2,
  CsrProcessNormalPriority = 0x10, CsrProcessIdlePriority = 0x20, CsrProcessHighPriority = 0x40, CsrProcessRealtimePriority = 0x80,
  CsrProcessCreateNewGroup = 0x100, CsrProcessTerminated = 0x200, CsrProcessLastThreadTerminated = 0x400, CsrProcessIsConsoleApp = 0x800
}

Functions

NTSTATUS NTAPI CsrServerInitialization (ULONG ArgumentCount, PCHAR Arguments[])
 CSR_API (CsrConnectProcess)
 CSR_API (CsrSrvCreateProcess)
 CSR_API (CsrTerminateProcess)
 CSR_API (CsrSrvCreateThread)
 CSR_API (CsrGetShutdownParameters)
 CSR_API (CsrSetShutdownParameters)
VOID NTAPI CsrSetBackgroundPriority (IN PCSR_PROCESS CsrProcess)
PCSR_THREAD NTAPI CsrAllocateThread (IN PCSR_PROCESS CsrProcess)
PCSR_PROCESS NTAPI CsrAllocateProcess (VOID)
VOID NTAPI CsrDeallocateProcess (IN PCSR_PROCESS CsrProcess)
VOID NTAPI CsrRemoveProcess (IN PCSR_PROCESS CsrProcess)
VOID NTAPI CsrDereferenceThread (IN PCSR_THREAD CsrThread)
VOID NTAPI CsrInsertProcess (IN PCSR_PROCESS Parent OPTIONAL, IN PCSR_PROCESS CurrentProcess OPTIONAL, IN PCSR_PROCESS CsrProcess)
NTSTATUS FASTCALL CsrApiRegisterDefinitions (PCSRSS_API_DEFINITION NewDefinitions)
VOID FASTCALL CsrApiCallHandler (PCSR_PROCESS ProcessData, PCSR_API_MESSAGE Request)
VOID WINAPI CsrSbApiRequestThread (PVOID PortHandle)
VOID NTAPI ClientConnectionThread (HANDLE ServerPort)
VOID NTAPI CsrReleaseCapturedArguments (IN PCSR_API_MESSAGE ApiMessage)
NTSTATUS NTAPI CsrApiPortInitialize (VOID)
NTSTATUS NTAPI CsrCreateProcess (IN HANDLE hProcess, IN HANDLE hThread, IN PCLIENT_ID ClientId, IN PCSR_NT_SESSION NtSession, IN ULONG Flags, IN PCLIENT_ID DebugCid)
BOOLEAN NTAPI ProtectHandle (IN HANDLE ObjectHandle)
VOID NTAPI CsrInsertThread (IN PCSR_PROCESS Process, IN PCSR_THREAD Thread)
VOID NTAPI CsrLockedReferenceThread (IN PCSR_THREAD CsrThread)
NTSTATUS WINAPI CsrInitializeProcessStructure (VOID)
NTSTATUS WINAPI CsrEnumProcesses (CSRSS_ENUM_PROCESS_PROC EnumProc, PVOID Context)
PCSR_THREAD NTAPI CsrAddStaticServerThread (IN HANDLE hThread, IN PCLIENT_ID ClientId, IN ULONG ThreadFlags)
PCSR_THREAD NTAPI CsrLocateThreadInProcess (IN PCSR_PROCESS CsrProcess OPTIONAL, IN PCLIENT_ID Cid)
PCSR_THREAD NTAPI CsrLocateThreadByClientId (OUT PCSR_PROCESS *Process OPTIONAL, IN PCLIENT_ID ClientId)
NTSTATUS NTAPI CsrLockProcessByClientId (IN HANDLE Pid, OUT PCSR_PROCESS *CsrProcess OPTIONAL)
NTSTATUS NTAPI CsrCreateThread (IN PCSR_PROCESS CsrProcess, IN HANDLE hThread, IN PCLIENT_ID ClientId)
NTSTATUS NTAPI CsrUnlockProcess (IN PCSR_PROCESS CsrProcess)
VOID NTAPI CsrThreadRefcountZero (IN PCSR_THREAD CsrThread)
NTSTATUS NTAPI CsrInitializeNtSessionList (VOID)
NTSTATUS NTAPI CsrSrvAttachSharedSection (IN PCSR_PROCESS CsrProcess OPTIONAL, OUT PCSR_CONNECTION_INFO ConnectInfo)
NTSTATUS NTAPI CsrSrvCreateSharedSection (IN PCHAR ParameterValue)
NTSTATUS NTAPI CsrSrvClientConnect (IN OUT PCSR_API_MESSAGE ApiMessage, IN OUT PULONG Reply)
NTSTATUS NTAPI CsrSrvUnusedFunction (IN OUT PCSR_API_MESSAGE ApiMessage, IN OUT PULONG Reply)
NTSTATUS NTAPI CsrSrvIdentifyAlertableThread (IN OUT PCSR_API_MESSAGE ApiMessage, IN OUT PULONG Reply)
NTSTATUS NTAPI CsrSrvSetPriorityClass (IN OUT PCSR_API_MESSAGE ApiMessage, IN OUT PULONG Reply)
NTSTATUS NTAPI CsrDestroyProcess (IN PCLIENT_ID Cid, IN NTSTATUS ExitStatus)
NTSTATUS NTAPI CsrDestroyThread (IN PCLIENT_ID Cid)
VOID NTAPI CsrLockedDereferenceThread (IN PCSR_THREAD CsrThread)
BOOLEAN NTAPI CsrNotifyWaitBlock (IN PCSR_WAIT_BLOCK WaitBlock, IN PLIST_ENTRY WaitList, IN PVOID WaitArgument1, IN PVOID WaitArgument2, IN ULONG WaitFlags, IN BOOLEAN DereferenceThread)
VOID NTAPI CsrReferenceNtSession (IN PCSR_NT_SESSION Session)
LONG NTAPI CsrUnhandledExceptionFilter (IN PEXCEPTION_POINTERS ExceptionInfo)
VOID NTAPI CsrDereferenceNtSession (IN PCSR_NT_SESSION Session, IN NTSTATUS ExitStatus)
VOID NTAPI CsrLockedDereferenceProcess (PCSR_PROCESS CsrProcess)
VOID NTAPI CsrDereferenceProcess (IN PCSR_PROCESS CsrProcess)
NTSTATUS NTAPI CsrLoadServerDll (IN PCHAR DllString, IN PCHAR EntryPoint OPTIONAL, IN ULONG ServerId)
 CSR_API (CsrRegisterServicesProcess)

Variables

HANDLE hBootstrapOk
HANDLE CsrApiPort
HANDLE CsrSmApiPort
HANDLE CsrSbApiPort
LIST_ENTRY CsrThreadHashTable [256]
PCSR_PROCESS CsrRootProcess
RTL_CRITICAL_SECTION ProcessDataLock
RTL_CRITICAL_SECTION CsrWaitListsLock
UNICODE_STRING CsrDirectoryName
ULONG CsrDebug
ULONG CsrTotalPerProcessDataLength
SYSTEM_BASIC_INFORMATION CsrNtSysInfo
PVOID CsrSrvSharedSectionHeap
PVOIDCsrSrvSharedStaticServerData
HANDLE CsrInitializationEvent
PCSR_SERVER_DLL CsrLoadedServerDll [CSR_SERVER_DLL_MAX]
ULONG CsrMaxApiRequestThreads

Generated on Sun May 27 2012 05:57:45 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.