source: trunk/src/kernel32/hmmutex.h@ 7029

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

semaphore updates

File size: 3.8 KB
Line 
1/* $Id: hmmutex.h,v 1.4 2001-06-21 21:07:54 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_MUTEX_H_
10#define _HM_DEVICE_MUTEX_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 HMDeviceMutexClass : public HMDeviceHandler
33#else
34class HMDeviceMutexClass : public HMDeviceOpen32Class
35#endif
36{
37public:
38#ifdef USE_OS2SEMAPHORES
39 HMDeviceMutexClass(LPCSTR lpDeviceName) : HMDeviceHandler(lpDeviceName) {}
40#else
41 HMDeviceMutexClass(LPCSTR lpDeviceName) : HMDeviceOpen32Class(lpDeviceName) {}
42#endif
43
44 /* this is a handler method for calls to CreateMutex() */
45 virtual DWORD CreateMutex (PHMHANDLEDATA pHMHandleData,
46 LPSECURITY_ATTRIBUTES lpsa,
47 BOOL fInitialOwner,
48 LPCTSTR lpszMutexName);
49
50 /* this is a handler method for calls to OpenMutex() */
51 virtual DWORD OpenMutex (PHMHANDLEDATA pHMHandleData,
52 BOOL fInheritHandle,
53 LPCTSTR lpszMutexName);
54
55#ifdef USE_OS2SEMAPHORES
56 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
57
58 virtual BOOL DuplicateHandle(PHMHANDLEDATA pHMHandleData, HANDLE srcprocess,
59 PHMHANDLEDATA pHMSrcHandle,
60 HANDLE destprocess,
61 PHANDLE desthandle,
62 DWORD fdwAccess,
63 BOOL fInherit,
64 DWORD fdwOptions,
65 DWORD fdwOdinOptions);
66
67 /* this is a handler method for calls to WaitForSingleObject */
68 virtual DWORD WaitForSingleObject (PHMHANDLEDATA pHMHandleData,
69 DWORD dwTimeout);
70
71 /* this is a handler method for calls to WaitForSingleObjectEx */
72 virtual DWORD WaitForSingleObjectEx(PHMHANDLEDATA pHMHandleData,
73 DWORD dwTimeout,
74 BOOL fAlertable);
75
76 virtual DWORD MsgWaitForMultipleObjects(PHMHANDLEDATA pHMHandleData,
77 DWORD nCount,
78 PHANDLE pHandles,
79 BOOL fWaitAll,
80 DWORD dwMilliseconds,
81 DWORD dwWakeMask);
82
83 virtual DWORD WaitForMultipleObjects (PHMHANDLEDATA pHMHandleData,
84 DWORD cObjects,
85 PHANDLE lphObjects,
86 BOOL fWaitAll,
87 DWORD dwTimeout);
88#endif
89
90 /* this is a handle method for calls to ReleaseMutex() */
91 virtual BOOL ReleaseMutex(PHMHANDLEDATA pHMHandleData);
92};
93
94
95#endif /* _HM_DEVICE_MUTEX_H_ */
96
Note: See TracBrowser for help on using the repository browser.