source: trunk/src/kernel32/conbuffer.h@ 7457

Last change on this file since 7457 was 7457, checked in by sandervl, 24 years ago

preliminary work on overlapped serial comm IO

File size: 10.9 KB
Line 
1/* $Id: conbuffer.h,v 1.4 2001-11-26 14:53:58 sandervl Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 * Win32 Console Subsystem for OS/2
6 * 1998/02/11 PH Patrick Haller (haller@zebra.fh-weingarten.de)
7 */
8
9#ifndef _CONSOLE_BUFFER_H_
10#define _CONSOLE_BUFFER_H_
11
12
13/*****************************************************************************
14 * Remark *
15 *****************************************************************************
16
17 */
18
19
20/*****************************************************************************
21 * Resources *
22 *****************************************************************************/
23
24
25/*****************************************************************************
26 * Includes *
27 *****************************************************************************/
28
29//#include <win32type.h>
30#include "handlemanager.h"
31#include "HMDevice.h"
32#include "console2.h"
33
34
35/*****************************************************************************
36 * ConsoleBuffer - does all the writing to an internal line buffer array *
37 * if this buffer is the active one, also does a screen updt *
38 *****************************************************************************/
39
40class HMDeviceConsoleBufferClass : public HMDeviceHandler
41{
42 protected:
43 PICONSOLEINPUT pConsoleInput; /* pointer to console input area */
44 PICONSOLEGLOBALS pConsoleGlobals; /* pointer to console global area */
45
46 public:
47 HMDeviceConsoleBufferClass(LPCSTR lpDeviceName,
48 PICONSOLEINPUT piConsoleInput,
49 PICONSOLEGLOBALS piConsoleGlobals)
50 : HMDeviceHandler(lpDeviceName)
51 {
52 pConsoleInput = piConsoleInput; // save pointers to this data
53 pConsoleGlobals = piConsoleGlobals;
54 }
55
56 /* this is a handler method for calls to CreateFile() */
57 virtual DWORD CreateFile (HANDLE hHandle,
58 LPCSTR lpFileName,
59 PHMHANDLEDATA pHMHandleData,
60 PVOID lpSecurityAttributes,
61 PHMHANDLEDATA pHMHandleDataTemplate);
62
63 /* this is a handler method for calls to ReadFile() */
64 virtual BOOL ReadFile (PHMHANDLEDATA pHMHandleData,
65 LPCVOID lpBuffer,
66 DWORD nNumberOfBytesToRead,
67 LPDWORD lpNumberOfBytesRead,
68 LPOVERLAPPED lpOverlapped);
69
70 /* this is a handler method for calls to WriteFile() */
71 virtual BOOL WriteFile (PHMHANDLEDATA pHMHandleData,
72 LPCVOID lpBuffer,
73 DWORD nNumberOfBytesToWrite,
74 LPDWORD lpNumberOfBytesWritten,
75 LPOVERLAPPED lpOverlapped);
76
77 virtual DWORD CloseHandle(PHMHANDLEDATA pHMHandleData);
78
79 virtual DWORD _DeviceRequest (PHMHANDLEDATA pHMHandleData,
80 ULONG ulRequestCode,
81 ULONG arg1,
82 ULONG arg2,
83 ULONG arg3,
84 ULONG arg4);
85
86
87 /************************************
88 * non-standard console I/O methods *
89 ************************************/
90
91 virtual DWORD FillConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
92 WORD wAttribute,
93 DWORD nLength,
94 COORD dwWriteCoord,
95 LPDWORD lpNumberOfAttrsWritten);
96
97 virtual DWORD FillConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
98 UCHAR ucCharacter,
99 DWORD nLength,
100 COORD dwWriteCoord,
101 LPDWORD lpNumberOfCharsWritten);
102
103 virtual DWORD FillConsoleOutputCharacterW(PHMHANDLEDATA pHMHandleData,
104 WCHAR wcCharacter,
105 DWORD nLength,
106 COORD dwWriteCoord,
107 LPDWORD lpNumberOfCharsWritten);
108
109 virtual DWORD GetConsoleCursorInfo(PHMHANDLEDATA pHMHandleData,
110 PCONSOLE_CURSOR_INFO pCCI);
111
112 virtual DWORD GetConsoleMode(PHMHANDLEDATA pHMHandleData,
113 LPDWORD lpMode);
114
115 virtual DWORD GetLargestConsoleWindowSize(PHMHANDLEDATA pHMHandleData);
116
117 virtual DWORD GetConsoleScreenBufferInfo(PHMHANDLEDATA pHMHandleData,
118 PCONSOLE_SCREEN_BUFFER_INFO pCSBI);
119
120 virtual DWORD ReadConsoleOutputA(PHMHANDLEDATA pHMHandleData,
121 PCHAR_INFO pchiDestBuffer,
122 COORD coordDestBufferSize,
123 COORD coordDestBufferCoord,
124 PSMALL_RECT psrctSourceRect);
125
126 virtual DWORD ReadConsoleOutputW(PHMHANDLEDATA pHMHandleData,
127 PCHAR_INFO pchiDestBuffer,
128 COORD coordDestBufferSize,
129 COORD coordDestBufferCoord,
130 PSMALL_RECT psrctSourceRect);
131
132 virtual DWORD ReadConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
133 LPWORD lpwAttribute,
134 DWORD cReadCells,
135 COORD dwReadCoord,
136 LPDWORD lpcNumberRead);
137
138 virtual DWORD ReadConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
139 LPTSTR lpwReadBuffer,
140 DWORD cchRead,
141 COORD coordReadCoord,
142 LPDWORD lpcNumberRead);
143
144 virtual DWORD ReadConsoleOutputCharacterW(PHMHANDLEDATA pHMHandleData,
145 LPWSTR lpwReadBuffer,
146 DWORD cchRead,
147 COORD coordReadCoord,
148 LPDWORD lpcNumberRead);
149
150 virtual DWORD ScrollConsoleScreenBufferA(PHMHANDLEDATA pHMHandleData,
151 PSMALL_RECT psrctSourceRect,
152 PSMALL_RECT psrctClipRect,
153 COORD coordDestOrigin,
154 PCHAR_INFO pchiFill);
155
156 virtual DWORD ScrollConsoleScreenBufferW(PHMHANDLEDATA pHMHandleData,
157 PSMALL_RECT psrctSourceRect,
158 PSMALL_RECT psrctClipRect,
159 COORD coordDestOrigin,
160 PCHAR_INFO pchiFill);
161
162 virtual DWORD SetConsoleScreenBufferSize (PHMHANDLEDATA pHMHandleData,
163 COORD coordSize);
164
165 virtual DWORD SetConsoleCursorInfo(PHMHANDLEDATA pHMHandleData,
166 PCONSOLE_CURSOR_INFO pCCI);
167
168 virtual DWORD SetConsoleCursorPosition(PHMHANDLEDATA pHMHandleData,
169 COORD coordCursorPosition);
170
171 virtual DWORD SetConsoleMode(PHMHANDLEDATA pHMHandleData,
172 DWORD dwMode);
173
174 virtual DWORD SetConsoleTextAttribute (PHMHANDLEDATA pHMHandleData,
175 WORD wAttr);
176
177 virtual DWORD SetConsoleActiveScreenBuffer(PHMHANDLEDATA pHMHandleData);
178
179 virtual BOOL SetConsoleWindowInfo(PHMHANDLEDATA pHMHandleData,
180 BOOL fAbsolute,
181 PSMALL_RECT psrctWindowRect);
182
183 virtual DWORD WriteConsoleA(PHMHANDLEDATA pHMHandleData,
184 CONST VOID* lpvBuffer,
185 DWORD cchToWrite,
186 LPDWORD lpcchWritten,
187 LPVOID lpvReserved);
188
189 virtual DWORD WriteConsoleW(PHMHANDLEDATA pHMHandleData,
190 CONST VOID* lpvBuffer,
191 DWORD cchToWrite,
192 LPDWORD lpcchWritten,
193 LPVOID lpvReserved);
194
195 virtual DWORD WriteConsoleOutputA(PHMHANDLEDATA pHMHandleData,
196 PCHAR_INFO pchiSrcBuffer,
197 COORD coordSrcBufferSize,
198 COORD coordSrcBufferCoord,
199 PSMALL_RECT psrctDestRect);
200
201 virtual DWORD WriteConsoleOutputW(PHMHANDLEDATA pHMHandleData,
202 PCHAR_INFO pchiSrcBuffer,
203 COORD coordSrcBufferSize,
204 COORD coordSrcBufferCoord,
205 PSMALL_RECT psrctDestRect);
206
207 virtual DWORD WriteConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
208 LPWORD lpwAttribute,
209 DWORD cWriteCells,
210 COORD dwWriteCoord,
211 LPDWORD lpcWritten);
212
213 virtual DWORD WriteConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
214 LPTSTR lpWriteBuffer,
215 DWORD cchWrite,
216 COORD dwWriteCoord,
217 LPDWORD lpcWritten);
218
219 virtual DWORD WriteConsoleOutputCharacterW(PHMHANDLEDATA pHMHandleData,
220 LPWSTR lpWriteBuffer,
221 DWORD cchWrite,
222 COORD dwWriteCoord,
223 LPDWORD lpcWritten);
224};
225
226#endif /* _CONSOLE_BUFFER_H_ */
227
Note: See TracBrowser for help on using the repository browser.