diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2006-01-20 16:29:23 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2006-01-20 16:29:23 +0000 |
commit | d2a3ed327ecd71bedf9918f729c068b11d81fdc1 (patch) | |
tree | 95899a77bc0cbf0f3c8418a8e2bb3dbb03732934 /compat/fuse_opt.h | |
parent | cd6a924cdc482fec10e4f5fa3d889d12e8e2169e (diff) | |
download | sshfs-d2a3ed327ecd71bedf9918f729c068b11d81fdc1.tar sshfs-d2a3ed327ecd71bedf9918f729c068b11d81fdc1.tar.gz sshfs-d2a3ed327ecd71bedf9918f729c068b11d81fdc1.tar.bz2 sshfs-d2a3ed327ecd71bedf9918f729c068b11d81fdc1.zip |
fix
Diffstat (limited to 'compat/fuse_opt.h')
-rw-r--r-- | compat/fuse_opt.h | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/compat/fuse_opt.h b/compat/fuse_opt.h index 2ef5d56..9e159d5 100644 --- a/compat/fuse_opt.h +++ b/compat/fuse_opt.h @@ -72,7 +72,7 @@ extern "C" { */ struct fuse_opt { /** Matching template and optional parameter formatting */ - const char *template; + const char *templ; /** * Offset of variable within 'data' parameter of fuse_opt_parse() @@ -82,7 +82,7 @@ struct fuse_opt { /** * Value to set the variable to, or to be passed as 'key' to the - * processing function. Ignored if template a format + * processing function. Ignored if template has a format */ int value; }; @@ -91,13 +91,13 @@ struct fuse_opt { * Key option. In case of a match, the processing function will be * called with the specified key. */ -#define FUSE_OPT_KEY(template, key) { template, -1U, key } +#define FUSE_OPT_KEY(templ, key) { templ, -1U, key } /** * Last option. An array of 'struct fuse_opt' must end with a NULL * template value */ -#define FUSE_OPT_END { .template = NULL } +#define FUSE_OPT_END { .templ = NULL } /** * Argument list @@ -120,7 +120,7 @@ struct fuse_args { /** * Key value passed to the processing function if an option did not - * match any templated + * match any template */ #define FUSE_OPT_KEY_OPT -1 @@ -133,6 +133,22 @@ struct fuse_args { #define FUSE_OPT_KEY_NONOPT -2 /** + * Special key value for options to keep + * + * Argument is not passed to processing function, but behave as if the + * processing function returned 1 + */ +#define FUSE_OPT_KEY_KEEP -3 + +/** + * Special key value for options to discard + * + * Argument is not passed to processing function, but behave as if the + * processing function returned zero + */ +#define FUSE_OPT_KEY_DISCARD -4 + +/** * Processing function * * This function is called if @@ -202,6 +218,21 @@ int fuse_opt_add_opt(char **opts, const char *opt); int fuse_opt_add_arg(struct fuse_args *args, const char *arg); /** + * Add an argument at the specified position in a NULL terminated + * argument vector + * + * Adds the argument to the N-th position. This is useful for adding + * options at the beggining of the array which must not come after the + * special '--' option. + * + * @param args is the structure containing the current argument list + * @param pos is the position at which to add the argument + * @param arg is the new argument to add + * @return -1 on allocation error, 0 on success + */ +int fuse_opt_insert_arg(struct fuse_args *args, int pos, const char *arg); + +/** * Free the contents of argument list * * The structure itself is not freed |