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 */