Synchronize with trunk's revision r57659.
[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
36 extern HANDLE ConSrvHeap;
37 // extern HANDLE BaseSrvSharedHeap;
38 // extern PBASE_STATIC_SERVER_DATA BaseStaticServerData;
39
40 typedef struct Object_tt
41 {
42 LONG Type;
43 struct tagCSRSS_CONSOLE *Console;
44 LONG AccessRead, AccessWrite;
45 LONG ExclusiveRead, ExclusiveWrite;
46 LONG HandleCount;
47 } Object_t;
48
49
50 /* alias.c */
51 CSR_API(SrvAddConsoleAlias);
52 CSR_API(SrvGetConsoleAlias);
53 CSR_API(SrvGetConsoleAliases);
54 CSR_API(SrvGetConsoleAliasesLength);
55 CSR_API(SrvGetConsoleAliasExes);
56 CSR_API(SrvGetConsoleAliasExesLength);
57
58 /* coninput.c */
59 CSR_API(SrvReadConsole);
60 CSR_API(CsrReadInputEvent);
61 CSR_API(SrvFlushConsoleInputBuffer);
62 CSR_API(SrvGetConsoleNumberOfInputEvents);
63 CSR_API(SrvGetConsoleInput);
64 CSR_API(SrvWriteConsoleInput);
65
66 /* conoutput.c */
67 CSR_API(SrvWriteConsole);
68 CSR_API(SrvGetConsoleScreenBufferInfo);
69 CSR_API(SrvSetConsoleCursor);
70 CSR_API(CsrWriteConsoleOutputChar);
71 CSR_API(CsrFillOutputChar);
72 CSR_API(CsrWriteConsoleOutputAttrib);
73 CSR_API(CsrFillOutputAttrib);
74 CSR_API(SrvGetConsoleCursorInfo);
75 CSR_API(SrvSetConsoleCursorInfo);
76 CSR_API(CsrSetTextAttrib);
77 CSR_API(SrvCreateConsoleScreenBuffer);
78 CSR_API(SrvSetConsoleActiveScreenBuffer);
79 CSR_API(SrvWriteConsoleOutput);
80 CSR_API(SrvScrollConsoleScreenBuffer);
81 CSR_API(CsrReadConsoleOutputChar);
82 CSR_API(CsrReadConsoleOutputAttrib);
83 CSR_API(SrvReadConsoleOutput);
84 CSR_API(SrvSetConsoleScreenBufferSize);
85
86 /* console.c */
87 CSR_API(SrvAllocConsole);
88 CSR_API(SrvFreeConsole);
89 CSR_API(SrvSetConsoleMode);
90 CSR_API(SrvGetConsoleMode);
91 CSR_API(SrvSetConsoleTitle);
92 CSR_API(SrvGetConsoleTitle);
93 CSR_API(SrvGetConsoleHardwareState);
94 CSR_API(SrvSetConsoleHardwareState);
95 CSR_API(SrvGetConsoleWindow);
96 CSR_API(SrvSetConsoleIcon);
97 CSR_API(SrvGetConsoleCP);
98 CSR_API(SrvSetConsoleCP);
99 CSR_API(CsrGetConsoleOutputCodePage);
100 CSR_API(CsrSetConsoleOutputCodePage);
101 CSR_API(SrvGetConsoleProcessList);
102 CSR_API(SrvGenerateConsoleCtrlEvent);
103 CSR_API(SrvGetConsoleSelectionInfo);
104
105 /* handle.c */
106 CSR_API(CsrGetHandle);
107 CSR_API(SrvCloseHandle);
108 CSR_API(SrvVerifyConsoleIoHandle);
109 CSR_API(SrvDuplicateHandle);
110 CSR_API(CsrGetInputWaitHandle);
111
112 NTSTATUS FASTCALL Win32CsrInsertObject(PCSR_PROCESS ProcessData,
113 PHANDLE Handle,
114 Object_t *Object,
115 DWORD Access,
116 BOOL Inheritable,
117 DWORD ShareMode);
118 NTSTATUS FASTCALL Win32CsrLockObject(PCSR_PROCESS ProcessData,
119 HANDLE Handle,
120 Object_t **Object,
121 DWORD Access,
122 long Type);
123 VOID FASTCALL Win32CsrUnlockObject(Object_t *Object);
124 NTSTATUS FASTCALL Win32CsrReleaseObject(PCSR_PROCESS ProcessData,
125 HANDLE Object);
126 VOID WINAPI Win32CsrReleaseConsole(PCSR_PROCESS ProcessData);
127 NTSTATUS WINAPI Win32CsrDuplicateHandleTable(PCSR_PROCESS SourceProcessData,
128 PCSR_PROCESS TargetProcessData);
129
130 /* lineinput.c */
131 CSR_API(SrvGetConsoleCommandHistoryLength);
132 CSR_API(SrvGetConsoleCommandHistory);
133 CSR_API(SrvExpungeConsoleCommandHistory);
134 CSR_API(SrvSetConsoleNumberOfCommands);
135 CSR_API(SrvGetConsoleHistory);
136 CSR_API(SrvSetConsoleHistory);
137
138 /* server.c */
139 BOOL FASTCALL Win32CsrValidateBuffer(PCSR_PROCESS ProcessData,
140 PVOID Buffer,
141 SIZE_T NumElements,
142 SIZE_T ElementSize);
143
144 #endif // __CONSRV_H__
145
146 /* EOF */