3 pointer_default(unique)
7 typedef [public] struct {
10 /* <56> Windows sends 4 bytes of zero for the context field. */
21 typedef [public] struct {
25 srv_copychunk chunks[chunk_count];
28 typedef [public] struct {
29 uint32 chunks_written;
30 uint32 chunk_bytes_written;
31 uint32 total_bytes_written;
34 typedef [public] struct {
37 uint32 maximum_token_lifetime;
38 uint32 default_token_lifetime;
39 hyper maximum_xfer_size;
40 hyper optimal_xfer_count;
41 uint32 maximum_data_descriptors;
42 uint32 maximum_xfer_length_per_descriptor;
43 uint32 optimal_xfer_length_per_descriptor;
44 uint16 optimal_xfer_length_granularity;
46 } device_copy_offload_descriptor;
48 /* XXX: 0x00000001 is unconfirmed */
49 const uint32 STORAGE_OFFLOAD_TOKEN_TYPE_ZERO_DATA = 0x00000001;
50 typedef [public] struct {
54 [size_is(token_id_len)] uint8 token[];
55 } storage_offload_token;
57 typedef [public] struct {
60 uint32 token_time_to_live;
64 } fsctl_offload_read_input;
66 const uint32 OFFLOAD_READ_FLAG_FILE_TOO_SMALL = 0x00000001;
67 const uint32 OFFLOAD_READ_FLAG_ALL_ZERO_BEYOND_RANGE = 0x00000002;
68 const uint32 OFFLOAD_READ_FLAG_CANNOT_OFFLOAD_BEYOND_RANGE = 0x00000004;
69 typedef [public] struct {
74 } fsctl_offload_read_output;
76 typedef [public] struct {
83 } fsctl_offload_write_input;
85 typedef [public] struct {
89 } fsctl_offload_write_output;