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

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

semaphore rewrite (not activated)

File size: 2.5 KB
Line 
1/* $Id: hmmutex.h,v 1.3 2001-06-19 10:50:25 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 HMDeviceMutexClass(LPCSTR lpDeviceName) : HMDeviceOpen32Class(lpDeviceName) {}
39
40 /* this is a handler method for calls to CreateMutex() */
41 virtual DWORD CreateMutex (PHMHANDLEDATA pHMHandleData,
42 LPSECURITY_ATTRIBUTES lpsa,
43 BOOL fInitialOwner,
44 LPCTSTR lpszMutexName);
45
46 /* this is a handler method for calls to OpenMutex() */
47 virtual DWORD OpenMutex (PHMHANDLEDATA pHMHandleData,
48 BOOL fInheritHandle,
49 LPCTSTR lpszMutexName);
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#endif
63
64 /* this is a handle method for calls to ReleaseMutex() */
65 virtual BOOL ReleaseMutex(PHMHANDLEDATA pHMHandleData);
66};
67
68
69#endif /* _HM_DEVICE_MUTEX_H_ */
70
Note: See TracBrowser for help on using the repository browser.