From de2164bb3d1923cb0271c20f1594c8eb6b7864d4 Mon Sep 17 00:00:00 2001 From: David Disseldorp Date: Tue, 26 Aug 2014 19:28:55 +0200 Subject: [PATCH] idl: define sparse file fsctl structures As documented in MS-FSCC 2.3. Signed-off-by: David Disseldorp Reviewed-by: Jeremy Allson --- librpc/idl/ioctl.idl | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) 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; +} -- 2.11.4.GIT