aboutsummaryrefslogtreecommitdiffstats
path: root/fuse_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'fuse_i.h')
-rw-r--r--fuse_i.h31
1 files changed, 24 insertions, 7 deletions
diff --git a/fuse_i.h b/fuse_i.h
index a7a907f..5f80620 100644
--- a/fuse_i.h
+++ b/fuse_i.h
@@ -54,11 +54,14 @@ struct fuse_req {
/** The request list */
struct list_head list;
- /** The size of the parameters */
- size_t size;
+ /** The request input parameters */
+ struct fuse_in *in;
- /** The request parameters */
- struct fuse_param param;
+ /** The request result */
+ struct fuse_out *out;
+
+ /** The file returned by open */
+ struct file *file;
/** The request wait queue */
wait_queue_head_t waitq;
@@ -67,6 +70,11 @@ struct fuse_req {
int done;
};
+struct fuse_out_open_internal {
+ file *file;
+};
+
+
/**
* The proc entry for the client device ("/proc/fs/fuse/dev")
*/
@@ -83,6 +91,16 @@ extern spinlock_t fuse_lock;
void fuse_dir_init(struct inode *inode);
/**
+ * Fill in the file operations
+ */
+void fuse_file_init(struct inode *inode);
+
+/**
+ * Fill in the symlink operations
+ */
+void fuse_symlink_init(struct inode *inode);
+
+/**
* Check if the connection can be released, and if yes, then free the
* connection structure
*/
@@ -111,10 +129,9 @@ void fuse_fs_cleanup(void);
/**
* Send a request
*
- * @valuret: if true then the request can return a positive value
*/
-void request_send(struct fuse_conn *fc, struct fuse_inparam *in,
- struct fuse_outparam *out, int valuret);
+void request_send(struct fuse_conn *fc, struct fuse_in *in,
+ struct fuse_out *out);
/*
* Local Variables: