vfs: Add flags and xferlen args to SMB_VFS_OFFLOAD_READ_RECV
[samba.git] / examples / VFS / skel_transparent.c
index d6bf3171b952ba31556a1d17f9fc6219cbbba433..e145881b704381e54649fd1610a51e5e9340a76e 100644 (file)
@@ -667,6 +667,8 @@ static uint64_t skel_fs_file_id(vfs_handle_struct *handle,
 
 struct skel_offload_read_state {
        struct vfs_handle_struct *handle;
+       uint32_t flags;
+       uint64_t xferlen;
        DATA_BLOB token;
 };
 
@@ -714,6 +716,8 @@ static void skel_offload_read_done(struct tevent_req *subreq)
        status = SMB_VFS_NEXT_OFFLOAD_READ_RECV(subreq,
                                                state->handle,
                                                state,
+                                               &state->flags,
+                                               &state->xferlen,
                                                &state->token);
        TALLOC_FREE(subreq);
        if (tevent_req_nterror(req, status)) {
@@ -727,6 +731,8 @@ static void skel_offload_read_done(struct tevent_req *subreq)
 static NTSTATUS skel_offload_read_recv(struct tevent_req *req,
                                       struct vfs_handle_struct *handle,
                                       TALLOC_CTX *mem_ctx,
+                                      uint32_t *flags,
+                                      uint64_t *xferlen,
                                       DATA_BLOB *_token)
 {
        struct skel_offload_read_state *state = tevent_req_data(
@@ -749,6 +755,8 @@ static NTSTATUS skel_offload_read_recv(struct tevent_req *req,
                return NT_STATUS_NO_MEMORY;
        }
 
+       *flags = state->flags;
+       *xferlen = state->xferlen;
        *_token = token;
        return NT_STATUS_OK;
 }