server: Add an async_data_t structure to store parameters for async I/O requests.
diff --git a/server/file.h b/server/file.h
index 6402d61..ae98cf1 100644
--- a/server/file.h
+++ b/server/file.h
@@ -39,7 +39,7 @@
     /* get file information */
     enum server_fd_type (*get_file_info)(struct fd *fd, int *flags);
     /* queue an async operation */
-    void (*queue_async)(struct fd *, void* apc, void* user, void* io_sb, int type, int count);
+    void (*queue_async)(struct fd *, const async_data_t *data, int type, int count);
     /* cancel an async operation */
     void (*cancel_async)(struct fd *);
 };
@@ -68,13 +68,13 @@
 extern int default_fd_signaled( struct object *obj, struct thread *thread );
 extern int default_fd_get_poll_events( struct fd *fd );
 extern void default_poll_event( struct fd *fd, int event );
-extern void fd_queue_async_timeout( struct fd *fd, void *apc, void *user, void *io_sb, int type,
+extern void fd_queue_async_timeout( struct fd *fd, const async_data_t *data, int type,
                                     int count, const struct timeval *timeout );
-extern void default_fd_queue_async( struct fd *fd, void *apc, void *user, void *io_sb, int type, int count );
+extern void default_fd_queue_async( struct fd *fd, const async_data_t *data, int type, int count );
 extern void default_fd_cancel_async( struct fd *fd );
 extern int no_flush( struct fd *fd, struct event **event );
 extern enum server_fd_type no_get_file_info( struct fd *fd, int *flags );
-extern void no_queue_async( struct fd *fd, void* apc, void* user, void* io_sb, int type, int count);
+extern void no_queue_async( struct fd *fd, const async_data_t *data, int type, int count);
 extern void no_cancel_async( struct fd *fd );
 extern void main_loop(void);
 extern void remove_process_locks( struct process *process );
@@ -123,7 +123,7 @@
 
 /* async I/O functions */
 extern struct async *create_async( struct thread *thread, const struct timeval *timeout,
-                                   struct list *queue, void *, void *, void *);
+                                   struct list *queue, const async_data_t *data );
 extern void async_terminate_head( struct list *queue, unsigned int status );
 extern void async_terminate_queue( struct list *queue, unsigned int status );