4 import
"smb2_lease_struct.idl";
8 pointer_default(unique)
12 typedef [public] struct {
14 smb2_lease_key lease_key
;
17 typedef [public] struct {
19 [string,charset
(UTF8
)] char *servicepath
;
20 [string,charset
(UTF8
)] char *base_name
;
21 [string,charset
(UTF8
)] char *stream_name
;
24 typedef [public] struct {
25 smb2_lease_state current_state
;
27 * 'breaking' indicates that we're waiting
28 * for a lease break ack from the client
29 * and breaking_to_requested and breaking_to_required
32 * breaking_to_requested is the value already sent to
33 * the client, the client needs to ack to this (or less).
35 * breaking_to_required is the internal value that needs to
36 * be reached before we can reset breaking = false, this
37 * may requires multiple roundtrips to the client, e.g.
38 * when the lease broken to a more reduced value, while
39 * the lease break is still in progress.
41 * The following can be assumed (if breaking == true):
43 * current_state>breaking_to_requested>=breaking_to_required
46 smb2_lease_state breaking_to_requested
;
47 smb2_lease_state breaking_to_required
;
52 leases_db_file files
[num_files
];