- moved event, semaphore, mutex implementation from kernel32 to ntdll
- added mutant implementation in ntdll, and use it for mutex
implementation in kernel32
- added access parameter on event, semaphore, timer creation in
wineserver (as ntdll interface requires it)
- added missing definitions in include/winternl.h
diff --git a/server/protocol.def b/server/protocol.def
index e4b8e98..7f21d4b 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -491,6 +491,7 @@
/* Create an event */
@REQ(create_event)
+ unsigned int access; /* wanted access rights */
int manual_reset; /* manual reset event */
int initial_state; /* initial state of the event */
int inherit; /* inherit flag */
@@ -519,6 +520,7 @@
/* Create a mutex */
@REQ(create_mutex)
+ unsigned int access; /* wanted access rights */
int owned; /* initially owned? */
int inherit; /* inherit flag */
VARARG(name,unicode_str); /* object name */
@@ -530,6 +532,8 @@
/* Release a mutex */
@REQ(release_mutex)
obj_handle_t handle; /* handle to the mutex */
+@REPLY
+ unsigned int prev_count; /* value of internal counter, before release */
@END
@@ -545,6 +549,7 @@
/* Create a semaphore */
@REQ(create_semaphore)
+ unsigned int access; /* wanted access rights */
unsigned int initial; /* initial count */
unsigned int max; /* maximum count */
int inherit; /* inherit flag */
@@ -1337,6 +1342,7 @@
/* Create a waitable timer */
@REQ(create_timer)
+ unsigned int access; /* wanted access rights */
int inherit; /* inherit flag */
int manual; /* manual reset */
VARARG(name,unicode_str); /* object name */