summaryrefslogtreecommitdiffstats
path: root/librpc/idl/smb2_lease_struct.idl
blob: 5ccd8a3f62181c8c72c66bfb1ad8fb486811ac10 (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
#include "idl_types.h"

/*
  miscellaneous IDL structures
*/

[
	pointer_default(unique)
]
interface smb2_lease_struct
{
	/*
	 * SMB2 lease structure (per MS-SMB2 2.2.13)
	 */
	typedef [public] struct {
		hyper data[2];
	} smb2_lease_key;

	typedef [public,bitmap32bit] bitmap {
		SMB2_LEASE_READ = 0x01,
		SMB2_LEASE_HANDLE = 0x02,
		SMB2_LEASE_WRITE = 0x04
	} smb2_lease_state;

	typedef [public] struct {
		smb2_lease_key lease_key;
		smb2_lease_state lease_state;
		uint32 lease_flags;
		hyper lease_duration;	/* should be 0 */
		smb2_lease_key parent_lease_key;
		uint16 lease_version;
		uint16 lease_epoch;
	} smb2_lease;
};