server: Store the async handle inside the async_data_t structure.
diff --git a/server/protocol.def b/server/protocol.def
index 475ae51..ad05b64 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -177,11 +177,12 @@
/* structure for parameters of async I/O calls */
typedef struct
{
+ obj_handle_t handle; /* object to perform I/O on */
+ obj_handle_t event; /* event to signal when done */
void *callback; /* client-side callback to call upon end of async */
void *iosb; /* I/O status block in client addr space */
void *arg; /* opaque user data to pass to callback */
void *apc; /* user apc to call */
- obj_handle_t event; /* event to signal when done */
apc_param_t cvalue; /* completion value to use for completion events */
} async_data_t;
@@ -1307,7 +1308,6 @@
/* enable directory change notifications */
@REQ(read_directory_changes)
unsigned int filter; /* notification filter */
- obj_handle_t handle; /* handle to the directory */
int subtree; /* watch the subtree? */
int want_data; /* flag indicating whether change data should be collected */
async_data_t async; /* async I/O parameters */
@@ -1976,7 +1976,6 @@
/* Create an async I/O */
@REQ(register_async)
- obj_handle_t handle; /* handle to comm port, socket or file */
int type; /* type of queue to look after */
int count; /* count - usually # of bytes to be read/written */
async_data_t async; /* async I/O parameters */
@@ -1994,7 +1993,6 @@
/* Perform an ioctl on a file */
@REQ(ioctl)
- obj_handle_t handle; /* handle to the device */
ioctl_code_t code; /* ioctl code */
async_data_t async; /* async I/O parameters */
VARARG(in_data,bytes); /* ioctl input data */