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 <[email protected]>
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 <[email protected]>
    Signed-off-by: Lars Müller <[email protected]>
    
    Autobuild-User: David Disseldorp <[email protected]>
    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

Reply via email to