#include "idl_types.h" import "server_id.idl"; import "security.idl"; import "file_id.idl"; [ pointer_default(unique) ] interface open_files { typedef [public] struct { server_id pid; hyper op_mid; uint16 op_type; uint32 access_mask; uint32 share_access; uint32 private_options; timeval time; file_id id; udlong share_file_id; uint32 uid; uint16 flags; uint32 name_hash; } share_mode_entry; typedef [public] struct { uint32 name_hash; security_token *delete_nt_token; security_unix_token *delete_token; } delete_token; typedef [public] struct { [string,charset(UTF8)] char *servicepath; [string,charset(UTF8)] char *base_name; [string,charset(UTF8)] char *stream_name; file_id id; uint32 num_share_modes; [size_is(num_share_modes)] share_mode_entry share_modes[]; uint32 num_delete_tokens; [size_is(num_delete_tokens)] delete_token delete_tokens[]; timespec old_write_time; timespec changed_write_time; uint8 fresh; uint8 modified; [ignore] db_record *record; } share_mode_data; /* these are 0x30 (48) characters */ const string VFS_DEFAULT_DURABLE_COOKIE_MAGIC = "VFS_DEFAULT_DURABLE_COOKIE_MAGIC "; const uint32 VFS_DEFAULT_DURABLE_COOKIE_VERSION = 0; typedef [public] struct { [value(VFS_DEFAULT_DURABLE_COOKIE_MAGIC),charset(DOS)] uint8 magic[0x30]; [value(VFS_DEFAULT_DURABLE_COOKIE_VERSION)] uint32 version; boolean8 allow_reconnect; file_id id; [string,charset(UTF8)] char *servicepath; [string,charset(UTF8)] char *base_name; hyper initial_allocation_size; hyper position_information; } vfs_default_durable_cookie; }