source: trunk/include/odincrt.h@ 10010

Last change on this file since 10010 was 9336, checked in by sandervl, 23 years ago

Updates for shared critical sections

File size: 1.1 KB
Line 
1#ifndef __ODINCRT_H__
2#define __ODINCRT_H__
3
4#include <win32type.h>
5
6#ifndef SEM_INDEFINITE_WAIT
7#define SEM_INDEFINITE_WAIT -1
8#endif
9
10typedef struct {
11 LONG LockCount;
12 LONG RecursionCount;
13 ULONG OwningThread;
14 ULONG hmtxLock;
15 ULONG Reserved;
16 LONG CreationCount;
17} CRITICAL_SECTION_OS2, *PCRITICAL_SECTION_OS2;
18
19ULONG WIN32API DosDeleteCriticalSection(CRITICAL_SECTION_OS2 *);
20ULONG WIN32API DosEnterCriticalSection(CRITICAL_SECTION_OS2 *, ULONG ulTimeout = SEM_INDEFINITE_WAIT);
21ULONG WIN32API DosInitializeCriticalSection(CRITICAL_SECTION_OS2 *, char *pszSemName, BOOL fShared = FALSE);
22ULONG WIN32API DosAccessCriticalSection(CRITICAL_SECTION_OS2 *, char *pszSemName);
23ULONG WIN32API DosLeaveCriticalSection(CRITICAL_SECTION_OS2 *);
24
25LONG WIN32API DosInterlockedCompareExchange( PLONG dest, LONG xchg, LONG compare );
26LONG WIN32API DosInterlockedDecrement(LPLONG);
27LONG WIN32API DosInterlockedExchange(LPLONG,LONG);
28LONG WIN32API DosInterlockedExchangeAdd( PLONG dest, LONG incr );
29LONG WIN32API DosInterlockedIncrement(LPLONG);
30
31
32#endif //__ODINCRT_H__
Note: See TracBrowser for help on using the repository browser.