oxfuse 0.5.1
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.FileSystemclass 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
errnoare represented byFuseExceptionand thefe()function. - The original library broke backward
compatibility for the
fuse_configandfuse_file_infostructures. 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
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.
Compilation and installation
To build static and dynamic libraries using the ldc2 compiler (default):
make
Installation (root privileges may be required):
make install
The Makefile contains variables:
DESTDIRspecifies the root directory for installing (empty, by default);PREFIXpoints to the base directory likeusr/localorusr.
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 another 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:
Also use the repository service tools.
- 0.5.1 released 3 days ago
- os-18/oxfuse
- codeberg.org/os-18/oxfuse
- BSL-1.0 or LGPL-3.0+
- Copyright © 2023-2025, Eugene 'Vindex' Stulin
- Authors:
- Dependencies:
- none
- Versions:
-
Show all 20 versions0.5.1 2025-Oct-21 0.5.0 2025-Oct-10 0.4.5 2025-Oct-05 0.4.4 2025-Oct-05 0.4.3 2025-Jun-01 - Download Stats:
-
-
1 downloads today
-
4 downloads this week
-
6 downloads this month
-
63 downloads total
-
- Score:
- 0.1
- Short URL:
- oxfuse.dub.pm