diff options
| author | dillo <dillo@NetBSD.org> | 2008-08-01 15:54:09 +0000 |
|---|---|---|
| committer | dillo <dillo@NetBSD.org> | 2008-08-01 15:54:09 +0000 |
| commit | 2a16dc1a4e31d561aed394ae5a79dce6cac9f3f6 (patch) | |
| tree | 8f7bd9eb92b8d80f5b671f7d10f839588587417a /lib/librefuse | |
| parent | 8e5470fdb25596d03d3b7fe281ba2d1b41cf8ab0 (diff) | |
Add API version 2.6 variant of fuse_setup.
Reviewed by agc.
Diffstat (limited to 'lib/librefuse')
| -rw-r--r-- | lib/librefuse/fuse.h | 6 | ||||
| -rw-r--r-- | lib/librefuse/refuse.c | 33 |
2 files changed, 32 insertions, 7 deletions
diff --git a/lib/librefuse/fuse.h b/lib/librefuse/fuse.h index 14ca668606f..483fea3b08d 100644 --- a/lib/librefuse/fuse.h +++ b/lib/librefuse/fuse.h @@ -1,4 +1,4 @@ -/* $NetBSD: fuse.h,v 1.20 2008/01/14 20:46:11 pooka Exp $ */ +/* $NetBSD: fuse.h,v 1.21 2008/08/01 15:54:09 dillo Exp $ */ /* * Copyright © 2007 Alistair Crooks. All rights reserved. @@ -175,11 +175,15 @@ void fuse_unmount_compat22(const char *); #if FUSE_USE_VERSION >= 26 #define fuse_main(argc, argv, op, arg) \ fuse_main_real(argc, argv, op, sizeof(*(op)), arg) +#define fuse_setup fuse_setup26 #else #define fuse_main(argc, argv, op) \ fuse_main_real(argc, argv, op, sizeof(*(op)), NULL) #endif +struct fuse *fuse_setup26(int, char **, const struct fuse_operations *, + size_t, char **, int *, void *); + #ifdef __cplusplus } #endif diff --git a/lib/librefuse/refuse.c b/lib/librefuse/refuse.c index 0dfefe3f803..97e4e0f3b6a 100644 --- a/lib/librefuse/refuse.c +++ b/lib/librefuse/refuse.c @@ -1,4 +1,4 @@ -/* $NetBSD: refuse.c,v 1.88 2008/01/14 16:07:00 pooka Exp $ */ +/* $NetBSD: refuse.c,v 1.89 2008/08/01 15:54:09 dillo Exp $ */ /* * Copyright © 2007 Alistair Crooks. All rights reserved. @@ -31,7 +31,7 @@ #include <sys/cdefs.h> #if !defined(lint) -__RCSID("$NetBSD: refuse.c,v 1.88 2008/01/14 16:07:00 pooka Exp $"); +__RCSID("$NetBSD: refuse.c,v 1.89 2008/08/01 15:54:09 dillo Exp $"); #endif /* !lint */ #include <sys/types.h> @@ -364,9 +364,10 @@ set_refuse_mount_name(char **argv, char *name, size_t size) /* this function exposes struct fuse to userland */ -struct fuse * -fuse_setup(int argc, char **argv, const struct fuse_operations *ops, - size_t size, char **mountpoint, int *multithreaded, int *fd) +static struct fuse * +fuse_setup_real(int argc, char **argv, const struct fuse_operations *ops, + size_t size, char **mountpoint, int *multithreaded, int *fd, + void *user_data) { struct fuse_chan *fc; struct fuse_args *args; @@ -397,7 +398,7 @@ fuse_setup(int argc, char **argv, const struct fuse_operations *ops, } fc = fuse_mount(*mountpoint = argv[i], args); - fuse = fuse_new(fc, args, ops, size, NULL); + fuse = fuse_new(fc, args, ops, size, user_data); fuse_opt_free_args(args); free(args); @@ -415,6 +416,26 @@ fuse_setup(int argc, char **argv, const struct fuse_operations *ops, return fuse; } +#ifdef fuse_setup +#undef fuse_setup +#endif + +struct fuse * +fuse_setup(int argc, char **argv, const struct fuse_operations *ops, + size_t size, char **mountpoint, int *multithreaded, int *fd) +{ + return fuse_setup_real(argc, argv, ops, size, mountpoint, + multithreaded, fd, NULL); +} + +struct fuse * +fuse_setup26(int argc, char **argv, const struct fuse_operations *ops, + size_t size, char **mountpoint, int *multithreaded, void *user_data) +{ + return fuse_setup_real(argc, argv, ops, size, mountpoint, + multithreaded, NULL, user_data); +} + #define FUSE_ERR_UNLINK(fuse, file) if (fuse->op.unlink) fuse->op.unlink(file) #define FUSE_ERR_RMDIR(fuse, dir) if (fuse->op.rmdir) fuse->op.rmdir(dir) |
