source: trunk/src/kernel32/conin.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: 6.1 KB
Line 
1/* $Id: conin.h,v 1.4 2001-11-26 14:53:59 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_IN_H_
10#define _CONSOLE_IN_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 * ConsoleInput - manages a queue of window events fro keyboard, mouse, etc. *
37 *****************************************************************************/
38
39class HMDeviceConsoleInClass : public HMDeviceHandler
40{
41 protected:
42 /* input queue */
43 DWORD dwNumberOfInputEvents; /* number of unread events in input queue */
44 PICONSOLEINPUT pConsoleInput; /* pointer to console input area */
45 PICONSOLEGLOBALS pConsoleGlobals; /* pointer to console global area */
46
47 public:
48 HMDeviceConsoleInClass(LPCSTR lpDeviceName,
49 PICONSOLEINPUT piConsoleInput,
50 PICONSOLEGLOBALS piConsoleGlobals)
51 : HMDeviceHandler(lpDeviceName)
52 {
53 pConsoleInput = piConsoleInput; // save pointers to this data
54 pConsoleGlobals = piConsoleGlobals;
55 }
56
57 /* this is a handler method for calls to CreateFile() */
58 virtual DWORD CreateFile (HANDLE hHandle,
59 LPCSTR lpFileName,
60 PHMHANDLEDATA pHMHandleData,
61 PVOID lpSecurityAttributes,
62 PHMHANDLEDATA pHMHandleDataTemplate);
63
64 /* this is a handler method for calls to ReadFile() */
65 virtual BOOL ReadFile (PHMHANDLEDATA pHMHandleData,
66 LPCVOID lpBuffer,
67 DWORD nNumberOfBytesToRead,
68 LPDWORD lpNumberOfBytesRead,
69 LPOVERLAPPED lpOverlapped);
70
71 /* this is a handler method for calls to WriteFile() */
72 virtual BOOL WriteFile (PHMHANDLEDATA pHMHandleData,
73 LPCVOID lpBuffer,
74 DWORD nNumberOfBytesToWrite,
75 LPDWORD lpNumberOfBytesWritten,
76 LPOVERLAPPED lpOverlapped);
77
78 virtual DWORD _DeviceRequest (PHMHANDLEDATA pHMHandleData,
79 ULONG ulRequestCode,
80 ULONG arg1,
81 ULONG arg2,
82 ULONG arg3,
83 ULONG arg4);
84
85 /************************************
86 * non-standard console I/O methods *
87 ************************************/
88
89 virtual BOOL FlushConsoleInputBuffer(PHMHANDLEDATA pHMHandleData);
90
91 virtual DWORD GetConsoleMode(PHMHANDLEDATA pHMHandleData,
92 LPDWORD lpMode);
93
94 virtual BOOL GetNumberOfConsoleInputEvents(PHMHANDLEDATA pHMHandleData,
95 LPDWORD lpNumberOfEvents);
96
97 virtual DWORD PeekConsoleInputA(PHMHANDLEDATA pHMHandleData,
98 PINPUT_RECORD pirBuffer,
99 DWORD cInRecords,
100 LPDWORD lpcRead);
101
102 virtual DWORD PeekConsoleInputW(PHMHANDLEDATA pHMHandleData,
103 PINPUT_RECORD pirBuffer,
104 DWORD cInRecords,
105 LPDWORD lpcRead);
106
107 virtual DWORD ReadConsoleA(PHMHANDLEDATA pHMHandleData,
108 CONST VOID* lpvBuffer,
109 DWORD cchToRead,
110 LPDWORD lpcchRead,
111 LPVOID lpvReserved);
112
113 virtual DWORD ReadConsoleW(PHMHANDLEDATA pHMHandleData,
114 CONST VOID* lpvBuffer,
115 DWORD cchToRead,
116 LPDWORD lpcchRead,
117 LPVOID lpvReserved);
118
119 virtual DWORD ReadConsoleInputA(PHMHANDLEDATA pHMHandleData,
120 PINPUT_RECORD pirBuffer,
121 DWORD cInRecords,
122 LPDWORD lpcRead);
123
124 virtual DWORD ReadConsoleInputW(PHMHANDLEDATA pHMHandleData,
125 PINPUT_RECORD pirBuffer,
126 DWORD cInRecords,
127 LPDWORD lpcRead);
128
129 virtual DWORD SetConsoleMode(PHMHANDLEDATA pHMHandleData,
130 DWORD dwMode);
131
132 virtual DWORD WriteConsoleInputA (PHMHANDLEDATA pHMHandleData,
133 PINPUT_RECORD pirBuffer,
134 DWORD cInRecords,
135 LPDWORD lpcWritten);
136
137 virtual DWORD WriteConsoleInputW (PHMHANDLEDATA pHMHandleData,
138 PINPUT_RECORD pirBuffer,
139 DWORD cInRecords,
140 LPDWORD lpcWritten);
141
142 /* this is a handler method for calls to GetFileType() */
143 virtual DWORD GetFileType (PHMHANDLEDATA pHMHandleData);
144
145};
146
147#endif /* _CONSOLE_IN_H_ */
148
Note: See TracBrowser for help on using the repository browser.