aboutsummaryrefslogtreecommitdiffstats
path: root/fuse_i.h
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2001-10-25 14:16:17 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2001-10-25 14:16:17 +0000
commitd8ae7147bfe8f40e72ea640c6631a4b2c6f2c6c9 (patch)
treeb9cc8c9342ebf54a45184b0345a798106466a3a8 /fuse_i.h
parent79b52f63303c15d4545a7464775f4b1beab8d2c9 (diff)
downloadlibfuse-d8ae7147bfe8f40e72ea640c6631a4b2c6f2c6c9.tar.gz
improvements
Diffstat (limited to 'fuse_i.h')
-rw-r--r--fuse_i.h27
1 files changed, 23 insertions, 4 deletions
diff --git a/fuse_i.h b/fuse_i.h
index 70e149c..a7a907f 100644
--- a/fuse_i.h
+++ b/fuse_i.h
@@ -6,6 +6,8 @@
See the file COPYING.
*/
+#include "fuse.h"
+
#include <linux/fs.h>
#include <linux/list.h>
#include <linux/spinlock.h>
@@ -40,20 +42,29 @@ struct fuse_conn {
/** Connnection number (for debuging) */
int id;
+
+ /** The request id */
+ int reqctr;
};
/**
- * A filesystem request
+ * A request to the client
*/
struct fuse_req {
/** The request list */
struct list_head list;
- /** The size of the data */
+ /** The size of the parameters */
size_t size;
- /** A pointer to the data */
- void *data;
+ /** The request parameters */
+ struct fuse_param param;
+
+ /** The request wait queue */
+ wait_queue_head_t waitq;
+
+ /** True if the request is finished */
+ int done;
};
/**
@@ -97,6 +108,14 @@ int fuse_fs_init(void);
*/
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);
+
/*
* Local Variables:
* indent-tabs-mode: t