source: trunk/src/kernel32/old/hmopen32.h@ 1036

Last change on this file since 1036 was 955, checked in by sandervl, 26 years ago

Backup copy of old kernel32

File size: 7.2 KB
Line 
1/* $Id: hmopen32.h,v 1.1 1999-09-15 23:32:56 sandervl Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 * Win32 Unified Handle Manager for OS/2
6 * 1999/06/17 PH Patrick Haller (phaller@gmx.net)
7 */
8
9#ifndef _HM_DEVICE_OPEN32_H_
10#define _HM_DEVICE_OPEN32_H_
11
12
13/*****************************************************************************
14 * Remark *
15 *****************************************************************************
16 */
17
18
19/*****************************************************************************
20 * Includes *
21 *****************************************************************************/
22
23#include "HMDevice.h"
24
25/*****************************************************************************
26 * Structures *
27 *****************************************************************************/
28
29class HMDeviceOpen32Class : public HMDeviceHandler
30{
31public:
32 HMDeviceOpen32Class(LPCSTR lpDeviceName) : HMDeviceHandler(lpDeviceName) {}
33
34
35 /* this is a special internal method to handle non-standard requests */
36 /* such as GetConsoleMode() for console devices */
37 virtual DWORD _DeviceRequest (PHMHANDLEDATA pHMHandleData,
38 ULONG ulRequestCode,
39 ULONG arg1,
40 ULONG arg2,
41 ULONG arg3,
42 ULONG arg4);
43
44 virtual BOOL DuplicateHandle(PHMHANDLEDATA pHMHandleData, HANDLE srcprocess,
45 PHMHANDLEDATA pHMSrcHandle,
46 HANDLE destprocess,
47 PHANDLE desthandle,
48 DWORD fdwAccess,
49 BOOL fInherit,
50 DWORD fdwOptions);
51
52 /* this is a handler method for calls to CreateFile() */
53 virtual DWORD CreateFile (LPCSTR lpFileName,
54 PHMHANDLEDATA pHMHandleData,
55 PVOID lpSecurityAttributes,
56 PHMHANDLEDATA pHMHandleDataTemplate);
57
58 /* this is a handler method for calls to OpenFile() */
59 virtual DWORD OpenFile (LPCSTR lpFileName,
60 PHMHANDLEDATA pHMHandleData,
61 OFSTRUCT* pOFStruct,
62 UINT fuMode);
63
64 /* this is a handler method for calls to CloseHandle() */
65 virtual DWORD CloseHandle(PHMHANDLEDATA pHMHandleData);
66
67 /* this is a handler method for calls to ReadFile() */
68 virtual DWORD ReadFile (PHMHANDLEDATA pHMHandleData,
69 LPCVOID lpBuffer,
70 DWORD nNumberOfBytesToRead,
71 LPDWORD lpNumberOfBytesRead,
72 LPOVERLAPPED lpOverlapped);
73
74 /* this is a handler method for calls to WriteFile() */
75 virtual DWORD WriteFile (PHMHANDLEDATA pHMHandleData,
76 LPCVOID lpBuffer,
77 DWORD nNumberOfBytesToWrite,
78 LPDWORD lpNumberOfBytesWritten,
79 LPOVERLAPPED lpOverlapped);
80
81 /* this is a handler method for calls to GetFileType() */
82 virtual DWORD GetFileType (PHMHANDLEDATA pHMHandleData);
83
84 /* this is a handler method for calls to GetFileInformationByHandle() */
85 virtual DWORD GetFileInformationByHandle(PHMHANDLEDATA pHMHandleData,
86 BY_HANDLE_FILE_INFORMATION* pHFI);
87
88 /* this is a handler method for calls to SetEndOfFile() */
89 virtual BOOL SetEndOfFile(PHMHANDLEDATA pHMHandleData);
90
91 /* this is a handler method for calls to SetFileTime() */
92 virtual BOOL SetFileTime (PHMHANDLEDATA pHMHandleData,
93 LPFILETIME pFT1,
94 LPFILETIME pFT2,
95 LPFILETIME pFT3);
96
97 /* this is a handler method for calls to GetFileSize() */
98 virtual DWORD GetFileSize(PHMHANDLEDATA pHMHandleData,
99 PDWORD pSizeHigh);
100
101 /* this is a handler method for calls to SetFilePointer() */
102 virtual DWORD SetFilePointer(PHMHANDLEDATA pHMHandleData,
103 LONG lDistanceToMove,
104 PLONG lpDistanceToMoveHigh,
105 DWORD dwMoveMethod);
106
107 /* this is a handler method for calls to LockFile() */
108 virtual DWORD LockFile(PHMHANDLEDATA pHMHandleData,
109 DWORD arg2,
110 DWORD arg3,
111 DWORD arg4,
112 DWORD arg5);
113
114 /* this is a handler method for calls to LockFileEx() */
115 virtual DWORD LockFileEx(PHMHANDLEDATA pHMHandleData,
116 DWORD dwFlags,
117 DWORD dwReserved,
118 DWORD nNumberOfBytesToLockLow,
119 DWORD nNumberOfBytesToLockHigh,
120 LPOVERLAPPED lpOverlapped);
121
122 /* this is a handler method for calls to UnlockFile() */
123 virtual DWORD UnlockFile(PHMHANDLEDATA pHMHandleData,
124 DWORD arg2,
125 DWORD arg3,
126 DWORD arg4,
127 DWORD arg5);
128
129 /* this is a handler method for calls to UnlockFileEx() */
130 virtual DWORD UnlockFileEx(PHMHANDLEDATA pHMHandleData,
131 DWORD dwFlags,
132 DWORD dwReserved,
133 DWORD nNumberOfBytesToLockLow,
134 DWORD nNumberOfBytesToLockHigh,
135 LPOVERLAPPED lpOverlapped);
136
137 /* this is a handler method for calls to WaitForSingleObject */
138 virtual DWORD WaitForSingleObject (PHMHANDLEDATA pHMHandleData,
139 DWORD dwTimeout);
140
141 /* this is a handler method for calls to WaitForSingleObjectEx */
142 virtual DWORD WaitForSingleObjectEx(PHMHANDLEDATA pHMHandleData,
143 DWORD dwTimeout,
144 BOOL fAlertable);
145
146 /* this is a handler method for calls to FlushFileBuffers */
147 virtual BOOL FlushFileBuffers(PHMHANDLEDATA pHMHandleData);
148
149 /* this is a handler method for calls to GetOverlappedResult */
150 virtual BOOL GetOverlappedResult(PHMHANDLEDATA pHMHandleData,
151 LPOVERLAPPED arg2,
152 LPDWORD arg3,
153 BOOL arg4);
154};
155
156
157#endif /* _HM_DEVICE_OPEN32_H_ */
158
Note: See TracBrowser for help on using the repository browser.