2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Console Server DLL
4 * FILE: win32ss/user/winsrv/consrv/consrv.h
5 * PURPOSE: Main header - Definitions
6 * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
14 /* PSDK/NDK Headers */
16 #define WIN32_NO_STATUS
18 #define COM_NO_WINDOWS_H
26 #define NTOS_MODE_USER
27 #include <ndk/exfuncs.h>
28 #include <ndk/iofuncs.h>
29 #include <ndk/mmfuncs.h>
30 #include <ndk/obfuncs.h>
31 #include <ndk/psfuncs.h>
32 #include <ndk/setypes.h>
33 #include <ndk/rtlfuncs.h>
35 /* Public Win32K Headers */
38 /* PSEH for SEH Support */
39 #include <pseh/pseh2.h>
42 #include <csr/csrsrv.h>
45 #include <win/console.h>
46 #include <win/conmsg.h>
53 extern HINSTANCE ConSrvDllInstance
;
55 #define ConsoleGetPerProcessData(Process) \
56 ((PCONSOLE_PROCESS_DATA)((Process)->ServerData[CONSRV_SERVERDLL_INDEX]))
58 typedef struct _CONSOLE_PROCESS_DATA
60 LIST_ENTRY ConsoleLink
;
61 PCSR_PROCESS Process
; // Process owning this structure.
65 HANDLE ParentConsoleHandle
;
67 BOOL ConsoleApp
; // TRUE if it is a CUI app, FALSE otherwise.
69 RTL_CRITICAL_SECTION HandleTableLock
;
70 ULONG HandleTableSize
;
71 struct _CONSOLE_IO_HANDLE
* /* PCONSOLE_IO_HANDLE */ HandleTable
; // Length-varying table
73 LPTHREAD_START_ROUTINE CtrlDispatcher
;
74 LPTHREAD_START_ROUTINE PropDispatcher
; // We hold the property dialog handler there, till all the GUI thingie moves out from CSRSS.
75 } CONSOLE_PROCESS_DATA
, *PCONSOLE_PROCESS_DATA
;
77 #endif // __CONSRV_H__