[SCM] Samba Shared Repository - branch master updated

David Disseldorp ddiss at samba.org
Thu Mar 15 11:41:02 MDT 2012


The branch, master has been updated
       via  e5ebe67 idl: add offload data transfer ioctl types
      from  edfdbb8 s4:selftest: remove python shebang accidentially re-added to the "samba-tool user" test

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit e5ebe67e3837cf4da0ae2c3d00c72a244b8f202f
Author: David Disseldorp <ddiss at samba.org>
Date:   Thu Mar 15 14:43:26 2012 +0100

    idl: add offload data transfer ioctl types
    
    For future use in handling FSCTL_OFFLOAD_READ, FSCTL_OFFLOAD_WRITE and
    IOCTL_STORAGE_QUERY_PROPERTY requests new to Windows 8.
    
    Based on preliminary data structure documentation from:
    http://msdn.microsoft.com/en-us/library/windows/hardware/hh451101%28v=vs.85%29.aspx
    http://msdn.microsoft.com/en-us/library/windows/hardware/hh451122%28v=vs.85%29.aspx
    http://msdn.microsoft.com/en-us/library/windows/desktop/hh449428%28v=vs.85%29.aspx
    http://msdn.microsoft.com/en-us/library/windows/hardware/hh451469%28v=vs.85%29.aspx
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Signed-off-by: Lars Müller <lars at samba.org>
    
    Autobuild-User: David Disseldorp <ddiss at samba.org>
    Autobuild-Date: Thu Mar 15 18:40:11 CET 2012 on sn-devel-104

-----------------------------------------------------------------------

Summary of changes:
 librpc/idl/ioctl.idl |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/ioctl.idl b/librpc/idl/ioctl.idl
index 1c319ea..4672777 100644
--- a/librpc/idl/ioctl.idl
+++ b/librpc/idl/ioctl.idl
@@ -30,4 +30,61 @@ interface copychunk
 		uint32 chunk_bytes_written;
 		uint32 total_bytes_written;
 	} srv_copychunk_rsp;
+
+	typedef [public] struct {
+		uint32 version;
+		uint32 size;
+		uint32 maximum_token_lifetime;
+		uint32 default_token_lifetime;
+		hyper maximum_xfer_size;
+		hyper optimal_xfer_count;
+		uint32 maximum_data_descriptors;
+		uint32 maximum_xfer_length_per_descriptor;
+		uint32 optimal_xfer_length_per_descriptor;
+		uint16 optimal_xfer_length_granularity;
+		uint8 reserved[2];
+	} device_copy_offload_descriptor;
+
+	/* XXX: 0x00000001 is unconfirmed */
+	const uint32 STORAGE_OFFLOAD_TOKEN_TYPE_ZERO_DATA = 0x00000001;
+	typedef [public] struct {
+		uint32 token_type;
+		uint8 reserved[2];
+		uint16 token_id_len;
+		[size_is(token_id_len)] uint8 token[];
+	} storage_offload_token;
+
+	typedef [public] struct {
+		uint32 size;
+		uint32 flags;
+		uint32 token_time_to_live;
+		uint32 reserved;
+		hyper file_offset;
+		hyper length;
+	} fsctl_offload_read_input;
+
+	const uint32 OFFLOAD_READ_FLAG_FILE_TOO_SMALL = 0x00000001;
+	const uint32 OFFLOAD_READ_FLAG_ALL_ZERO_BEYOND_RANGE = 0x00000002;
+	const uint32 OFFLOAD_READ_FLAG_CANNOT_OFFLOAD_BEYOND_RANGE = 0x00000004;
+	typedef [public] struct {
+		uint32 size;
+		uint32 flags;
+		hyper xfer_length;
+		uint8 token[512];
+	} fsctl_offload_read_output;
+
+	typedef [public] struct {
+		uint32 size;
+		uint32 flags;
+		hyper file_offset;
+		hyper copy_length;
+		hyper xfer_offset;
+		uint8 token[512];
+	} fsctl_offload_write_input;
+
+	typedef [public] struct {
+		uint32 size;
+		uint32 flags;
+		hyper length_written;
+	} fsctl_offload_write_output;
 }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list