[CSR/BASESRV/CONSRV/WINSRV]
[reactos.git] / win32ss / user / consrv / consrv.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Console Server DLL
4 * FILE: win32ss/user/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 #pragma once
13
14 /* PSDK/NDK Headers */
15 #define WIN32_NO_STATUS
16 #include <windows.h>
17 #define NTOS_MODE_USER
18 #include <ndk/ntndk.h>
19
20 /* CSRSS Header */
21 #include <csr/csrsrv.h>
22
23 /* CONSOLE Headers */
24 #include <win/conmsg.h>
25 // #include <win/base.h>
26
27 //#include "guiconsole.h"
28 //#include "tuiconsole.h"
29
30 #include "resource.h"
31
32 /* Shared header with console.dll */
33 #include "console.h"
34
35 extern HANDLE ConSrvHeap;
36 // extern HANDLE BaseSrvSharedHeap;
37 // extern PBASE_STATIC_SERVER_DATA BaseStaticServerData;
38
39 typedef struct Object_tt
40 {
41 LONG Type;
42 struct tagCSRSS_CONSOLE *Console;
43 LONG AccessRead, AccessWrite;
44 LONG ExclusiveRead, ExclusiveWrite;
45 LONG HandleCount;
46 } Object_t;
47
48
49 /* alias.c */
50 CSR_API(SrvAddConsoleAlias);
51 CSR_API(SrvGetConsoleAlias);
52 CSR_API(SrvGetConsoleAliases);
53 CSR_API(SrvGetConsoleAliasesLength);
54 CSR_API(SrvGetConsoleAliasExes);
55 CSR_API(SrvGetConsoleAliasExesLength);
56
57 /* coninput.c */
58 CSR_API(SrvReadConsole);
59 CSR_API(CsrReadInputEvent);
60 CSR_API(SrvFlushConsoleInputBuffer);
61 CSR_API(SrvGetConsoleNumberOfInputEvents);
62 CSR_API(SrvGetConsoleInput);
63 CSR_API(SrvWriteConsoleInput);
64
65 /* conoutput.c */
66 CSR_API(SrvWriteConsole);
67 CSR_API(SrvGetConsoleScreenBufferInfo);
68 CSR_API(SrvSetConsoleCursor);
69 CSR_API(CsrWriteConsoleOutputChar);
70 CSR_API(CsrFillOutputChar);
71 CSR_API(CsrWriteConsoleOutputAttrib);
72 CSR_API(CsrFillOutputAttrib);
73 CSR_API(SrvGetConsoleCursorInfo);
74 CSR_API(SrvSetConsoleCursorInfo);
75 CSR_API(CsrSetTextAttrib);
76 CSR_API(SrvCreateConsoleScreenBuffer);
77 CSR_API(SrvSetConsoleActiveScreenBuffer);
78 CSR_API(SrvWriteConsoleOutput);
79 CSR_API(SrvScrollConsoleScreenBuffer);
80 CSR_API(CsrReadConsoleOutputChar);
81 CSR_API(CsrReadConsoleOutputAttrib);
82 CSR_API(SrvReadConsoleOutput);
83 CSR_API(SrvSetConsoleScreenBufferSize);
84
85 /* console.c */
86 CSR_API(SrvAllocConsole);
87 CSR_API(SrvFreeConsole);
88 CSR_API(SrvSetConsoleMode);
89 CSR_API(SrvGetConsoleMode);
90 CSR_API(SrvSetConsoleTitle);
91 CSR_API(SrvGetConsoleTitle);
92 CSR_API(SrvGetConsoleHardwareState);
93 CSR_API(SrvSetConsoleHardwareState);
94 CSR_API(SrvGetConsoleWindow);
95 CSR_API(SrvSetConsoleIcon);
96 CSR_API(SrvGetConsoleCP);
97 CSR_API(SrvSetConsoleCP);
98 CSR_API(CsrGetConsoleOutputCodePage);
99 CSR_API(CsrSetConsoleOutputCodePage);
100 CSR_API(SrvGetConsoleProcessList);
101 CSR_API(SrvGenerateConsoleCtrlEvent);
102 CSR_API(SrvGetConsoleSelectionInfo);
103
104 /* handle.c */
105 CSR_API(CsrGetHandle);
106 CSR_API(SrvCloseHandle);
107 CSR_API(SrvVerifyConsoleIoHandle);
108 CSR_API(SrvDuplicateHandle);
109 CSR_API(CsrGetInputWaitHandle);
110
111 NTSTATUS FASTCALL Win32CsrInsertObject(PCSR_PROCESS ProcessData,
112 PHANDLE Handle,
113 Object_t *Object,
114 DWORD Access,
115 BOOL Inheritable,
116 DWORD ShareMode);
117 NTSTATUS FASTCALL Win32CsrLockObject(PCSR_PROCESS ProcessData,
118 HANDLE Handle,
119 Object_t **Object,
120 DWORD Access,
121 long Type);
122 VOID FASTCALL Win32CsrUnlockObject(Object_t *Object);
123 NTSTATUS FASTCALL Win32CsrReleaseObject(PCSR_PROCESS ProcessData,
124 HANDLE Object);
125 VOID WINAPI Win32CsrReleaseConsole(PCSR_PROCESS ProcessData);
126 NTSTATUS WINAPI Win32CsrDuplicateHandleTable(PCSR_PROCESS SourceProcessData,
127 PCSR_PROCESS TargetProcessData);
128
129 /* lineinput.c */
130 CSR_API(SrvGetConsoleCommandHistoryLength);
131 CSR_API(SrvGetConsoleCommandHistory);
132 CSR_API(SrvExpungeConsoleCommandHistory);
133 CSR_API(SrvSetConsoleNumberOfCommands);
134 CSR_API(SrvGetConsoleHistory);
135 CSR_API(SrvSetConsoleHistory);
136
137 /* server.c */
138 BOOL FASTCALL Win32CsrValidateBuffer(PCSR_PROCESS ProcessData,
139 PVOID Buffer,
140 SIZE_T NumElements,
141 SIZE_T ElementSize);
142
143 #endif // __CONSRV_H__
144
145 /* EOF */