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,