diff options
Diffstat (limited to 'include/fuse_lowlevel.h')
-rw-r--r-- | include/fuse_lowlevel.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h index 378742d..53f0fcf 100644 --- a/include/fuse_lowlevel.h +++ b/include/fuse_lowlevel.h @@ -1868,6 +1868,11 @@ void fuse_cmdline_help(void); * Filesystem setup & teardown * * ----------------------------------------------------------- */ +/** + * Note: Any addition to this struct needs to create a compatibility symbol + * for fuse_parse_cmdline(). For ABI compatibility reasons it is also + * not possible to remove struct members. + */ struct fuse_cmdline_opts { int singlethread; int foreground; @@ -1877,7 +1882,11 @@ struct fuse_cmdline_opts { int show_version; int show_help; int clone_fd; - unsigned int max_idle_threads; + unsigned int max_idle_threads; /* discouraged, due to thread + * destruct overhead */ + + /* Added in libfuse-3.12 */ + unsigned int max_threads; }; /** @@ -1898,8 +1907,20 @@ struct fuse_cmdline_opts { * @param opts output argument for parsed options * @return 0 on success, -1 on failure */ +#if (!defined(__UCLIBC__) && !defined(__APPLE__)) int fuse_parse_cmdline(struct fuse_args *args, struct fuse_cmdline_opts *opts); +#else +#if FUSE_USE_VERSION < FUSE_MAKE_VERSION(3, 12) +int fuse_parse_cmdline_30(struct fuse_args *args, + struct fuse_cmdline_opts *opts); +#define fuse_parse_cmdline(args, opts) fuse_parse_cmdline_30(args, opts) +#else +int fuse_parse_cmdline_312(struct fuse_args *args, + struct fuse_cmdline_opts *opts); +#define fuse_parse_cmdline(args, opts) fuse_parse_cmdline_312(args, opts) +#endif +#endif /** * Create a low level session. |