3 import
"server_id.idl";
6 import
"smb2_lease_struct.idl";
10 pointer_default(unique)
15 typedef [public] struct {
20 smb2_lease_key lease_key
;
23 uint32 private_options
;
31 * In-memory flag indicating a non-existing pid. We don't want
32 * to store this share_mode_entry on disk.
34 [skip
] boolean8 stale
;
37 typedef [public] struct {
39 security_token
*delete_nt_token
;
40 security_unix_token
*delete_token
;
43 typedef [public,bitmap16bit
] bitmap
{
44 SHARE_MODE_SHARE_DELETE
= 0x100,
45 SHARE_MODE_SHARE_WRITE
= 0x080,
46 SHARE_MODE_SHARE_READ
= 0x040,
47 SHARE_MODE_ACCESS_DELETE
= 0x020,
48 SHARE_MODE_ACCESS_WRITE
= 0x010,
49 SHARE_MODE_ACCESS_READ
= 0x008,
50 SHARE_MODE_LEASE_HANDLE
= 0x004,
51 SHARE_MODE_LEASE_WRITE
= 0x002,
52 SHARE_MODE_LEASE_READ
= 0x001
55 typedef [public] struct {
56 hyper unique_content_epoch
;
57 share_mode_flags flags
;
58 [string,charset
(UTF8
)] char *servicepath
;
59 [string,charset
(UTF8
)] char *base_name
;
60 [string,charset
(UTF8
)] char *stream_name
;
61 uint32 num_delete_tokens
;
62 [size_is(num_delete_tokens
)] delete_token delete_tokens
[];
63 NTTIME old_write_time
;
64 NTTIME changed_write_time
;
65 [skip
] boolean8 fresh
;
66 [skip
] boolean8 modified
;
67 [ignore] file_id
id; /* In memory key used to lookup cache. */
70 /* these are 0x30 (48) characters */
71 const string VFS_DEFAULT_DURABLE_COOKIE_MAGIC
=
72 "VFS_DEFAULT_DURABLE_COOKIE_MAGIC ";
73 const uint32 VFS_DEFAULT_DURABLE_COOKIE_VERSION
= 0;
75 /* this corresponds to struct stat_ex (SMB_STRUCT_STAT) */
93 } vfs_default_durable_stat
;
95 typedef [public] struct {
96 [value
(VFS_DEFAULT_DURABLE_COOKIE_MAGIC
),charset
(DOS
)] uint8 magic
[0x30];
97 [value
(VFS_DEFAULT_DURABLE_COOKIE_VERSION
)] uint32
version;
98 boolean8 allow_reconnect
;
100 [string,charset
(UTF8
)] char *servicepath
;
101 [string,charset
(UTF8
)] char *base_name
;
102 hyper initial_allocation_size
;
103 hyper position_information
;
104 boolean8 update_write_time_triggered
;
105 boolean8 update_write_time_on_close
;
106 boolean8 write_time_forced
;
107 NTTIME close_write_time
;
108 vfs_default_durable_stat stat_info
;
109 } vfs_default_durable_cookie
;
111 typedef [public] struct {
113 udlong share_file_id
;
115 } oplock_break_message
;
117 typedef [public] struct {
119 udlong share_file_id
;
120 [string,charset
(UTF8
)] char *servicepath
;
121 [string,charset
(UTF8
)] char *base_name
;
122 [string,charset
(UTF8
)] char *stream_name
;
123 } file_rename_message
;