[PATCH 1/6] idl: define sparse file fsctl structures

David Disseldorp ddiss at samba.org
Wed Aug 27 07:41:57 MDT 2014


As documented in MS-FSCC 2.3.

Signed-off-by: David Disseldorp <ddiss at samba.org>
---
 librpc/idl/ioctl.idl | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/librpc/idl/ioctl.idl b/librpc/idl/ioctl.idl
index a0a9950..8248092 100644
--- a/librpc/idl/ioctl.idl
+++ b/librpc/idl/ioctl.idl
@@ -144,3 +144,38 @@ interface netinterface
 		fsctl_sockaddr_storage sockaddr;
 	} fsctl_net_iface_info;
 }
+
+interface sparse
+{
+	/* MS-FSCC 2.3.33 FSCTL_QUERY_ALLOCATED_RANGES Request */
+	typedef [public] struct {
+		hyper file_off;
+		hyper len;
+	} file_alloced_range_buf;
+
+	typedef [public] struct {
+		file_alloced_range_buf buf;
+	} fsctl_query_alloced_ranges_req;
+
+	/*
+	 * 2.3.34 FSCTL_QUERY_ALLOCATED_RANGES Reply
+	 * ...
+	 * The number of FILE_ALLOCATED_RANGE_BUFFER elements returned is
+	 * computed by dividing the size of the returned output buffer (from
+	 * either SMB or SMB2, the lower-layer protocol that carries the FSCTL)
+	 * by the size of the FILE_ALLOCATED_RANGE_BUFFER element.
+	 */
+	typedef [public] struct {
+		file_alloced_range_buf *array;
+	} fsctl_query_alloced_ranges_rsp;
+
+	/* 2.3.65 FSCTL_SET_ZERO_DATA Request */
+	typedef [public] struct {
+		hyper file_off;
+		hyper beyond_final_zero;
+	} file_zero_data_info;
+
+	typedef [public] struct {
+		file_zero_data_info info;
+	} fsctl_set_zero_data_req;
+}
-- 
1.8.4.5



More information about the samba-technical mailing list