Detlef Riekenberg : include: Add definitions and declarations for SRW lock.
Alexandre Julliard
julliard at winehq.org
Wed Jul 6 13:31:07 CDT 2011
Module: wine
Branch: master
Commit: 3fc84d486235470bcafc502db48507aa85824e9f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3fc84d486235470bcafc502db48507aa85824e9f
Author: Detlef Riekenberg <wine.dev at web.de>
Date: Wed Jul 6 01:10:22 2011 +0200
include: Add definitions and declarations for SRW lock.
---
include/winbase.h | 10 ++++++++++
include/winnt.h | 6 ++++++
2 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/include/winbase.h b/include/winbase.h
index adf7341..a37d073 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -58,6 +58,9 @@ typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
#define CRITICAL_SECTION_NO_DEBUG_INFO RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO
+typedef RTL_SRWLOCK SRWLOCK;
+typedef PRTL_SRWLOCK PSRWLOCK;
+
typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK;
#define EXCEPTION_DEBUG_EVENT 1
@@ -1326,6 +1329,8 @@ WINADVAPI BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPST
WINADVAPI BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,LPDWORD,LPBOOL,LPBOOL);
#define AccessCheckAndAuditAlarm WINELIB_NAME_AW(AccessCheckAndAuditAlarm)
WINADVAPI BOOL WINAPI AccessCheckByType(PSECURITY_DESCRIPTOR,PSID,HANDLE,DWORD,POBJECT_TYPE_LIST,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
+WINBASEAPI VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK);
+WINBASEAPI VOID WINAPI AcquireSRWLockShared(PSRWLOCK);
WINADVAPI BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
WINADVAPI BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID *);
WINADVAPI BOOL WINAPI AllocateLocallyUniqueId(PLUID);
@@ -1860,6 +1865,7 @@ WINBASEAPI BOOL WINAPI InitializeCriticalSectionEx(CRITICAL_SECTION *,DWO
WINADVAPI BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
WINADVAPI BOOL WINAPI InitializeSid(PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
WINBASEAPI VOID WINAPI InitializeSListHead(PSLIST_HEADER);
+WINBASEAPI VOID WINAPI InitializeSRWLock(PSRWLOCK);
WINBASEAPI PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER, PSLIST_ENTRY);
@@ -2034,6 +2040,8 @@ WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCA
WINBASEAPI VOID WINAPI ReleaseActCtx(HANDLE);
WINBASEAPI BOOL WINAPI ReleaseMutex(HANDLE);
WINBASEAPI BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
+WINBASEAPI VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK);
+WINBASEAPI VOID WINAPI ReleaseSRWLockShared(PSRWLOCK);
WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler(PVOID);
WINBASEAPI BOOL WINAPI ReplaceFileA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPVOID,LPVOID);
WINBASEAPI BOOL WINAPI ReplaceFileW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPVOID,LPVOID);
@@ -2154,6 +2162,8 @@ WINBASEAPI LPVOID WINAPI TlsGetValue(DWORD);
WINBASEAPI BOOL WINAPI TlsSetValue(DWORD,LPVOID);
WINBASEAPI BOOL WINAPI TransactNamedPipe(HANDLE,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
WINBASEAPI BOOL WINAPI TransmitCommChar(HANDLE,CHAR);
+WINBASEAPI BOOL WINAPI TryAcquireSRWLockExclusive(PSRWLOCK);
+WINBASEAPI BOOL WINAPI TryAcquireSRWLockShared(PSRWLOCK);
WINBASEAPI BOOL WINAPI TryEnterCriticalSection(CRITICAL_SECTION *lpCrit);
WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime(const TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME);
WINBASEAPI LONG WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS);
diff --git a/include/winnt.h b/include/winnt.h
index 11f1ea2..73a2ae8 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -5354,6 +5354,12 @@ typedef struct _RTL_CRITICAL_SECTION {
#define RTL_CRITICAL_SECTION_ALL_FLAG_BITS 0xFF000000
#define RTL_CRITICAL_SECTION_FLAG_RESERVED (RTL_CRITICAL_SECTION_ALL_FLAG_BITS & ~0x7000000)
+typedef struct _RTL_SRWLOCK {
+ PVOID Ptr;
+} RTL_SRWLOCK, *PRTL_SRWLOCK;
+
+#define RTL_SRWLOCK_INIT {0}
+
typedef VOID (NTAPI * WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN );
typedef VOID (NTAPI * PFLS_CALLBACK_FUNCTION) ( PVOID );
More information about the wine-cvs
mailing list