Commit 1acb930d authored by Alexandre Julliard's avatar Alexandre Julliard

server: Added get_file_info implementation for named pipe and mailslot devices.

parent 5bcd0888
......@@ -153,6 +153,7 @@ static struct fd *mailslot_device_get_fd( struct object *obj );
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_device_ops =
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( struct object *obj )
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;
......
......@@ -200,6 +200,7 @@ static struct fd *named_pipe_device_get_fd( struct object *obj );
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_pipe_device_ops =
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( struct object *obj )
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;
......
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