summaryrefslogtreecommitdiff
path: root/source3/librpc/idl/open_files.idl
blob: 98e1c32db088667daf3c1b2568a1e76333c50eb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#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;
}