Getting Started (Developer) - macfuse/macfuse GitHub Wiki

macFUSE provides multiple APIs for developing full-featured user space file systems:

  • FUSE application binary interface (ABI).
  • libfuse.dylib provides a superset of the standard Unix FUSE API.
  • macFUSE.framework is a high-level Objective-C wrapper for the libfuse C API.

FUSE application binary interface (ABI).

This is the low-level macFUSE kernel interface. It is not intended to be used for developing file systems and is only mentioned for completeness. The kernel interface is used by user space libraries such as libfuse.dylib to receive messages (file system operations) from the macFUSE kernel extension and pass the requested information back to the kernel.

The messages passed between the kernel and user space are defined in fuse_kernel.h.

See FUSE Features for a list of all supported FUSE ABI messages supported by macFUSE.

libfuse.dylib

libfuse.dylib provides a low-level and a high-level API for developing file systems.

libfuse.dylib is covered under the LGPL. The source code of the library can be found in the library repository.

macFUSE.framework

macFUSE.framework is an object-oriented wrapper for the high-level libfuse.dylib API.

macFUSE.framework is covered under the macFUSE license. The source code of the framework can be found in the framework repository.

Demos

See demo repository.