server: Add an open_file() function to the object operations.
This commit is contained in:
parent
c6bf5108da
commit
7e71c1ddee
|
@ -57,6 +57,7 @@ static const struct object_ops async_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
async_destroy /* destroy */
|
async_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -84,6 +84,7 @@ static const struct object_ops atom_table_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
atom_table_destroy /* destroy */
|
atom_table_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -177,6 +177,7 @@ static const struct object_ops dir_ops =
|
||||||
dir_get_fd, /* get_fd */
|
dir_get_fd, /* get_fd */
|
||||||
dir_map_access, /* map_access */
|
dir_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
dir_destroy /* destroy */
|
dir_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -60,6 +60,7 @@ static const struct object_ops clipboard_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
no_destroy /* destroy */
|
no_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -59,6 +59,7 @@ static const struct object_ops console_input_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
console_map_access, /* map_access */
|
console_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
console_input_destroy /* destroy */
|
console_input_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -87,6 +88,7 @@ static const struct object_ops console_input_events_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
console_map_access, /* map_access */
|
console_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
console_input_events_destroy /* destroy */
|
console_input_events_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -126,6 +128,7 @@ static const struct object_ops screen_buffer_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
console_map_access, /* map_access */
|
console_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
screen_buffer_destroy /* destroy */
|
screen_buffer_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -78,6 +78,7 @@ static const struct object_ops debug_event_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
debug_event_destroy /* destroy */
|
debug_event_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -98,6 +99,7 @@ static const struct object_ops debug_ctx_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
debug_ctx_destroy /* destroy */
|
debug_ctx_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -65,6 +65,7 @@ static const struct object_ops directory_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
directory_map_access, /* map_access */
|
directory_map_access, /* map_access */
|
||||||
directory_lookup_name, /* lookup_name */
|
directory_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
directory_destroy /* destroy */
|
directory_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -60,6 +60,7 @@ static const struct object_ops event_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
event_map_access, /* map_access */
|
event_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
no_destroy /* destroy */
|
no_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -190,6 +190,7 @@ static const struct object_ops fd_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
fd_destroy /* destroy */
|
fd_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -223,6 +224,7 @@ static const struct object_ops device_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
device_destroy /* destroy */
|
device_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -255,6 +257,7 @@ static const struct object_ops inode_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
inode_destroy /* destroy */
|
inode_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -289,6 +292,7 @@ static const struct object_ops file_lock_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
no_destroy /* destroy */
|
no_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -84,6 +84,7 @@ static const struct object_ops file_ops =
|
||||||
file_get_fd, /* get_fd */
|
file_get_fd, /* get_fd */
|
||||||
file_map_access, /* map_access */
|
file_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
file_destroy /* destroy */
|
file_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -112,6 +112,7 @@ static const struct object_ops handle_table_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
handle_table_destroy /* destroy */
|
handle_table_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -85,6 +85,7 @@ static const struct object_ops hook_table_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
hook_table_destroy /* destroy */
|
hook_table_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -80,6 +80,7 @@ static const struct object_ops mailslot_ops =
|
||||||
mailslot_get_fd, /* get_fd */
|
mailslot_get_fd, /* get_fd */
|
||||||
mailslot_map_access, /* map_access */
|
mailslot_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
mailslot_destroy /* destroy */
|
mailslot_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -124,6 +125,7 @@ static const struct object_ops mail_writer_ops =
|
||||||
mail_writer_get_fd, /* get_fd */
|
mail_writer_get_fd, /* get_fd */
|
||||||
mail_writer_map_access, /* map_access */
|
mail_writer_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
mail_writer_destroy /* destroy */
|
mail_writer_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -167,6 +169,7 @@ static const struct object_ops mailslot_device_ops =
|
||||||
mailslot_device_get_fd, /* get_fd */
|
mailslot_device_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
mailslot_device_lookup_name, /* lookup_name */
|
mailslot_device_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
mailslot_device_destroy /* destroy */
|
mailslot_device_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -68,6 +68,7 @@ static const struct object_ops mapping_ops =
|
||||||
mapping_get_fd, /* get_fd */
|
mapping_get_fd, /* get_fd */
|
||||||
mapping_map_access, /* map_access */
|
mapping_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
mapping_destroy /* destroy */
|
mapping_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -63,6 +63,7 @@ static const struct object_ops mutex_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
mutex_map_access, /* map_access */
|
mutex_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
mutex_destroy /* destroy */
|
mutex_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -122,6 +122,7 @@ static const struct object_ops named_pipe_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
named_pipe_map_access, /* map_access */
|
named_pipe_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
named_pipe_destroy /* destroy */
|
named_pipe_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -148,6 +149,7 @@ static const struct object_ops pipe_server_ops =
|
||||||
pipe_server_get_fd, /* get_fd */
|
pipe_server_get_fd, /* get_fd */
|
||||||
pipe_map_access, /* map_access */
|
pipe_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
pipe_server_destroy /* destroy */
|
pipe_server_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -181,6 +183,7 @@ static const struct object_ops pipe_client_ops =
|
||||||
pipe_client_get_fd, /* get_fd */
|
pipe_client_get_fd, /* get_fd */
|
||||||
pipe_map_access, /* map_access */
|
pipe_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
pipe_client_destroy /* destroy */
|
pipe_client_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -214,6 +217,7 @@ static const struct object_ops named_pipe_device_ops =
|
||||||
named_pipe_device_get_fd, /* get_fd */
|
named_pipe_device_get_fd, /* get_fd */
|
||||||
pipe_map_access, /* map_access */
|
pipe_map_access, /* map_access */
|
||||||
named_pipe_device_lookup_name, /* lookup_name */
|
named_pipe_device_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
named_pipe_device_destroy /* destroy */
|
named_pipe_device_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -371,6 +371,13 @@ struct object *no_lookup_name( struct object *obj, struct unicode_str *name,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct object *no_open_file( struct object *obj, unsigned int access, unsigned int sharing,
|
||||||
|
unsigned int options )
|
||||||
|
{
|
||||||
|
set_error( STATUS_OBJECT_TYPE_MISMATCH );
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
int no_close_handle( struct object *obj, struct process *process, obj_handle_t handle )
|
int no_close_handle( struct object *obj, struct process *process, obj_handle_t handle )
|
||||||
{
|
{
|
||||||
return 1; /* ok to close */
|
return 1; /* ok to close */
|
||||||
|
|
|
@ -76,6 +76,9 @@ struct object_ops
|
||||||
unsigned int (*map_access)(struct object *, unsigned int);
|
unsigned int (*map_access)(struct object *, unsigned int);
|
||||||
/* lookup a name if an object has a namespace */
|
/* lookup a name if an object has a namespace */
|
||||||
struct object *(*lookup_name)(struct object *, struct unicode_str *,unsigned int);
|
struct object *(*lookup_name)(struct object *, struct unicode_str *,unsigned int);
|
||||||
|
/* open a file object to access this object */
|
||||||
|
struct object *(*open_file)(struct object *, unsigned int access, unsigned int sharing,
|
||||||
|
unsigned int options);
|
||||||
/* close a handle to this object */
|
/* close a handle to this object */
|
||||||
int (*close_handle)(struct object *,struct process *,obj_handle_t);
|
int (*close_handle)(struct object *,struct process *,obj_handle_t);
|
||||||
/* destroy on refcount == 0 */
|
/* destroy on refcount == 0 */
|
||||||
|
@ -125,6 +128,8 @@ extern int no_signal( struct object *obj, unsigned int access );
|
||||||
extern struct fd *no_get_fd( struct object *obj );
|
extern struct fd *no_get_fd( struct object *obj );
|
||||||
extern unsigned int no_map_access( struct object *obj, unsigned int access );
|
extern unsigned int no_map_access( struct object *obj, unsigned int access );
|
||||||
extern struct object *no_lookup_name( struct object *obj, struct unicode_str *name, unsigned int attributes );
|
extern struct object *no_lookup_name( struct object *obj, struct unicode_str *name, unsigned int attributes );
|
||||||
|
extern struct object *no_open_file( struct object *obj, unsigned int access, unsigned int sharing,
|
||||||
|
unsigned int options );
|
||||||
extern int no_close_handle( struct object *obj, struct process *process, obj_handle_t handle );
|
extern int no_close_handle( struct object *obj, struct process *process, obj_handle_t handle );
|
||||||
extern void no_destroy( struct object *obj );
|
extern void no_destroy( struct object *obj );
|
||||||
#ifdef DEBUG_OBJECTS
|
#ifdef DEBUG_OBJECTS
|
||||||
|
|
|
@ -75,6 +75,7 @@ static const struct object_ops process_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
process_map_access, /* map_access */
|
process_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
process_destroy /* destroy */
|
process_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -119,6 +120,7 @@ static const struct object_ops startup_info_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
startup_info_destroy /* destroy */
|
startup_info_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -155,6 +155,7 @@ static const struct object_ops msg_queue_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
msg_queue_destroy /* destroy */
|
msg_queue_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -172,6 +173,7 @@ static const struct object_ops thread_input_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
thread_input_destroy /* destroy */
|
thread_input_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -150,6 +150,7 @@ static const struct object_ops key_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
key_map_access, /* map_access */
|
key_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
key_close_handle, /* close_handle */
|
key_close_handle, /* close_handle */
|
||||||
key_destroy /* destroy */
|
key_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -97,6 +97,7 @@ static const struct object_ops master_socket_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
master_socket_destroy /* destroy */
|
master_socket_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -60,6 +60,7 @@ static const struct object_ops semaphore_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
semaphore_map_access, /* map_access */
|
semaphore_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
no_destroy /* destroy */
|
no_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -104,6 +104,7 @@ static const struct object_ops serial_ops =
|
||||||
serial_get_fd, /* get_fd */
|
serial_get_fd, /* get_fd */
|
||||||
serial_map_access, /* map_access */
|
serial_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
serial_destroy /* destroy */
|
serial_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -71,6 +71,7 @@ static const struct object_ops handler_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
handler_destroy /* destroy */
|
handler_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -69,6 +69,7 @@ static const struct object_ops snapshot_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
snapshot_destroy /* destroy */
|
snapshot_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -114,6 +114,7 @@ static const struct object_ops sock_ops =
|
||||||
sock_get_fd, /* get_fd */
|
sock_get_fd, /* get_fd */
|
||||||
sock_map_access, /* map_access */
|
sock_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
fd_close_handle, /* close_handle */
|
fd_close_handle, /* close_handle */
|
||||||
sock_destroy /* destroy */
|
sock_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -63,6 +63,7 @@ static const struct object_ops symlink_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
symlink_map_access, /* map_access */
|
symlink_map_access, /* map_access */
|
||||||
symlink_lookup_name, /* lookup_name */
|
symlink_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
symlink_destroy /* destroy */
|
symlink_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -94,6 +94,7 @@ static const struct object_ops thread_apc_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
no_map_access, /* map_access */
|
no_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
thread_apc_destroy /* destroy */
|
thread_apc_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -119,6 +120,7 @@ static const struct object_ops thread_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
thread_map_access, /* map_access */
|
thread_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
destroy_thread /* destroy */
|
destroy_thread /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -68,6 +68,7 @@ static const struct object_ops timer_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
timer_map_access, /* map_access */
|
timer_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
timer_destroy /* destroy */
|
timer_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -128,6 +128,7 @@ static const struct object_ops token_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
token_map_access, /* map_access */
|
token_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
no_close_handle, /* close_handle */
|
no_close_handle, /* close_handle */
|
||||||
token_destroy /* destroy */
|
token_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
|
@ -64,6 +64,7 @@ static const struct object_ops winstation_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
winstation_map_access, /* map_access */
|
winstation_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
winstation_close_handle, /* close_handle */
|
winstation_close_handle, /* close_handle */
|
||||||
winstation_destroy /* destroy */
|
winstation_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
@ -81,6 +82,7 @@ static const struct object_ops desktop_ops =
|
||||||
no_get_fd, /* get_fd */
|
no_get_fd, /* get_fd */
|
||||||
desktop_map_access, /* map_access */
|
desktop_map_access, /* map_access */
|
||||||
no_lookup_name, /* lookup_name */
|
no_lookup_name, /* lookup_name */
|
||||||
|
no_open_file, /* open_file */
|
||||||
desktop_close_handle, /* close_handle */
|
desktop_close_handle, /* close_handle */
|
||||||
desktop_destroy /* destroy */
|
desktop_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue