3 import "server_id.idl";
8 pointer_default(unique)
13 typedef [public] struct {
19 uint32 private_options;
28 typedef [public] struct {
30 security_token *delete_nt_token;
31 security_unix_token *delete_token;
34 typedef [public] struct {
35 [string,charset(UTF8)] char *servicepath;
36 [string,charset(UTF8)] char *base_name;
37 [string,charset(UTF8)] char *stream_name;
39 uint32 num_share_modes;
40 [size_is(num_share_modes)] share_mode_entry share_modes[];
41 uint32 num_delete_tokens;
42 [size_is(num_delete_tokens)] delete_token delete_tokens[];
43 timespec old_write_time;
44 timespec changed_write_time;
47 [ignore] db_record *record;
50 /* these are 0x30 (48) characters */
51 const string VFS_DEFAULT_DURABLE_COOKIE_MAGIC =
52 "VFS_DEFAULT_DURABLE_COOKIE_MAGIC ";
53 const uint32 VFS_DEFAULT_DURABLE_COOKIE_VERSION = 0;
55 /* this corresponds to struct stat_ex (SMB_STRUCT_STAT) */
69 boolean8 st_ex_calculated_birthtime;
75 } vfs_default_durable_stat;
77 typedef [public] struct {
78 [value(VFS_DEFAULT_DURABLE_COOKIE_MAGIC),charset(DOS)] uint8 magic[0x30];
79 [value(VFS_DEFAULT_DURABLE_COOKIE_VERSION)] uint32 version;
80 boolean8 allow_reconnect;
82 [string,charset(UTF8)] char *servicepath;
83 [string,charset(UTF8)] char *base_name;
84 hyper initial_allocation_size;
85 hyper position_information;
86 boolean8 update_write_time_triggered;
87 boolean8 update_write_time_on_close;
88 boolean8 write_time_forced;
89 timespec close_write_time;
90 vfs_default_durable_stat stat_info;
91 } vfs_default_durable_cookie;