server: Return an fd type in the get_handle_fd request.
diff --git a/server/sock.c b/server/sock.c
index 9637469..a98057f 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -95,7 +95,7 @@
 
 static int sock_get_poll_events( struct fd *fd );
 static void sock_poll_event( struct fd *fd, int event );
-static int sock_get_info( struct fd *fd );
+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_cancel_async( struct fd *fd );
 
@@ -493,19 +493,19 @@
     return ev;
 }
 
-static int sock_get_info( struct fd *fd )
+static enum server_fd_type sock_get_info( struct fd *fd, int *flags )
 {
-    int flags = FD_FLAG_AVAILABLE;
     struct sock *sock = get_fd_user( fd );
     assert( sock->obj.ops == &sock_ops );
 
-    if (sock->flags & WSA_FLAG_OVERLAPPED) flags |= FD_FLAG_OVERLAPPED;
+    *flags = FD_FLAG_AVAILABLE;
+    if (sock->flags & WSA_FLAG_OVERLAPPED) *flags |= FD_FLAG_OVERLAPPED;
     if ( sock->type != SOCK_STREAM || sock->state & FD_WINE_CONNECTED )
     {
-        if ( !(sock->state & FD_READ  ) ) flags |= FD_FLAG_RECV_SHUTDOWN;
-        if ( !(sock->state & FD_WRITE ) ) flags |= FD_FLAG_SEND_SHUTDOWN;
+        if ( !(sock->state & FD_READ  ) ) *flags |= FD_FLAG_RECV_SHUTDOWN;
+        if ( !(sock->state & FD_WRITE ) ) *flags |= FD_FLAG_SEND_SHUTDOWN;
     }
-    return flags;
+    return FD_TYPE_SOCKET;
 }
 
 static void sock_queue_async( struct fd *fd, void *apc, void *user, void *iosb,