aboutsummaryrefslogtreecommitdiffstats
path: root/include/fuse_common.h
diff options
context:
space:
mode:
authorBernd Schubert <bernd.schubert@fastmail.fm>2024-05-13 12:32:06 +0200
committerGitHub <noreply@github.com>2024-05-13 12:32:06 +0200
commit58f85bfa9b7dca9a216cd0bb4e38e9cdf4b661da (patch)
tree6b731982629b96315c70bca87280141e3240fcd7 /include/fuse_common.h
parent2bdec0bc22ce39b307e299ee9ec19d1c58b640de (diff)
downloadlibfuse-58f85bfa9b7dca9a216cd0bb4e38e9cdf4b661da.tar.gz
Add in the libfuse version a program was compiled with (#942)
The API stays the same, the libfuse version comes from inlined functions, which are defined fuse_lowlevel.h and fuse.h. As these inlined functions are defined in the header files they get added into the application, similar as if these were preprocessor macros. Macro vs inlined function is then just a style issue - I personally prefer the latter. fuse_session_new() -> static inlinei, in the application _fuse_session_new -> inside of libfuse fuse_new() -> static inline, in the application _fuse_new() -> inside of libfuse Note: Entirely untested is the fuse 30 api - we need a test for it. And we do not have any ABI tests at all. Signed-off-by: Bernd Schubert <bernd.schubert@fastmail.fm>
Diffstat (limited to 'include/fuse_common.h')
-rw-r--r--include/fuse_common.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/fuse_common.h b/include/fuse_common.h
index 8803b68..a614fb0 100644
--- a/include/fuse_common.h
+++ b/include/fuse_common.h
@@ -836,6 +836,18 @@ struct fuse_bufvec {
struct fuse_buf buf[1];
};
+/**
+ * libfuse version a file system was compiled with. Should be filled in from
+ * defines in 'libfuse_config.h'
+ */
+struct libfuse_version
+{
+ int major;
+ int minor;
+ int hotfix;
+ int padding;
+};
+
/* Initialize bufvec with a single buffer of given size */
#define FUSE_BUFVEC_INIT(size__) \
((struct fuse_bufvec) { \