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
;