As David Woodhouse points out, this breaks backwards compatibility.
[Samba.git] / source3 / librpc / idl / open_files.idl
blob0ebc819d19303b897ff0c0e871abaa51569e6608
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;
28 * In-memory flag indicating a non-existing pid. We don't want
29 * to store this share_mode_entry on disk.
31 [skip] boolean8 stale;
32 } share_mode_entry;
34 typedef [public] struct {
35 uint32 name_hash;
36 security_token *delete_nt_token;
37 security_unix_token *delete_token;
38 } delete_token;
40 typedef [public] struct {
41 [string,charset(UTF8)] char *servicepath;
42 [string,charset(UTF8)] char *base_name;
43 [string,charset(UTF8)] char *stream_name;
44 uint32 num_share_modes;
45 [size_is(num_share_modes)] share_mode_entry share_modes[];
46 uint32 num_delete_tokens;
47 [size_is(num_delete_tokens)] delete_token delete_tokens[];
48 timespec old_write_time;
49 timespec changed_write_time;
50 [skip] boolean8 fresh;
51 [skip] boolean8 modified;
52 [ignore] db_record *record;
53 } share_mode_data;
55 /* these are 0x30 (48) characters */
56 const string VFS_DEFAULT_DURABLE_COOKIE_MAGIC =
57 "VFS_DEFAULT_DURABLE_COOKIE_MAGIC ";
58 const uint32 VFS_DEFAULT_DURABLE_COOKIE_VERSION = 0;
60 /* this corresponds to struct stat_ex (SMB_STRUCT_STAT) */
61 typedef struct {
62 hyper st_ex_dev;
63 hyper st_ex_ino;
64 hyper st_ex_mode;
65 hyper st_ex_nlink;
66 hyper st_ex_uid;
67 hyper st_ex_gid;
68 hyper st_ex_rdev;
69 hyper st_ex_size;
70 timespec st_ex_atime;
71 timespec st_ex_mtime;
72 timespec st_ex_ctime;
73 timespec st_ex_btime;
74 boolean8 st_ex_calculated_birthtime;
75 hyper st_ex_blksize;
76 hyper st_ex_blocks;
77 uint32 st_ex_flags;
78 uint32 st_ex_mask;
79 hyper vfs_private;
80 } vfs_default_durable_stat;
82 typedef [public] struct {
83 [value(VFS_DEFAULT_DURABLE_COOKIE_MAGIC),charset(DOS)] uint8 magic[0x30];
84 [value(VFS_DEFAULT_DURABLE_COOKIE_VERSION)] uint32 version;
85 boolean8 allow_reconnect;
86 file_id id;
87 [string,charset(UTF8)] char *servicepath;
88 [string,charset(UTF8)] char *base_name;
89 hyper initial_allocation_size;
90 hyper position_information;
91 boolean8 update_write_time_triggered;
92 boolean8 update_write_time_on_close;
93 boolean8 write_time_forced;
94 timespec close_write_time;
95 vfs_default_durable_stat stat_info;
96 } vfs_default_durable_cookie;