reactos/reactos/subsys/csr/csrsrv/srv.h
Emanuele Aliberti 6d095fd4bb CSR Reloaded... well, split.
- almost do-nothing base source code for new CSR server DLLs host
- base source code for the core CSR server DLL 'csrsrv.dll' (server 0)
- base source code for the base WIN server DLL 'basesrv.dll' (server 1)
- base source code for the console+user WIN server DLL 'winsrv.dll' (servers 3 and 2)


NOTES
- At present, nothing works, but compilation is OK, sorry.
- The program is temporarily named 'csr.exe' to coexist with current monolithic 'csrss.exe'.
- Code, hints, suggestions, and migration plans welcome! (post 0.3)

svn path=/trunk/; revision=17323
2005-08-12 12:22:02 +00:00

72 lines
1.5 KiB
C

#if !defined(_INCLUDE_CSR_CSRSRV_SRV_H)
#define _INCLUDE_CSR_CSRSRV_SRV_H
/* PSDK/NDK Headers */
#include <stdio.h>
#include <windows.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
/* CSR Headers */
#include <csr/server.h>
/* Maximum number of hosted servers, included the one in csrsrv.dll */
#define CSR_SERVER_DLL_MAX 4
typedef enum {
CSRSST_NONE=0,
CSRSST_TEXT,
CSRSST_WINDOWS,
CSRSST_MAX
} CSR_SUBSYSTEM_TYPE, * PCSR_SUBSYSTEM_TYPE;
typedef struct _CSR_SERVER_DLL
{
USHORT ServerIndex;
USHORT Unused;
UNICODE_STRING DllName;
UNICODE_STRING DllEntryPoint;
} CSR_SERVER_DLL, * PCSR_SERVER_DLL;
/* dllmain.c */
extern HANDLE CsrSrvDllHandle;
/* process.c */
/* server.c */
typedef struct
{
struct {
UNICODE_STRING Root;
HANDLE RootHandle;
} NameSpace;
CSR_SUBSYSTEM_TYPE SubSystemType;
struct {
USHORT RequestCount;
USHORT MaxRequestCount;
} Threads;
struct {
BOOL ProfileControl;
BOOL Windows;
BOOL Sessions;
} Flag;
USHORT PortSharedSectionSize;
struct {
USHORT InteractiveDesktopHeapSize;
USHORT NonInteractiveDesktopHeapSize;
} Heap;
} CSRSRV_OPTION, * PCSRSRV_OPTION;
extern CSRSRV_OPTION CsrSrvOption;
extern HANDLE CsrSrvApiPortHandle;
NTSTATUS STDCALL CsrSrvRegisterServerDll (PCSR_SERVER_DLL);
NTSTATUS STDCALL CsrSrvBootstrap (VOID);
/* session.c */
NTSTATUS STDCALL CsrSrvInitializeSession (VOID);
#endif /* !def _INCLUDE_CSR_CSRSRV_SRV_H */