aboutsummaryrefslogtreecommitdiff
path: root/lib/mount_bsd.c
diff options
context:
space:
mode:
authorGravatar Csaba Henk <csaba.henk@creo.hu>2008-02-03 22:29:09 +0000
committerGravatar Csaba Henk <csaba.henk@creo.hu>2008-02-03 22:29:09 +0000
commit00bddfe650912fdc52b470e0d64a597802f61ec6 (patch)
tree614cc3d9cb5f45f93d617591319fe7fe4fe59c84 /lib/mount_bsd.c
parent634fe87761add032fc5840edb6eac53ea4f019a5 (diff)
lib/mount_bsd.c: prettify option specifications
Diffstat (limited to 'lib/mount_bsd.c')
-rw-r--r--lib/mount_bsd.c109
1 files changed, 42 insertions, 67 deletions
diff --git a/lib/mount_bsd.c b/lib/mount_bsd.c
index c186ffc..1de9cfa 100644
--- a/lib/mount_bsd.c
+++ b/lib/mount_bsd.c
@@ -42,84 +42,59 @@ struct mount_opts {
char *kernel_opts;
};
+#define FUSE_DUAL_OPT_KEY(templ, key) \
+ FUSE_OPT_KEY(templ, key), FUSE_OPT_KEY("no" templ, key)
+
static const struct fuse_opt fuse_mount_opts[] = {
{ "allow_other", offsetof(struct mount_opts, allow_other), 1 },
{ "allow_root", offsetof(struct mount_opts, allow_root), 1 },
- FUSE_OPT_KEY("allow_root", KEY_ALLOW_ROOT),
- FUSE_OPT_KEY("-r", KEY_RO),
- FUSE_OPT_KEY("-h", KEY_HELP),
- FUSE_OPT_KEY("--help", KEY_HELP),
- FUSE_OPT_KEY("-V", KEY_VERSION),
- FUSE_OPT_KEY("--version", KEY_VERSION),
+ FUSE_OPT_KEY("allow_root", KEY_ALLOW_ROOT),
+ FUSE_OPT_KEY("-r", KEY_RO),
+ FUSE_OPT_KEY("-h", KEY_HELP),
+ FUSE_OPT_KEY("--help", KEY_HELP),
+ FUSE_OPT_KEY("-V", KEY_VERSION),
+ FUSE_OPT_KEY("--version", KEY_VERSION),
/* standard FreeBSD mount options */
- FUSE_OPT_KEY("dev", KEY_KERN),
- FUSE_OPT_KEY("async", KEY_KERN),
- FUSE_OPT_KEY("atime", KEY_KERN),
- FUSE_OPT_KEY("dev", KEY_KERN),
- FUSE_OPT_KEY("exec", KEY_KERN),
- FUSE_OPT_KEY("suid", KEY_KERN),
- FUSE_OPT_KEY("symfollow", KEY_KERN),
- FUSE_OPT_KEY("rdonly", KEY_KERN),
- FUSE_OPT_KEY("sync", KEY_KERN),
- FUSE_OPT_KEY("union", KEY_KERN),
- FUSE_OPT_KEY("userquota", KEY_KERN),
- FUSE_OPT_KEY("groupquota", KEY_KERN),
- FUSE_OPT_KEY("clusterr", KEY_KERN),
- FUSE_OPT_KEY("clusterw", KEY_KERN),
- FUSE_OPT_KEY("suiddir", KEY_KERN),
- FUSE_OPT_KEY("snapshot", KEY_KERN),
- FUSE_OPT_KEY("multilabel", KEY_KERN),
- FUSE_OPT_KEY("acls", KEY_KERN),
- FUSE_OPT_KEY("force", KEY_KERN),
- FUSE_OPT_KEY("update", KEY_KERN),
- FUSE_OPT_KEY("ro", KEY_KERN),
- FUSE_OPT_KEY("rw", KEY_KERN),
- FUSE_OPT_KEY("auto", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("dev", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("async", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("atime", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("dev", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("exec", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("suid", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("symfollow", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("rdonly", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("sync", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("union", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("userquota", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("groupquota", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("clusterr", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("clusterw", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("suiddir", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("snapshot", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("multilabel", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("acls", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("force", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("update", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("ro", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("rw", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("auto", KEY_KERN),
/* options supported under both Linux and FBSD */
- FUSE_OPT_KEY("allow_other", KEY_KERN),
- FUSE_OPT_KEY("default_permissions", KEY_KERN),
- FUSE_OPT_KEY("subtype=", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("allow_other", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("default_permissions",KEY_KERN),
+ FUSE_OPT_KEY("max_read=", KEY_KERN),
+ FUSE_OPT_KEY("subtype=", KEY_KERN),
/* FBSD FUSE specific mount options */
- FUSE_OPT_KEY("private", KEY_KERN),
- FUSE_OPT_KEY("neglect_shares", KEY_KERN),
- FUSE_OPT_KEY("push_symlinks_in", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("private", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("neglect_shares", KEY_KERN),
+ FUSE_DUAL_OPT_KEY("push_symlinks_in", KEY_KERN),
/* stock FBSD mountopt parsing routine lets anything be negated... */
- FUSE_OPT_KEY("nodev", KEY_KERN),
- FUSE_OPT_KEY("noasync", KEY_KERN),
- FUSE_OPT_KEY("noatime", KEY_KERN),
- FUSE_OPT_KEY("nodev", KEY_KERN),
- FUSE_OPT_KEY("noexec", KEY_KERN),
- FUSE_OPT_KEY("nosuid", KEY_KERN),
- FUSE_OPT_KEY("nosymfollow", KEY_KERN),
- FUSE_OPT_KEY("nordonly", KEY_KERN),
- FUSE_OPT_KEY("nosync", KEY_KERN),
- FUSE_OPT_KEY("nounion", KEY_KERN),
- FUSE_OPT_KEY("nouserquota", KEY_KERN),
- FUSE_OPT_KEY("nogroupquota", KEY_KERN),
- FUSE_OPT_KEY("noclusterr", KEY_KERN),
- FUSE_OPT_KEY("noclusterw", KEY_KERN),
- FUSE_OPT_KEY("nosuiddir", KEY_KERN),
- FUSE_OPT_KEY("nosnapshot", KEY_KERN),
- FUSE_OPT_KEY("nomultilabel", KEY_KERN),
- FUSE_OPT_KEY("noacls", KEY_KERN),
- FUSE_OPT_KEY("noforce", KEY_KERN),
- FUSE_OPT_KEY("noupdate", KEY_KERN),
- FUSE_OPT_KEY("noro", KEY_KERN),
- FUSE_OPT_KEY("norw", KEY_KERN),
- FUSE_OPT_KEY("noauto", KEY_KERN),
- FUSE_OPT_KEY("noallow_other", KEY_KERN),
- FUSE_OPT_KEY("nodefault_permissions", KEY_KERN),
- FUSE_OPT_KEY("noprivate", KEY_KERN),
- FUSE_OPT_KEY("noneglect_shares", KEY_KERN),
- FUSE_OPT_KEY("nopush_symlinks_in", KEY_KERN),
/*
* Linux specific mount options, but let just the mount util
* handle them
*/
- FUSE_OPT_KEY("fsname=", KEY_KERN),
- FUSE_OPT_KEY("nonempty", KEY_KERN),
- FUSE_OPT_KEY("large_read", KEY_KERN),
- FUSE_OPT_KEY("max_read=", KEY_KERN),
+ FUSE_OPT_KEY("fsname=", KEY_KERN),
+ FUSE_OPT_KEY("nonempty", KEY_KERN),
+ FUSE_OPT_KEY("large_read", KEY_KERN),
FUSE_OPT_END
};