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

This commit is contained in:
Alexandre Julliard 2005-12-13 12:00:11 +01:00
parent 5bcd0888ef
commit 1acb930db8
2 changed files with 24 additions and 12 deletions

View file

@ -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;

View file

@ -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;