oxfuse 0.4.2

Object-oriented binding for libfuse3


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.

About

OXFuse (Object-oriented eXtension of FUSE) is a D language binding for libfuse3. This project allows to write filesystem for Linux.

Features

  • To create your own file system, you should inherit from the oxfuse.FileSystem class and overload any methods (file operations).
  • This library allows to use fourty 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 doesn't contain bindings to functions which parse command line arguments. Parsing is proposed to be done using the D language tools.
  • Error situations with accompanying messages and errno are based on 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.
  • Currently, 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 imformation 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 of static and dynamic libraries for the ldc2 compiler (by default):

make

Installation (root rights 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.

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

You can install the library files in any directory, like $HOME/.local:

make install DESTDIR=$HOME PREFIX=.local

Uninstall:

make uninstall

If you installed the project in some alternative directory:

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

Questions, suggestions, comments, bugs:

[email protected]

Also use the repository service tools.

Authors:
  • Eugene 'Vindex' Stulin
Dependencies:
none
Versions:
0.4.2 2025-Mar-04
0.4.1 2025-Mar-04
0.4.0 2025-Mar-04
0.3.4 2025-Feb-19
0.3.3 2025-Feb-18
Show all 15 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 23 downloads this month

  • 47 downloads total

Score:
0.5
Short URL:
oxfuse.dub.pm