server: Add an async_data_t structure to store parameters for async I/O requests.
diff --git a/server/sock.c b/server/sock.c
index 5830190..e8d6ef3 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -96,7 +96,7 @@
 static int sock_get_poll_events( struct fd *fd );
 static void sock_poll_event( struct fd *fd, int event );
 static enum server_fd_type sock_get_info( struct fd *fd, int *flags );
-static void sock_queue_async( struct fd *fd, void *apc, void *user, void *iosb, int type, int count );
+static void sock_queue_async( struct fd *fd, const async_data_t *data, int type, int count );
 static void sock_cancel_async( struct fd *fd );
 
 static int sock_get_error( int err );
@@ -508,8 +508,7 @@
     return FD_TYPE_SOCKET;
 }
 
-static void sock_queue_async( struct fd *fd, void *apc, void *user, void *iosb,
-                              int type, int count )
+static void sock_queue_async( struct fd *fd, const async_data_t *data, int type, int count )
 {
     struct sock *sock = get_fd_user( fd );
     struct list *queue;
@@ -544,8 +543,7 @@
     }
     else
     {
-        if (!create_async( current, NULL, queue, apc, user, iosb ))
-            return;
+        if (!create_async( current, NULL, queue, data )) return;
     }
 
     pollev = sock_reselect( sock );