Initialize the file descriptor in the files_struct before trying to close it. Otherwi...
[Samba/gebeck_regimport.git] / libcli / smb / smb2_lease.h
blobfa8e7af841eea607af749171615cfa0543cbd068
1 /*
2 Unix SMB/CIFS implementation.
4 SMB2 Lease context handling
6 Copyright (C) Stefan Metzmacher 2012
7 Copyright (C) Volker Lendecke 2013
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #ifndef _LIBCLI_SMB_SMB2_LEASE_H_
24 #define _LIBCLI_SMB_SMB2_LEASE_H_
27 SMB2 lease structure (per MS-SMB2 2.2.13)
29 struct smb2_lease_key {
30 uint64_t data[2];
33 struct smb2_lease {
34 struct smb2_lease_key lease_key;
35 uint32_t lease_state;
36 uint32_t lease_flags;
37 uint64_t lease_duration; /* should be 0 */
38 /* only for v2 */
39 struct smb2_lease_key parent_lease_key;
40 uint16_t lease_epoch;
44 * Parse a smb2 lease create context. Return -1 on error, buffer.length on
45 * success. V1 and V2 differ only by length of buffer.length
47 ssize_t smb2_lease_pull(uint8_t *buf, size_t len, struct smb2_lease *lease);
48 bool smb2_lease_push(const struct smb2_lease *lease, uint8_t *buf, size_t len);
50 #endif /* _LIBCLI_SMB_SMB2_LEASE_H_ */