Module: wine Branch: refs/heads/master Commit: 1acb930db82d805de6244f4f5b2ccdf839d28265 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=1acb930db82d805de6244f4f...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Dec 13 12:00:11 2005 +0100
server: Added get_file_info implementation for named pipe and mailslot devices.
---
server/mailslot.c | 18 ++++++++++++------ server/named_pipe.c | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/server/mailslot.c b/server/mailslot.c index d4e277b..12d9a78 100644 --- a/server/mailslot.c +++ b/server/mailslot.c @@ -153,6 +153,7 @@ static struct fd *mailslot_device_get_fd static struct object *mailslot_device_lookup_name( struct object *obj, struct unicode_str *name, unsigned int attr ); static void mailslot_device_destroy( struct object *obj ); +static int mailslot_device_get_file_info( struct fd *fd );
static const struct object_ops mailslot_device_ops = { @@ -172,12 +173,12 @@ static const struct object_ops mailslot_
static const struct fd_ops mailslot_device_fd_ops = { - default_fd_get_poll_events, /* get_poll_events */ - default_poll_event, /* poll_event */ - no_flush, /* flush */ - no_get_file_info, /* get_file_info */ - default_fd_queue_async, /* queue_async */ - default_fd_cancel_async /* cancel_async */ + default_fd_get_poll_events, /* get_poll_events */ + default_poll_event, /* poll_event */ + no_flush, /* flush */ + mailslot_device_get_file_info, /* get_file_info */ + default_fd_queue_async, /* queue_async */ + default_fd_cancel_async /* cancel_async */ };
static void mailslot_destroy( struct object *obj) @@ -304,6 +305,11 @@ static void mailslot_device_destroy( str if (device->mailslots) free( device->mailslots ); }
+static int mailslot_device_get_file_info( struct fd *fd ) +{ + return 0; +} + struct mailslot_device *create_mailslot_device( struct directory *root, const struct unicode_str *name ) { struct mailslot_device *dev; diff --git a/server/named_pipe.c b/server/named_pipe.c index d8892ed..8b25bc1 100644 --- a/server/named_pipe.c +++ b/server/named_pipe.c @@ -200,6 +200,7 @@ static struct fd *named_pipe_device_get_ static struct object *named_pipe_device_lookup_name( struct object *obj, struct unicode_str *name, unsigned int attr ); static void named_pipe_device_destroy( struct object *obj ); +static int named_pipe_device_get_file_info( struct fd *fd );
static const struct object_ops named_pipe_device_ops = { @@ -219,12 +220,12 @@ static const struct object_ops named_pip
static const struct fd_ops named_pipe_device_fd_ops = { - default_fd_get_poll_events, /* get_poll_events */ - default_poll_event, /* poll_event */ - no_flush, /* flush */ - no_get_file_info, /* get_file_info */ - default_fd_queue_async, /* queue_async */ - default_fd_cancel_async /* cancel_async */ + 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 */ + default_fd_queue_async, /* queue_async */ + default_fd_cancel_async /* cancel_async */ };
static void named_pipe_dump( struct object *obj, int verbose ) @@ -437,6 +438,11 @@ static void named_pipe_device_destroy( s if (device->pipes) free( device->pipes ); }
+static int named_pipe_device_get_file_info( struct fd *fd ) +{ + return 0; +} + /* this will be deleted as soon an we fix wait_named_pipe */ static struct named_pipe_device *named_pipe_device;