ReactOS  0.4.13-dev-247-g0f29b3f
consrv.h
Go to the documentation of this file.
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 */
36 
37 #define ConsoleGetPerProcessData(Process) \
38  ((PCONSOLE_PROCESS_DATA)((Process)->ServerData[CONSRV_SERVERDLL_INDEX]))
39 
40 typedef struct _CONSOLE_PROCESS_DATA
41 {
43  PCSR_PROCESS Process; // Process owning this structure.
44 
46  BOOLEAN ConsoleApp; // TRUE if it is a CUI app, FALSE otherwise.
47 
50  struct _CONSOLE_IO_HANDLE* /* PCONSOLE_IO_HANDLE */ HandleTable; // Length-varying table
51 
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;
56 
57 typedef struct ConsoleInput_t
58 {
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
84  IN ULONG Flags,
85  IN BOOLEAN FirstPhase);
86 
87 #endif /* __CONSRV_H__ */
HANDLE ConsoleHandle
Definition: consrv.h:45
#define IN
Definition: typedefs.h:38
DWORD(WINAPI * LPTHREAD_START_ROUTINE)(LPVOID)
Definition: winbase.h:707
LPTHREAD_START_ROUTINE CtrlRoutine
Definition: consrv.h:52
INPUT_RECORD InputEvent
Definition: consrv.h:60
LIST_ENTRY ConsoleLink
Definition: consrv.h:42
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
unsigned char BOOLEAN
BOOLEAN ConsoleApp
Definition: consrv.h:46
LIST_ENTRY ListEntry
Definition: consrv.h:59
PCSR_PROCESS Process
Definition: consrv.h:43
struct _CONSOLE_PROCESS_DATA * PCONSOLE_PROCESS_DATA
LPTHREAD_START_ROUTINE PropRoutine
Definition: consrv.h:53
Definition: typedefs.h:117
struct _CONSOLE_PROCESS_DATA CONSOLE_PROCESS_DATA
struct _CONSOLE_IO_HANDLE * HandleTable
Definition: consrv.h:50
HINSTANCE ConSrvDllInstance
Definition: init.c:21
ULONG NTAPI ConsoleClientShutdown(IN PCSR_PROCESS CsrProcess, IN ULONG Flags, IN BOOLEAN FirstPhase)
Definition: shutdown.c:73
unsigned int ULONG
Definition: retypes.h:1
ULONG HandleTableSize
Definition: consrv.h:49
struct ConsoleInput_t ConsoleInput
RTL_CRITICAL_SECTION HandleTableLock
Definition: consrv.h:48