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 byFuseException
and thefe()
function. - The original library broke backward
compatibility for the
fuse_config
andfuse_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
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 likeusr/local
orusr
.
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:
Also use the repository service tools.
- 0.4.4 released 9 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:
-
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 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
3 downloads this month
-
58 downloads total
-
- Score:
- 0.0
- Short URL:
- oxfuse.dub.pm