1 /* 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) 7 */ 8 9 #ifndef __CONSRV_H__ 10 #define __CONSRV_H__ 11 12 /* Main header */ 13 #include "../winsrv.h" 14 15 #include <strsafe.h> 16 17 /* PSDK/NDK Headers */ 18 #define WIN32_NO_STATUS 19 #define _INC_WINDOWS 20 #define COM_NO_WINDOWS_H 21 22 #include <winnls.h> 23 #include <wincon.h> 24 25 #define NTOS_MODE_USER 26 #include <ndk/mmfuncs.h> 27 28 /* CONSOLE Headers */ 29 #include <win/conmsg.h> 30 31 /* Heap Helpers */ 32 #include "heap.h" 33 34 /* Globals */ 35 extern HINSTANCE ConSrvDllInstance; 36 37 #define ConsoleGetPerProcessData(Process) \ 38 ((PCONSOLE_PROCESS_DATA)((Process)->ServerData[CONSRV_SERVERDLL_INDEX])) 39 40 typedef struct _CONSOLE_PROCESS_DATA 41 { 42 LIST_ENTRY ConsoleLink; 43 PCSR_PROCESS Process; // Process owning this structure. 44 45 HANDLE ConsoleHandle; 46 BOOLEAN ConsoleApp; // TRUE if it is a CUI app, FALSE otherwise. 47 48 RTL_CRITICAL_SECTION HandleTableLock; 49 ULONG HandleTableSize; 50 struct _CONSOLE_IO_HANDLE* /* PCONSOLE_IO_HANDLE */ HandleTable; // Length-varying table 51 52 LPTHREAD_START_ROUTINE CtrlRoutine; 53 LPTHREAD_START_ROUTINE PropRoutine; // We hold the property dialog handler there, till all the GUI thingie moves out from CSRSS. 54 // LPTHREAD_START_ROUTINE ImeRoutine; 55 } CONSOLE_PROCESS_DATA, *PCONSOLE_PROCESS_DATA; 56 57 typedef struct ConsoleInput_t 58 { 59 LIST_ENTRY ListEntry; 60 INPUT_RECORD InputEvent; 61 } ConsoleInput; 62 63 // Helper for code refactoring 64 // #define USE_NEW_CONSOLE_WAY 65 66 #ifndef USE_NEW_CONSOLE_WAY 67 #include "include/conio.h" 68 #else 69 #include "include/conio_winsrv.h" 70 #endif 71 72 #include "include/console.h" 73 #include "include/settings.h" 74 #include "include/term.h" 75 #include "console.h" 76 #include "conoutput.h" 77 #include "handle.h" 78 #include "lineinput.h" 79 80 /* shutdown.c */ 81 ULONG 82 NTAPI 83 ConsoleClientShutdown(IN PCSR_PROCESS CsrProcess, 84 IN ULONG Flags, 85 IN BOOLEAN FirstPhase); 86 87 #endif /* __CONSRV_H__ */ 88