diff options
Diffstat (limited to 'kernel/fuse_i.h')
-rw-r--r-- | kernel/fuse_i.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/kernel/fuse_i.h b/kernel/fuse_i.h index a667176..f2e55d4 100644 --- a/kernel/fuse_i.h +++ b/kernel/fuse_i.h @@ -103,6 +103,10 @@ struct fuse_out { #define FUSE_IN_INIT { {0, 0, 0, current->fsuid, current->fsgid}, 0} #define FUSE_OUT_INIT { {0, 0}, 0, 0} +struct fuse_req; +typedef void (*fuse_reqend_t)(struct fuse_conn *, struct fuse_in *, + struct fuse_out *, void *data); + /** * A request to the client */ @@ -133,6 +137,12 @@ struct fuse_req { /** Used to wake up the task waiting for completion of request*/ wait_queue_head_t waitq; + + /** Request completion callback */ + fuse_reqend_t end; + + /** User data */ + void *data; }; #ifdef KERNEL_2_6 @@ -205,6 +215,13 @@ void request_send(struct fuse_conn *fc, struct fuse_in *in, */ int request_send_noreply(struct fuse_conn *fc, struct fuse_in *in); + +/** + * Send a synchronous request without blocking + */ +int request_send_nonblock(struct fuse_conn *fc, struct fuse_in *in, + struct fuse_out *out, fuse_reqend_t end, void *data); + /** * Get the attributes of a file */ |