Search code examples
clinuxfuse

Is hello_ll.c in libfuse obsolete?


I learning how to use libfuse with hello_ll.c in example directory.
hello_ll.c

But it looks like using different API that does not match current version libfuse.

For instance, fuse_session_new takes 4 args in this example, But same one that defines in my /usr/include/fuse/fuse_lowlevel.h only takes two args.

struct fuse_session *fuse_session_new(struct fuse_session_ops *op, void *data);

Is it obsolete?


Solution

  • You are looking at an example for FUSE for linux and looking at a header for FUSE on MacOS or looking at a header from a really really old fuse version, as

    • fuse_session_new(struct fuse_session_ops *op, void *data) was in 2005 renamed to struct fuse_session *fuse_lowlevel_new(const char *opts, const struct fuse_lowlevel_ops *op, size_t op_size, void *userdata);
    • which was in 2016 renamed to struct fuse_session *fuse_session_new(struct fuse_args *args, const struct fuse_lowlevel_ops *op, size_t op_size, void *userdata);.

    Is hello_ll.c in libfuse obsolete?

    No, it is not.