Commit 7a9363a4 authored by Alexandre Julliard's avatar Alexandre Julliard

server: Rename the get_file_info function to get_fd_type and get rid of the flags.

parent f85437c5
...@@ -179,14 +179,14 @@ static const struct object_ops dir_ops = ...@@ -179,14 +179,14 @@ static const struct object_ops dir_ops =
}; };
static int dir_get_poll_events( struct fd *fd ); 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 = static const struct fd_ops dir_fd_ops =
{ {
dir_get_poll_events, /* get_poll_events */ dir_get_poll_events, /* get_poll_events */
default_poll_event, /* poll_event */ default_poll_event, /* poll_event */
no_flush, /* flush */ no_flush, /* flush */
dir_get_info, /* get_file_info */ dir_get_fd_type, /* get_fd_type */
default_fd_queue_async, /* queue_async */ default_fd_queue_async, /* queue_async */
default_fd_reselect_async, /* reselect_async */ default_fd_reselect_async, /* reselect_async */
default_fd_cancel_async /* cancel_async */ default_fd_cancel_async /* cancel_async */
...@@ -342,9 +342,8 @@ static int dir_get_poll_events( struct fd *fd ) ...@@ -342,9 +342,8 @@ static int dir_get_poll_events( struct fd *fd )
return 0; 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; return FD_TYPE_DIR;
} }
...@@ -520,7 +519,7 @@ static const struct fd_ops inotify_fd_ops = ...@@ -520,7 +519,7 @@ static const struct fd_ops inotify_fd_ops =
inotify_get_poll_events, /* get_poll_events */ inotify_get_poll_events, /* get_poll_events */
inotify_poll_event, /* poll_event */ inotify_poll_event, /* poll_event */
no_flush, /* flush */ 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_queue_async, /* queue_async */
default_fd_reselect_async, /* reselect_async */ default_fd_reselect_async, /* reselect_async */
default_fd_cancel_async, /* cancel_async */ default_fd_cancel_async, /* cancel_async */
......
...@@ -1779,10 +1779,9 @@ void no_flush( struct fd *fd, struct event **event ) ...@@ -1779,10 +1779,9 @@ void no_flush( struct fd *fd, struct event **event )
set_error( STATUS_OBJECT_TYPE_MISMATCH ); set_error( STATUS_OBJECT_TYPE_MISMATCH );
} }
/* default get_file_info() routine */ /* default get_fd_type() routine */
enum server_fd_type no_get_file_info( struct fd *fd, int *flags ) enum server_fd_type no_get_fd_type( struct fd *fd )
{ {
*flags = 0;
return FD_TYPE_INVALID; return FD_TYPE_INVALID;
} }
...@@ -1908,7 +1907,8 @@ DECL_HANDLER(get_handle_fd) ...@@ -1908,7 +1907,8 @@ DECL_HANDLER(get_handle_fd)
if ((fd = get_handle_fd_obj( current->process, req->handle, req->access ))) 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 (reply->type != FD_TYPE_INVALID)
{ {
if (!(fd->options & (FILE_SYNCHRONOUS_IO_ALERT | FILE_SYNCHRONOUS_IO_NONALERT))) if (!(fd->options & (FILE_SYNCHRONOUS_IO_ALERT | FILE_SYNCHRONOUS_IO_NONALERT)))
......
...@@ -69,7 +69,7 @@ static void file_destroy( struct object *obj ); ...@@ -69,7 +69,7 @@ static void file_destroy( struct object *obj );
static int file_get_poll_events( struct fd *fd ); static int file_get_poll_events( struct fd *fd );
static void file_flush( struct fd *fd, struct event **event ); 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 = static const struct object_ops file_ops =
{ {
...@@ -93,7 +93,7 @@ static const struct fd_ops file_fd_ops = ...@@ -93,7 +93,7 @@ static const struct fd_ops file_fd_ops =
file_get_poll_events, /* get_poll_events */ file_get_poll_events, /* get_poll_events */
default_poll_event, /* poll_event */ default_poll_event, /* poll_event */
file_flush, /* flush */ file_flush, /* flush */
file_get_info, /* get_file_info */ file_get_fd_type, /* get_fd_type */
default_fd_queue_async, /* queue_async */ default_fd_queue_async, /* queue_async */
default_fd_reselect_async, /* reselect_async */ default_fd_reselect_async, /* reselect_async */
default_fd_cancel_async /* cancel_async */ default_fd_cancel_async /* cancel_async */
...@@ -232,9 +232,8 @@ static void file_flush( struct fd *fd, struct event **event ) ...@@ -232,9 +232,8 @@ static void file_flush( struct fd *fd, struct event **event )
if (unix_fd != -1 && fsync( unix_fd ) == -1) file_set_error(); 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; return FD_TYPE_FILE;
} }
......
...@@ -38,7 +38,7 @@ struct fd_ops ...@@ -38,7 +38,7 @@ struct fd_ops
/* flush the object buffers */ /* flush the object buffers */
void (*flush)(struct fd *, struct event **); void (*flush)(struct fd *, struct event **);
/* get file information */ /* 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 */ /* queue an async operation */
void (*queue_async)(struct fd *, const async_data_t *data, int type, int count); void (*queue_async)(struct fd *, const async_data_t *data, int type, int count);
/* selected events for async i/o need an update */ /* selected events for async i/o need an update */
...@@ -78,7 +78,7 @@ extern void default_fd_queue_async( struct fd *fd, const async_data_t *data, int ...@@ -78,7 +78,7 @@ extern void default_fd_queue_async( struct fd *fd, const async_data_t *data, int
extern void default_fd_reselect_async( struct fd *fd, struct async_queue *queue ); extern void default_fd_reselect_async( struct fd *fd, struct async_queue *queue );
extern void default_fd_cancel_async( struct fd *fd ); extern void default_fd_cancel_async( struct fd *fd );
extern void no_flush( struct fd *fd, struct event **event ); 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_queue_async( struct fd *fd, const async_data_t *data, int type, int count);
extern void no_cancel_async( struct fd *fd ); extern void no_cancel_async( struct fd *fd );
extern void main_loop(void); extern void main_loop(void);
......
...@@ -87,7 +87,7 @@ static const struct object_ops mailslot_ops = ...@@ -87,7 +87,7 @@ static const struct object_ops mailslot_ops =
mailslot_destroy /* destroy */ 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 void mailslot_queue_async( struct fd *fd, const async_data_t *data, int type, int count );
static const struct fd_ops mailslot_fd_ops = static const struct fd_ops mailslot_fd_ops =
...@@ -95,7 +95,7 @@ static const struct fd_ops mailslot_fd_ops = ...@@ -95,7 +95,7 @@ static const struct fd_ops mailslot_fd_ops =
default_fd_get_poll_events, /* get_poll_events */ default_fd_get_poll_events, /* get_poll_events */
default_poll_event, /* poll_event */ default_poll_event, /* poll_event */
no_flush, /* flush */ no_flush, /* flush */
mailslot_get_info, /* get_file_info */ mailslot_get_fd_type, /* get_fd_type */
mailslot_queue_async, /* queue_async */ mailslot_queue_async, /* queue_async */
default_fd_reselect_async, /* reselect_async */ default_fd_reselect_async, /* reselect_async */
default_fd_cancel_async /* cancel_async */ default_fd_cancel_async /* cancel_async */
...@@ -133,14 +133,14 @@ static const struct object_ops mail_writer_ops = ...@@ -133,14 +133,14 @@ static const struct object_ops mail_writer_ops =
mail_writer_destroy /* destroy */ 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 = static const struct fd_ops mail_writer_fd_ops =
{ {
NULL, /* get_poll_events */ NULL, /* get_poll_events */
NULL, /* poll_event */ NULL, /* poll_event */
no_flush, /* flush */ no_flush, /* flush */
mail_writer_get_info, /* get_file_info */ mail_writer_get_fd_type, /* get_fd_type */
no_queue_async, /* queue_async */ no_queue_async, /* queue_async */
NULL /* cancel_async */ NULL /* cancel_async */
}; };
...@@ -160,7 +160,7 @@ static struct object *mailslot_device_lookup_name( struct object *obj, struct un ...@@ -160,7 +160,7 @@ static struct object *mailslot_device_lookup_name( struct object *obj, struct un
static struct object *mailslot_device_open_file( struct object *obj, unsigned int access, static struct object *mailslot_device_open_file( struct object *obj, unsigned int access,
unsigned int sharing, unsigned int options ); unsigned int sharing, unsigned int options );
static void mailslot_device_destroy( struct object *obj ); 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 = static const struct object_ops mailslot_device_ops =
{ {
...@@ -184,7 +184,7 @@ static const struct fd_ops mailslot_device_fd_ops = ...@@ -184,7 +184,7 @@ static const struct fd_ops mailslot_device_fd_ops =
default_fd_get_poll_events, /* get_poll_events */ default_fd_get_poll_events, /* get_poll_events */
default_poll_event, /* poll_event */ default_poll_event, /* poll_event */
no_flush, /* flush */ 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_queue_async, /* queue_async */
default_fd_reselect_async, /* reselect_async */ default_fd_reselect_async, /* reselect_async */
default_fd_cancel_async /* cancel_async */ default_fd_cancel_async /* cancel_async */
...@@ -211,11 +211,8 @@ static void mailslot_dump( struct object *obj, int verbose ) ...@@ -211,11 +211,8 @@ static void mailslot_dump( struct object *obj, int verbose )
mailslot->max_msgsize, mailslot->read_timeout ); 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; return FD_TYPE_MAILSLOT;
} }
...@@ -331,9 +328,8 @@ static void mailslot_device_destroy( struct object *obj ) ...@@ -331,9 +328,8 @@ static void mailslot_device_destroy( struct object *obj )
free( device->mailslots ); 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; return FD_TYPE_DEVICE;
} }
...@@ -435,9 +431,8 @@ static void mail_writer_destroy( struct object *obj) ...@@ -435,9 +431,8 @@ static void mail_writer_destroy( struct object *obj)
release_object( writer->mailslot ); 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; return FD_TYPE_MAILSLOT;
} }
......
...@@ -137,7 +137,7 @@ static void pipe_server_dump( struct object *obj, int verbose ); ...@@ -137,7 +137,7 @@ static void pipe_server_dump( struct object *obj, int verbose );
static struct fd *pipe_server_get_fd( struct object *obj ); static struct fd *pipe_server_get_fd( struct object *obj );
static void pipe_server_destroy( struct object *obj); static void pipe_server_destroy( struct object *obj);
static void pipe_server_flush( struct fd *fd, struct event **event ); 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 = static const struct object_ops pipe_server_ops =
{ {
...@@ -161,7 +161,7 @@ static const struct fd_ops pipe_server_fd_ops = ...@@ -161,7 +161,7 @@ static const struct fd_ops pipe_server_fd_ops =
default_fd_get_poll_events, /* get_poll_events */ default_fd_get_poll_events, /* get_poll_events */
default_poll_event, /* poll_event */ default_poll_event, /* poll_event */
pipe_server_flush, /* flush */ 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_queue_async, /* queue_async */
default_fd_reselect_async, /* reselect_async */ default_fd_reselect_async, /* reselect_async */
default_fd_cancel_async, /* cancel_async */ default_fd_cancel_async, /* cancel_async */
...@@ -172,7 +172,7 @@ static void pipe_client_dump( struct object *obj, int verbose ); ...@@ -172,7 +172,7 @@ static void pipe_client_dump( struct object *obj, int verbose );
static struct fd *pipe_client_get_fd( struct object *obj ); static struct fd *pipe_client_get_fd( struct object *obj );
static void pipe_client_destroy( struct object *obj ); static void pipe_client_destroy( struct object *obj );
static void pipe_client_flush( struct fd *fd, struct event **event ); 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 = static const struct object_ops pipe_client_ops =
{ {
...@@ -196,7 +196,7 @@ static const struct fd_ops pipe_client_fd_ops = ...@@ -196,7 +196,7 @@ static const struct fd_ops pipe_client_fd_ops =
default_fd_get_poll_events, /* get_poll_events */ default_fd_get_poll_events, /* get_poll_events */
default_poll_event, /* poll_event */ default_poll_event, /* poll_event */
pipe_client_flush, /* flush */ 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_queue_async, /* queue_async */
default_fd_reselect_async, /* reselect_async */ default_fd_reselect_async, /* reselect_async */
default_fd_cancel_async /* cancel_async */ default_fd_cancel_async /* cancel_async */
...@@ -209,7 +209,7 @@ static struct object *named_pipe_device_lookup_name( struct object *obj, ...@@ -209,7 +209,7 @@ static struct object *named_pipe_device_lookup_name( struct object *obj,
static struct object *named_pipe_device_open_file( struct object *obj, unsigned int access, static struct object *named_pipe_device_open_file( struct object *obj, unsigned int access,
unsigned int sharing, unsigned int options ); unsigned int sharing, unsigned int options );
static void named_pipe_device_destroy( struct object *obj ); 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 = static const struct object_ops named_pipe_device_ops =
{ {
...@@ -233,7 +233,7 @@ static const struct fd_ops named_pipe_device_fd_ops = ...@@ -233,7 +233,7 @@ static const struct fd_ops named_pipe_device_fd_ops =
default_fd_get_poll_events, /* get_poll_events */ default_fd_get_poll_events, /* get_poll_events */
default_poll_event, /* poll_event */ default_poll_event, /* poll_event */
no_flush, /* flush */ 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_queue_async, /* queue_async */
default_fd_reselect_async, /* reselect_async */ default_fd_reselect_async, /* reselect_async */
default_fd_cancel_async /* cancel_async */ default_fd_cancel_async /* cancel_async */
...@@ -456,9 +456,8 @@ static void named_pipe_device_destroy( struct object *obj ) ...@@ -456,9 +456,8 @@ static void named_pipe_device_destroy( struct object *obj )
free( device->pipes ); 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; return FD_TYPE_DEVICE;
} }
...@@ -555,15 +554,13 @@ static inline int is_overlapped( unsigned int options ) ...@@ -555,15 +554,13 @@ static inline int is_overlapped( unsigned int options )
return !(options & (FILE_SYNCHRONOUS_IO_ALERT | FILE_SYNCHRONOUS_IO_NONALERT)); 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; 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; return FD_TYPE_PIPE;
} }
......
...@@ -85,7 +85,7 @@ static const struct fd_ops process_fd_ops = ...@@ -85,7 +85,7 @@ static const struct fd_ops process_fd_ops =
NULL, /* get_poll_events */ NULL, /* get_poll_events */
process_poll_event, /* poll_event */ process_poll_event, /* poll_event */
no_flush, /* flush */ no_flush, /* flush */
no_get_file_info, /* get_file_info */ no_get_fd_type, /* get_fd_type */
no_queue_async, /* queue_async */ no_queue_async, /* queue_async */
NULL, /* reselect_async */ NULL, /* reselect_async */
no_cancel_async /* cancel async */ no_cancel_async /* cancel async */
......
...@@ -167,7 +167,7 @@ static const struct fd_ops msg_queue_fd_ops = ...@@ -167,7 +167,7 @@ static const struct fd_ops msg_queue_fd_ops =
NULL, /* get_poll_events */ NULL, /* get_poll_events */
msg_queue_poll_event, /* poll_event */ msg_queue_poll_event, /* poll_event */
no_flush, /* flush */ no_flush, /* flush */
no_get_file_info, /* get_file_info */ no_get_fd_type, /* get_fd_type */
no_queue_async, /* queue_async */ no_queue_async, /* queue_async */
NULL, /* reselect_async */ NULL, /* reselect_async */
no_cancel_async /* cancel async */ no_cancel_async /* cancel async */
......
...@@ -107,7 +107,7 @@ static const struct fd_ops master_socket_fd_ops = ...@@ -107,7 +107,7 @@ static const struct fd_ops master_socket_fd_ops =
NULL, /* get_poll_events */ NULL, /* get_poll_events */
master_socket_poll_event, /* poll_event */ master_socket_poll_event, /* poll_event */
no_flush, /* flush */ no_flush, /* flush */
no_get_file_info, /* get_file_info */ no_get_fd_type, /* get_fd_type */
no_queue_async, /* queue_async */ no_queue_async, /* queue_async */
NULL, /* reselect_async */ NULL, /* reselect_async */
no_cancel_async /* cancel_async */ no_cancel_async /* cancel_async */
......
...@@ -61,7 +61,7 @@ static struct fd *serial_get_fd( struct object *obj ); ...@@ -61,7 +61,7 @@ static struct fd *serial_get_fd( struct object *obj );
static unsigned int serial_map_access( struct object *obj, unsigned int access ); static unsigned int serial_map_access( struct object *obj, unsigned int access );
static void serial_destroy(struct object *obj); 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_flush( struct fd *fd, struct event **event );
static void serial_queue_async( struct fd *fd, const async_data_t *data, int type, int count ); static void serial_queue_async( struct fd *fd, const async_data_t *data, int type, int count );
...@@ -106,7 +106,7 @@ static const struct fd_ops serial_fd_ops = ...@@ -106,7 +106,7 @@ static const struct fd_ops serial_fd_ops =
default_fd_get_poll_events, /* get_poll_events */ default_fd_get_poll_events, /* get_poll_events */
default_poll_event, /* poll_event */ default_poll_event, /* poll_event */
serial_flush, /* flush */ serial_flush, /* flush */
serial_get_info, /* get_file_info */ serial_get_fd_type, /* get_file_info */
serial_queue_async, /* queue_async */ serial_queue_async, /* queue_async */
default_fd_reselect_async, /* reselect_async */ default_fd_reselect_async, /* reselect_async */
default_fd_cancel_async /* cancel_async */ default_fd_cancel_async /* cancel_async */
...@@ -171,12 +171,8 @@ static struct serial *get_serial_obj( struct process *process, obj_handle_t hand ...@@ -171,12 +171,8 @@ static struct serial *get_serial_obj( struct process *process, obj_handle_t hand
return (struct serial *)get_handle_obj( process, handle, access, &serial_ops ); 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; return FD_TYPE_SERIAL;
} }
......
...@@ -83,7 +83,7 @@ static const struct fd_ops handler_fd_ops = ...@@ -83,7 +83,7 @@ static const struct fd_ops handler_fd_ops =
NULL, /* get_poll_events */ NULL, /* get_poll_events */
handler_poll_event, /* poll_event */ handler_poll_event, /* poll_event */
no_flush, /* flush */ no_flush, /* flush */
no_get_file_info, /* get_file_info */ no_get_fd_type, /* get_fd_type */
no_queue_async, /* queue_async */ no_queue_async, /* queue_async */
NULL, /* reselect_async */ NULL, /* reselect_async */
no_cancel_async /* cancel_async */ no_cancel_async /* cancel_async */
......
...@@ -95,7 +95,7 @@ static void sock_destroy( struct object *obj ); ...@@ -95,7 +95,7 @@ static void sock_destroy( struct object *obj );
static int sock_get_poll_events( struct fd *fd ); static int sock_get_poll_events( struct fd *fd );
static void sock_poll_event( struct fd *fd, int event ); 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_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_reselect_async( struct fd *fd, struct async_queue *queue );
static void sock_cancel_async( struct fd *fd ); static void sock_cancel_async( struct fd *fd );
...@@ -125,7 +125,7 @@ static const struct fd_ops sock_fd_ops = ...@@ -125,7 +125,7 @@ static const struct fd_ops sock_fd_ops =
sock_get_poll_events, /* get_poll_events */ sock_get_poll_events, /* get_poll_events */
sock_poll_event, /* poll_event */ sock_poll_event, /* poll_event */
no_flush, /* flush */ no_flush, /* flush */
sock_get_info, /* get_file_info */ sock_get_fd_type, /* get_file_info */
sock_queue_async, /* queue_async */ sock_queue_async, /* queue_async */
sock_reselect_async, /* reselect_async */ sock_reselect_async, /* reselect_async */
sock_cancel_async /* cancel_async */ sock_cancel_async /* cancel_async */
...@@ -491,17 +491,8 @@ static int sock_get_poll_events( struct fd *fd ) ...@@ -491,17 +491,8 @@ static int sock_get_poll_events( struct fd *fd )
return ev; 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; return FD_TYPE_SOCKET;
} }
......
...@@ -130,7 +130,7 @@ static const struct fd_ops thread_fd_ops = ...@@ -130,7 +130,7 @@ static const struct fd_ops thread_fd_ops =
NULL, /* get_poll_events */ NULL, /* get_poll_events */
thread_poll_event, /* poll_event */ thread_poll_event, /* poll_event */
no_flush, /* flush */ no_flush, /* flush */
no_get_file_info, /* get_file_info */ no_get_fd_type, /* get_fd_type */
no_queue_async, /* queue_async */ no_queue_async, /* queue_async */
NULL, /* reselect_async */ NULL, /* reselect_async */
no_cancel_async /* cancel_async */ no_cancel_async /* cancel_async */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment