libsmb: Make "struct smb2_lock_element" generally usable
authorVolker Lendecke <vl@samba.org>
Mon, 25 Mar 2019 14:43:49 +0000 (15:43 +0100)
committerJeremy Allison <jra@samba.org>
Mon, 1 Apr 2019 17:58:17 +0000 (17:58 +0000)
This struct will be of interest when we add locking capabilities to
libcli/smb/smb2cli*

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
libcli/smb/smb2_lock.h [new file with mode: 0644]
libcli/smb/smb_common.h
source4/libcli/raw/interfaces.h

diff --git a/libcli/smb/smb2_lock.h b/libcli/smb/smb2_lock.h
new file mode 100644 (file)
index 0000000..f0e0535
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * Unix SMB/CIFS implementation.
+ *
+ * Copyright (C) Volker Lendecke 2019
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __LIBCLI_SMB_SMB2_LOCK_H__
+#define __LIBCLI_SMB_SMB2_LOCK_H__
+
+#include "replace.h"
+
+struct smb2_lock_element {
+       uint64_t offset;
+       uint64_t length;
+       uint32_t flags;
+       uint32_t reserved;
+};
+
+#endif
index 2f66b0a..0117570 100644 (file)
@@ -26,6 +26,7 @@
 #include "libcli/smb/smb2_constants.h"
 #include "libcli/smb/smb2_create_blob.h"
 #include "libcli/smb/smb2_lease.h"
+#include "libcli/smb/smb2_lock.h"
 #include "libcli/smb/smb2_signing.h"
 #include "libcli/smb/smb_util.h"
 #include "libcli/smb/smb_unix_ext.h"
index d44c451..19b2919 100644 (file)
@@ -2086,12 +2086,7 @@ union smb_lock {
                        uint16_t lock_count;
                        uint32_t lock_sequence;
                        /* struct smb2_handle handle; */
-                       struct smb2_lock_element {
-                               uint64_t offset;
-                               uint64_t length;
-                               uint32_t flags;
-                               uint32_t reserved;
-                       } *locks;
+                       struct smb2_lock_element *locks;
                } in;
                struct {
                        /* static body buffer 4 (0x04) bytes */