summaryrefslogtreecommitdiff
path: root/librpc/idl/ioctl.idl
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2014-08-26 19:28:55 +0200
committerDavid Disseldorp <ddiss@samba.org>2014-08-29 19:40:13 +0200
commitde2164bb3d1923cb0271c20f1594c8eb6b7864d4 (patch)
treee3727bf7234d4382e340ca3550b18a6e7c0f8f5a /librpc/idl/ioctl.idl
parent0751495b1327d002b79482632b7c590cae6e3f9d (diff)
downloadsamba-de2164bb3d1923cb0271c20f1594c8eb6b7864d4.tar.gz
idl: define sparse file fsctl structures
As documented in MS-FSCC 2.3. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allson <jra@samba.org>
Diffstat (limited to 'librpc/idl/ioctl.idl')
-rw-r--r--librpc/idl/ioctl.idl35
1 files changed, 35 insertions, 0 deletions
diff --git a/librpc/idl/ioctl.idl b/librpc/idl/ioctl.idl
index a0a99501c26..82480924c5a 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;
+}