s3:vfs_default: add basic support for durable handle request and reconnect
[Samba/bb.git] / source3 / librpc / idl / open_files.idl
blobeb0dfa08aee57615661a94244ff5881698b8097a
1 #include "idl_types.h"
3 import "server_id.idl";
4 import "security.idl";
5 import "file_id.idl";
8 pointer_default(unique)
11 interface open_files
13 typedef [public] struct {
14 server_id pid;
15 hyper op_mid;
16 uint16 op_type;
17 uint32 access_mask;
18 uint32 share_access;
19 uint32 private_options;
20 timeval time;
21 file_id id;
22 udlong share_file_id;
23 uint32 uid;
24 uint16 flags;
25 uint32 name_hash;
26 } share_mode_entry;
28 typedef [public] struct {
29 uint32 name_hash;
30 security_token *delete_nt_token;
31 security_unix_token *delete_token;
32 } 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;
38 file_id id;
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;
45 uint8 fresh;
46 uint8 modified;
47 [ignore] db_record *record;
48 } share_mode_data;
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 typedef [public] struct {
56 [value(VFS_DEFAULT_DURABLE_COOKIE_MAGIC),charset(DOS)] uint8 magic[0x30];
57 [value(VFS_DEFAULT_DURABLE_COOKIE_VERSION)] uint32 version;
58 boolean8 allow_reconnect;
59 file_id id;
60 [string,charset(UTF8)] char *servicepath;
61 [string,charset(UTF8)] char *base_name;
62 hyper initial_allocation_size;
63 hyper position_information;
64 } vfs_default_durable_cookie;