source: trunk/src/kernel32/hmevent.h@ 7788

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

semaphore updates

File size: 4.0 KB
Line 
1/* $Id: hmevent.h,v 1.4 2001-06-21 21:07:53 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_EVENT_H_
10#define _HM_DEVICE_EVENT_H_
11
12
13/*****************************************************************************
14 * Remark *
15 *****************************************************************************
16 */
17
18
19/*****************************************************************************
20 * Includes *
21 *****************************************************************************/
22
23#include "HMDevice.h"
24#include "HMOpen32.h"
25
26
27/*****************************************************************************
28 * Structures *
29 *****************************************************************************/
30
31#ifdef USE_OS2SEMAPHORES
32class HMDeviceEventClass : public HMDeviceHandler
33#else
34class HMDeviceEventClass : public HMDeviceOpen32Class
35#endif
36{
37public:
38#ifdef USE_OS2SEMAPHORES
39 HMDeviceEventClass(LPCSTR lpDeviceName) : HMDeviceHandler(lpDeviceName) {}
40#else
41 HMDeviceEventClass(LPCSTR lpDeviceName) : HMDeviceOpen32Class(lpDeviceName) {}
42#endif
43
44 /* this is a handler method for calls to CreateEvent() */
45 virtual DWORD CreateEvent (PHMHANDLEDATA pHMHandleData,
46 LPSECURITY_ATTRIBUTES lpsa,
47 BOOL fManualReset,
48 BOOL fInitialState,
49 LPCTSTR lpszEventName);
50
51#ifdef USE_OS2SEMAPHORES
52 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
53
54 virtual BOOL DuplicateHandle(PHMHANDLEDATA pHMHandleData, HANDLE srcprocess,
55 PHMHANDLEDATA pHMSrcHandle,
56 HANDLE destprocess,
57 PHANDLE desthandle,
58 DWORD fdwAccess,
59 BOOL fInherit,
60 DWORD fdwOptions,
61 DWORD fdwOdinOptions);
62
63 /* this is a handler method for calls to WaitForSingleObject */
64 virtual DWORD WaitForSingleObject (PHMHANDLEDATA pHMHandleData,
65 DWORD dwTimeout);
66
67 /* this is a handler method for calls to WaitForSingleObjectEx */
68 virtual DWORD WaitForSingleObjectEx(PHMHANDLEDATA pHMHandleData,
69 DWORD dwTimeout,
70 BOOL fAlertable);
71
72 virtual DWORD MsgWaitForMultipleObjects(PHMHANDLEDATA pHMHandleData,
73 DWORD nCount,
74 PHANDLE pHandles,
75 BOOL fWaitAll,
76 DWORD dwMilliseconds,
77 DWORD dwWakeMask);
78
79 virtual DWORD WaitForMultipleObjects (PHMHANDLEDATA pHMHandleData,
80 DWORD cObjects,
81 PHANDLE lphObjects,
82 BOOL fWaitAll,
83 DWORD dwTimeout);
84
85#endif
86
87 /* this is a handler method for calls to OpenEvent() */
88 virtual DWORD OpenEvent (PHMHANDLEDATA pHMHandleData,
89 BOOL fInheritHandle,
90 LPCTSTR lpszEventName);
91
92 /* this is a handle method for calls to ResetEvent() */
93 virtual BOOL ResetEvent (PHMHANDLEDATA pHMHandleData);
94
95 /* this is a handle method for calls to SetEvent() */
96 virtual BOOL SetEvent (PHMHANDLEDATA pHMHandleData);
97
98 /* this is a handle method for calls to PulseEvent() */
99 virtual BOOL PulseEvent (PHMHANDLEDATA pHMHandleData);
100};
101
102
103#endif /* _HM_DEVICE_EVENT_H_ */
104
Note: See TracBrowser for help on using the repository browser.