summaryrefslogtreecommitdiff
path: root/source3/librpc/idl/open_files.idl
blob: c6f16271853d33dd9f56db516b4f0981b94efa47 (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
#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_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_lock;
}