From: Tejun H. <tj...@ke...> - 2008-11-20 15:18:12
|
Move fuse_req and fuse_ll definitions to fuse_i.h and make send_reply_iov() and fuse_setup_common() global (also in fuse_i.h). These will be used by CUSE support. Signed-off-by: Tejun Heo <tj...@ke...> --- lib/fuse_i.h | 52 +++++++++++++++++++++++++++++++++++++++++++++++++- lib/fuse_lowlevel.c | 43 +----------------------------------------- lib/helper.c | 16 +++++++------- 3 files changed, 59 insertions(+), 52 deletions(-) diff --git a/lib/fuse_i.h b/lib/fuse_i.h index ec6e5d6..c7f13c4 100644 --- a/lib/fuse_i.h +++ b/lib/fuse_i.h @@ -7,11 +7,48 @@ */ #include "fuse.h" +#include "fuse_lowlevel.h" struct fuse_session; struct fuse_chan; -struct fuse_lowlevel_ops; -struct fuse_req; +struct fuse_ll; + +struct fuse_req { + struct fuse_ll *f; + uint64_t unique; + int ctr; + pthread_mutex_t lock; + struct fuse_ctx ctx; + struct fuse_chan *ch; + int interrupted; + union { + struct { + uint64_t unique; + } i; + struct { + fuse_interrupt_func_t func; + void *data; + } ni; + } u; + struct fuse_req *next; + struct fuse_req *prev; +}; + +struct fuse_ll { + int debug; + int allow_root; + int atomic_o_trunc; + int big_writes; + struct fuse_lowlevel_ops op; + int got_init; + void *userdata; + uid_t owner; + struct fuse_conn_info conn; + struct fuse_req list; + struct fuse_req interrupts; + pthread_mutex_t lock; + int got_destroy; +}; struct fuse_cmd { char *buf; @@ -34,3 +71,14 @@ struct fuse_session *fuse_lowlevel_new_common(struct fuse_args *args, void fuse_kern_unmount_compat22(const char *mountpoint); void fuse_kern_unmount(const char *mountpoint, int fd); int fuse_kern_mount(const char *mountpoint, struct fuse_args *args); + +int send_reply_iov(fuse_req_t req, int error, struct iovec *iov, int count); + +struct fuse *fuse_setup_common(int argc, char *argv[], + const struct fuse_operations *op, + size_t op_size, + char **mountpoint, + int *multithreaded, + int *fd, + void *user_data, + int compat); diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c index 73e4076..4f6bbfb 100644 --- a/lib/fuse_lowlevel.c +++ b/lib/fuse_lowlevel.c @@ -6,7 +6,6 @@ See the file COPYING.LIB */ -#include "fuse_lowlevel.h" #include "fuse_kernel.h" #include "fuse_opt.h" #include "fuse_i.h" @@ -25,45 +24,6 @@ #define PARAM(inarg) (((char *)(inarg)) + sizeof(*(inarg))) #define OFFSET_MAX 0x7fffffffffffffffLL -struct fuse_ll; - -struct fuse_req { - struct fuse_ll *f; - uint64_t unique; - int ctr; - pthread_mutex_t lock; - struct fuse_ctx ctx; - struct fuse_chan *ch; - int interrupted; - union { - struct { - uint64_t unique; - } i; - struct { - fuse_interrupt_func_t func; - void *data; - } ni; - } u; - struct fuse_req *next; - struct fuse_req *prev; -}; - -struct fuse_ll { - int debug; - int allow_root; - int atomic_o_trunc; - int big_writes; - struct fuse_lowlevel_ops op; - int got_init; - void *userdata; - uid_t owner; - struct fuse_conn_info conn; - struct fuse_req list; - struct fuse_req interrupts; - pthread_mutex_t lock; - int got_destroy; -}; - static void convert_stat(const struct stat *stbuf, struct fuse_attr *attr) { attr->ino = stbuf->st_ino; @@ -152,8 +112,7 @@ static void free_req(fuse_req_t req) destroy_req(req); } -static int send_reply_iov(fuse_req_t req, int error, struct iovec *iov, - int count) +int send_reply_iov(fuse_req_t req, int error, struct iovec *iov, int count) { struct fuse_out_header out; int res; diff --git a/lib/helper.c b/lib/helper.c index 2e8ec7e..28c3953 100644 --- a/lib/helper.c +++ b/lib/helper.c @@ -235,14 +235,14 @@ void fuse_unmount(const char *mountpoint, struct fuse_chan *ch) fuse_unmount_common(mountpoint, ch); } -static struct fuse *fuse_setup_common(int argc, char *argv[], - const struct fuse_operations *op, - size_t op_size, - char **mountpoint, - int *multithreaded, - int *fd, - void *user_data, - int compat) +struct fuse *fuse_setup_common(int argc, char *argv[], + const struct fuse_operations *op, + size_t op_size, + char **mountpoint, + int *multithreaded, + int *fd, + void *user_data, + int compat) { struct fuse_args args = FUSE_ARGS_INIT(argc, argv); struct fuse_chan *ch; -- 1.5.6 |