oxfuse 0.4.4

Object-oriented binding for FUSE (libfuse v3)


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

This project is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.

Official repositories:

Keywords: dlang, d, fuse, libfuse, libfuse3, binding, wrapper, filesystem.

About

OXFuse (Object-oriented eXtension for FUSE) is a D language binding for libfuse3, allowing developers to create user-space filesystems for Linux with an object-oriented interface.

Features

  • To create your own file system, inherit from the oxfuse.FileSystem class and override any methods representing file operations.
  • This library allows you to use forty operations from libfuse (all except write_buf()/read_buf()).
  • The behavior of all non-overloaded functions is determined by FUSE and the OS kernel.
  • The library does not provide bindings for functions that parse command-line arguments. Parsing is proposed to be done using the D language tools.
  • Errors with accompanying messages and errno are represented by FuseException and the fe() function.
  • The original library broke backward compatibility for the fuse_config and fuse_file_info structures. Our library takes into account the current system version of libfuse3. All structures in the final build have the correct versions.
  • At present, only the high-level part has been ported; the low-level part is not available.

Documentation

https://os-18.codeberg.page/oxfuse/

The "examples/" directory contains several different implementations of file systems.

Useful information is also available here: https://github.com/libfuse/libfuse/wiki.

Ready-made packages

See: Download Page of OS-18

The page contains information about installing several packages, including OXFuse.

Build from source

Preparing

You must have make and at least one of these compilers:

Also the library needs libfuse3.

Simple building and installing

Creating static and dynamic libraries for the ldc2 compiler (by default):

make

Installation (root privileges may be required):

make install

The Makefile contains variables:

  • DESTDIR specifies the root directory for installing (empty, by default);
  • PREFIX points to the base directory like usr/local or usr.

The installation directory is defined as $(DESTDIR)/$(PREFIX) in the Makefile.

You can install the library files in any directory; example for $HOME/.local:

make install DESTDIR=$HOME PREFIX=.local

Uninstall:

make uninstall

If the project was installed in a non-default location, use the corresponding paths:

make uninstall DESTDIR=$HOME PREFIX=.local

Other compilers

Compiler by default is ldc2. You can choose other compiler (for example, gdc):

make DC=gdc

Installing:

make install DC=gdc

Uninstalling:

make uninstall DC=gdc

Feedback

For questions, suggestions, comments, or bugs reports:

[email protected]

Also use the repository service tools.

Authors:
  • Eugene 'Vindex' Stulin
Dependencies:
none
Versions:
0.5.0 2025-Oct-10
0.4.5 2025-Oct-05
0.4.4 2025-Oct-05
0.4.3 2025-Jun-01
0.4.2 2025-Mar-04
Show all 19 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 3 downloads this month

  • 58 downloads total

Score:
0.0
Short URL:
oxfuse.dub.pm