mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-27 01:11:06 +00:00
3a0922001b
This FUSE implementation consists of libfuse, which provides a subset of the FUSE 2.6 API and libc_fuse, which provides support for accessing FUSE based file system via the libc. Fixes #942.
57 lines
1.3 KiB
C
57 lines
1.3 KiB
C
/*
|
|
* \brief libfuse public API
|
|
* \author Josef Soentgen
|
|
* \date 2013-11-07
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2013 Genode Labs GmbH
|
|
*
|
|
* This file is part of the Genode OS framework, which is distributed
|
|
* under the terms of the GNU General Public License version 2.
|
|
*/
|
|
|
|
#ifndef _FUSE_OPT_H_
|
|
#define _FUSE_OPT_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct fuse_opt {
|
|
const char *templ;
|
|
unsigned long off;
|
|
int val;
|
|
};
|
|
|
|
struct fuse_args {
|
|
int argc;
|
|
char **argv;
|
|
int allocated;
|
|
};
|
|
|
|
typedef int (*fuse_opt_proc_t)(void *, const char *, int, struct fuse_args *);
|
|
int fuse_opt_add_arg(struct fuse_args *, const char *);
|
|
int fuse_opt_insert_arg(struct fuse_args *, int, const char *);
|
|
void fuse_opt_free_args(struct fuse_args *);
|
|
int fuse_opt_add_opt(char **, const char *);
|
|
int fuse_opt_add_opt_escaped(char **, const char *);
|
|
int fuse_opt_match(const struct fuse_opt *, const char *);
|
|
int fuse_opt_parse(struct fuse_args *, void *, struct fuse_opt *,
|
|
fuse_opt_proc_t);
|
|
|
|
#define FUSE_ARGS_INIT(ac, av) { ac, av, 0 }
|
|
|
|
#define FUSE_OPT_KEY(t, k) { t, -1, k }
|
|
#define FUSE_OPT_END { NULL, 0, 0 }
|
|
#define FUSE_OPT_KEY_OPT -1
|
|
#define FUSE_OPT_KEY_NONOPT -2
|
|
#define FUSE_OPT_KEY_KEEP -3
|
|
#define FUSE_OPT_KEY_DISCARD -4
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _FUSE_OPT_H_ */
|