server: Rename the get_file_info function to get_fd_type and get rid of the flags.
diff --git a/server/change.c b/server/change.c index 00ffb94..6f4489d 100644 --- a/server/change.c +++ b/server/change.c
@@ -179,14 +179,14 @@ }; static int dir_get_poll_events( struct fd *fd ); -static enum server_fd_type dir_get_info( struct fd *fd, int *flags ); +static enum server_fd_type dir_get_fd_type( struct fd *fd ); static const struct fd_ops dir_fd_ops = { dir_get_poll_events, /* get_poll_events */ default_poll_event, /* poll_event */ no_flush, /* flush */ - dir_get_info, /* get_file_info */ + dir_get_fd_type, /* get_fd_type */ default_fd_queue_async, /* queue_async */ default_fd_reselect_async, /* reselect_async */ default_fd_cancel_async /* cancel_async */ @@ -342,9 +342,8 @@ return 0; } -static enum server_fd_type dir_get_info( struct fd *fd, int *flags ) +static enum server_fd_type dir_get_fd_type( struct fd *fd ) { - *flags = 0; return FD_TYPE_DIR; } @@ -520,7 +519,7 @@ inotify_get_poll_events, /* get_poll_events */ inotify_poll_event, /* poll_event */ no_flush, /* flush */ - no_get_file_info, /* get_file_info */ + no_get_fd_type, /* get_fd_type */ default_fd_queue_async, /* queue_async */ default_fd_reselect_async, /* reselect_async */ default_fd_cancel_async, /* cancel_async */
diff --git a/server/fd.c b/server/fd.c index c7ae7fb..c8688ec 100644 --- a/server/fd.c +++ b/server/fd.c
@@ -1779,10 +1779,9 @@ set_error( STATUS_OBJECT_TYPE_MISMATCH ); } -/* default get_file_info() routine */ -enum server_fd_type no_get_file_info( struct fd *fd, int *flags ) +/* default get_fd_type() routine */ +enum server_fd_type no_get_fd_type( struct fd *fd ) { - *flags = 0; return FD_TYPE_INVALID; } @@ -1908,7 +1907,8 @@ if ((fd = get_handle_fd_obj( current->process, req->handle, req->access ))) { - reply->type = fd->fd_ops->get_file_info( fd, &reply->flags ); + reply->flags = 0; + reply->type = fd->fd_ops->get_fd_type( fd ); if (reply->type != FD_TYPE_INVALID) { if (!(fd->options & (FILE_SYNCHRONOUS_IO_ALERT | FILE_SYNCHRONOUS_IO_NONALERT)))
diff --git a/server/file.c b/server/file.c index e6f1c71..8e10847 100644 --- a/server/file.c +++ b/server/file.c
@@ -69,7 +69,7 @@ static int file_get_poll_events( struct fd *fd ); static void file_flush( struct fd *fd, struct event **event ); -static enum server_fd_type file_get_info( struct fd *fd, int *flags ); +static enum server_fd_type file_get_fd_type( struct fd *fd ); static const struct object_ops file_ops = { @@ -93,7 +93,7 @@ file_get_poll_events, /* get_poll_events */ default_poll_event, /* poll_event */ file_flush, /* flush */ - file_get_info, /* get_file_info */ + file_get_fd_type, /* get_fd_type */ default_fd_queue_async, /* queue_async */ default_fd_reselect_async, /* reselect_async */ default_fd_cancel_async /* cancel_async */ @@ -232,9 +232,8 @@ if (unix_fd != -1 && fsync( unix_fd ) == -1) file_set_error(); } -static enum server_fd_type file_get_info( struct fd *fd, int *flags ) +static enum server_fd_type file_get_fd_type( struct fd *fd ) { - *flags = 0; return FD_TYPE_FILE; }
diff --git a/server/file.h b/server/file.h index e3a7cb5..25d74b2 100644 --- a/server/file.h +++ b/server/file.h
@@ -38,7 +38,7 @@ /* flush the object buffers */ void (*flush)(struct fd *, struct event **); /* get file information */ - enum server_fd_type (*get_file_info)(struct fd *fd, int *flags); + enum server_fd_type (*get_fd_type)(struct fd *fd); /* queue an async operation */ void (*queue_async)(struct fd *, const async_data_t *data, int type, int count); /* selected events for async i/o need an update */ @@ -78,7 +78,7 @@ extern void default_fd_reselect_async( struct fd *fd, struct async_queue *queue ); extern void default_fd_cancel_async( struct fd *fd ); extern void no_flush( struct fd *fd, struct event **event ); -extern enum server_fd_type no_get_file_info( struct fd *fd, int *flags ); +extern enum server_fd_type no_get_fd_type( struct fd *fd ); 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);
diff --git a/server/mailslot.c b/server/mailslot.c index abc6349..8e17862 100644 --- a/server/mailslot.c +++ b/server/mailslot.c
@@ -87,7 +87,7 @@ mailslot_destroy /* destroy */ }; -static enum server_fd_type mailslot_get_info( struct fd *fd, int *flags ); +static enum server_fd_type mailslot_get_fd_type( struct fd *fd ); static void mailslot_queue_async( struct fd *fd, const async_data_t *data, int type, int count ); static const struct fd_ops mailslot_fd_ops = @@ -95,7 +95,7 @@ default_fd_get_poll_events, /* get_poll_events */ default_poll_event, /* poll_event */ no_flush, /* flush */ - mailslot_get_info, /* get_file_info */ + mailslot_get_fd_type, /* get_fd_type */ mailslot_queue_async, /* queue_async */ default_fd_reselect_async, /* reselect_async */ default_fd_cancel_async /* cancel_async */ @@ -133,14 +133,14 @@ mail_writer_destroy /* destroy */ }; -static enum server_fd_type mail_writer_get_info( struct fd *fd, int *flags ); +static enum server_fd_type mail_writer_get_fd_type( struct fd *fd ); static const struct fd_ops mail_writer_fd_ops = { NULL, /* get_poll_events */ NULL, /* poll_event */ no_flush, /* flush */ - mail_writer_get_info, /* get_file_info */ + mail_writer_get_fd_type, /* get_fd_type */ no_queue_async, /* queue_async */ NULL /* cancel_async */ }; @@ -160,7 +160,7 @@ static struct object *mailslot_device_open_file( struct object *obj, unsigned int access, unsigned int sharing, unsigned int options ); static void mailslot_device_destroy( struct object *obj ); -static enum server_fd_type mailslot_device_get_file_info( struct fd *fd, int *flags ); +static enum server_fd_type mailslot_device_get_fd_type( struct fd *fd ); static const struct object_ops mailslot_device_ops = { @@ -184,7 +184,7 @@ default_fd_get_poll_events, /* get_poll_events */ default_poll_event, /* poll_event */ no_flush, /* flush */ - mailslot_device_get_file_info, /* get_file_info */ + mailslot_device_get_fd_type, /* get_fd_type */ default_fd_queue_async, /* queue_async */ default_fd_reselect_async, /* reselect_async */ default_fd_cancel_async /* cancel_async */ @@ -211,11 +211,8 @@ mailslot->max_msgsize, mailslot->read_timeout ); } -static enum server_fd_type mailslot_get_info( struct fd *fd, int *flags ) +static enum server_fd_type mailslot_get_fd_type( struct fd *fd ) { - struct mailslot *mailslot = get_fd_user( fd ); - assert( mailslot->obj.ops == &mailslot_ops ); - *flags = 0; return FD_TYPE_MAILSLOT; } @@ -331,9 +328,8 @@ free( device->mailslots ); } -static enum server_fd_type mailslot_device_get_file_info( struct fd *fd, int *flags ) +static enum server_fd_type mailslot_device_get_fd_type( struct fd *fd ) { - *flags = 0; return FD_TYPE_DEVICE; } @@ -435,9 +431,8 @@ release_object( writer->mailslot ); } -static enum server_fd_type mail_writer_get_info( struct fd *fd, int *flags ) +static enum server_fd_type mail_writer_get_fd_type( struct fd *fd ) { - *flags = 0; return FD_TYPE_MAILSLOT; }
diff --git a/server/named_pipe.c b/server/named_pipe.c index 738e368..d5b88a2 100644 --- a/server/named_pipe.c +++ b/server/named_pipe.c
@@ -137,7 +137,7 @@ static struct fd *pipe_server_get_fd( struct object *obj ); static void pipe_server_destroy( struct object *obj); static void pipe_server_flush( struct fd *fd, struct event **event ); -static enum server_fd_type pipe_server_get_info( struct fd *fd, int *flags ); +static enum server_fd_type pipe_server_get_fd_type( struct fd *fd ); static const struct object_ops pipe_server_ops = { @@ -161,7 +161,7 @@ default_fd_get_poll_events, /* get_poll_events */ default_poll_event, /* poll_event */ pipe_server_flush, /* flush */ - pipe_server_get_info, /* get_file_info */ + pipe_server_get_fd_type, /* get_fd_type */ default_fd_queue_async, /* queue_async */ default_fd_reselect_async, /* reselect_async */ default_fd_cancel_async, /* cancel_async */ @@ -172,7 +172,7 @@ static struct fd *pipe_client_get_fd( struct object *obj ); static void pipe_client_destroy( struct object *obj ); static void pipe_client_flush( struct fd *fd, struct event **event ); -static enum server_fd_type pipe_client_get_info( struct fd *fd, int *flags ); +static enum server_fd_type pipe_client_get_fd_type( struct fd *fd ); static const struct object_ops pipe_client_ops = { @@ -196,7 +196,7 @@ default_fd_get_poll_events, /* get_poll_events */ default_poll_event, /* poll_event */ pipe_client_flush, /* flush */ - pipe_client_get_info, /* get_file_info */ + pipe_client_get_fd_type, /* get_fd_type */ default_fd_queue_async, /* queue_async */ default_fd_reselect_async, /* reselect_async */ default_fd_cancel_async /* cancel_async */ @@ -209,7 +209,7 @@ static struct object *named_pipe_device_open_file( struct object *obj, unsigned int access, unsigned int sharing, unsigned int options ); static void named_pipe_device_destroy( struct object *obj ); -static enum server_fd_type named_pipe_device_get_file_info( struct fd *fd, int *flags ); +static enum server_fd_type named_pipe_device_get_fd_type( struct fd *fd ); static const struct object_ops named_pipe_device_ops = { @@ -233,7 +233,7 @@ default_fd_get_poll_events, /* get_poll_events */ default_poll_event, /* poll_event */ no_flush, /* flush */ - named_pipe_device_get_file_info, /* get_file_info */ + named_pipe_device_get_fd_type, /* get_fd_type */ default_fd_queue_async, /* queue_async */ default_fd_reselect_async, /* reselect_async */ default_fd_cancel_async /* cancel_async */ @@ -456,9 +456,8 @@ free( device->pipes ); } -static enum server_fd_type named_pipe_device_get_file_info( struct fd *fd, int *flags ) +static enum server_fd_type named_pipe_device_get_fd_type( struct fd *fd ) { - *flags = 0; return FD_TYPE_DEVICE; } @@ -555,15 +554,13 @@ return !(options & (FILE_SYNCHRONOUS_IO_ALERT | FILE_SYNCHRONOUS_IO_NONALERT)); } -static enum server_fd_type pipe_server_get_info( struct fd *fd, int *flags ) +static enum server_fd_type pipe_server_get_fd_type( struct fd *fd ) { - *flags = 0; return FD_TYPE_PIPE; } -static enum server_fd_type pipe_client_get_info( struct fd *fd, int *flags ) +static enum server_fd_type pipe_client_get_fd_type( struct fd *fd ) { - *flags = 0; return FD_TYPE_PIPE; }
diff --git a/server/process.c b/server/process.c index ee19aa4..1724a24 100644 --- a/server/process.c +++ b/server/process.c
@@ -85,7 +85,7 @@ NULL, /* get_poll_events */ process_poll_event, /* poll_event */ no_flush, /* flush */ - no_get_file_info, /* get_file_info */ + no_get_fd_type, /* get_fd_type */ no_queue_async, /* queue_async */ NULL, /* reselect_async */ no_cancel_async /* cancel async */
diff --git a/server/queue.c b/server/queue.c index 95fd3c9..7335cfc 100644 --- a/server/queue.c +++ b/server/queue.c
@@ -167,7 +167,7 @@ NULL, /* get_poll_events */ msg_queue_poll_event, /* poll_event */ no_flush, /* flush */ - no_get_file_info, /* get_file_info */ + no_get_fd_type, /* get_fd_type */ no_queue_async, /* queue_async */ NULL, /* reselect_async */ no_cancel_async /* cancel async */
diff --git a/server/request.c b/server/request.c index d9730d4..ec83ef9 100644 --- a/server/request.c +++ b/server/request.c
@@ -107,7 +107,7 @@ NULL, /* get_poll_events */ master_socket_poll_event, /* poll_event */ no_flush, /* flush */ - no_get_file_info, /* get_file_info */ + no_get_fd_type, /* get_fd_type */ no_queue_async, /* queue_async */ NULL, /* reselect_async */ no_cancel_async /* cancel_async */
diff --git a/server/serial.c b/server/serial.c index 63b925d..4d1853c 100644 --- a/server/serial.c +++ b/server/serial.c
@@ -61,7 +61,7 @@ static unsigned int serial_map_access( struct object *obj, unsigned int access ); static void serial_destroy(struct object *obj); -static enum server_fd_type serial_get_info( struct fd *fd, int *flags ); +static enum server_fd_type serial_get_fd_type( struct fd *fd ); static void serial_flush( struct fd *fd, struct event **event ); static void serial_queue_async( struct fd *fd, const async_data_t *data, int type, int count ); @@ -106,7 +106,7 @@ default_fd_get_poll_events, /* get_poll_events */ default_poll_event, /* poll_event */ serial_flush, /* flush */ - serial_get_info, /* get_file_info */ + serial_get_fd_type, /* get_file_info */ serial_queue_async, /* queue_async */ default_fd_reselect_async, /* reselect_async */ default_fd_cancel_async /* cancel_async */ @@ -171,12 +171,8 @@ return (struct serial *)get_handle_obj( process, handle, access, &serial_ops ); } -static enum server_fd_type serial_get_info( struct fd *fd, int *flags ) +static enum server_fd_type serial_get_fd_type( struct fd *fd ) { - struct serial *serial = get_fd_user( fd ); - assert( serial->obj.ops == &serial_ops ); - - *flags = 0; return FD_TYPE_SERIAL; }
diff --git a/server/signal.c b/server/signal.c index 927699f..89fc809 100644 --- a/server/signal.c +++ b/server/signal.c
@@ -83,7 +83,7 @@ NULL, /* get_poll_events */ handler_poll_event, /* poll_event */ no_flush, /* flush */ - no_get_file_info, /* get_file_info */ + no_get_fd_type, /* get_fd_type */ no_queue_async, /* queue_async */ NULL, /* reselect_async */ no_cancel_async /* cancel_async */
diff --git a/server/sock.c b/server/sock.c index 03cb357..817c6bd 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 enum server_fd_type sock_get_info( struct fd *fd, int *flags ); +static enum server_fd_type sock_get_fd_type( struct fd *fd ); static void sock_queue_async( struct fd *fd, const async_data_t *data, int type, int count ); static void sock_reselect_async( struct fd *fd, struct async_queue *queue ); static void sock_cancel_async( struct fd *fd ); @@ -125,7 +125,7 @@ sock_get_poll_events, /* get_poll_events */ sock_poll_event, /* poll_event */ no_flush, /* flush */ - sock_get_info, /* get_file_info */ + sock_get_fd_type, /* get_file_info */ sock_queue_async, /* queue_async */ sock_reselect_async, /* reselect_async */ sock_cancel_async /* cancel_async */ @@ -491,17 +491,8 @@ return ev; } -static enum server_fd_type sock_get_info( struct fd *fd, int *flags ) +static enum server_fd_type sock_get_fd_type( struct fd *fd ) { - struct sock *sock = get_fd_user( fd ); - assert( sock->obj.ops == &sock_ops ); - - *flags = 0; - 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; - } return FD_TYPE_SOCKET; }
diff --git a/server/thread.c b/server/thread.c index 2bac636..a4a113d 100644 --- a/server/thread.c +++ b/server/thread.c
@@ -130,7 +130,7 @@ NULL, /* get_poll_events */ thread_poll_event, /* poll_event */ no_flush, /* flush */ - no_get_file_info, /* get_file_info */ + no_get_fd_type, /* get_fd_type */ no_queue_async, /* queue_async */ NULL, /* reselect_async */ no_cancel_async /* cancel_async */