Module: FFI::Libfuse
- Extended by:
- GNUExtensions, Library
- Defined in:
- lib/ffi/libfuse.rb,
lib/ffi/libfuse/io.rb,
lib/ffi/libfuse/main.rb,
lib/ffi/libfuse/fuse2.rb,
lib/ffi/libfuse/fuse3.rb,
lib/ffi/libfuse/ackbar.rb,
lib/ffi/libfuse/adapter.rb,
lib/ffi/libfuse/version.rb,
lib/ffi/libfuse/fuse_buf.rb,
lib/ffi/libfuse/fuse_opt.rb,
lib/ffi/libfuse/job_pool.rb,
lib/ffi/libfuse/callbacks.rb,
lib/ffi/libfuse/fuse_args.rb,
lib/ffi/libfuse/filesystem.rb,
lib/ffi/libfuse/gem_helper.rb,
lib/ffi/libfuse/fuse_common.rb,
lib/ffi/libfuse/fuse_config.rb,
lib/ffi/libfuse/gem_version.rb,
lib/ffi/libfuse/test_helper.rb,
lib/ffi/libfuse/thread_pool.rb,
lib/ffi/libfuse/adapter/ruby.rb,
lib/ffi/libfuse/adapter/safe.rb,
lib/ffi/libfuse/fuse_buf_vec.rb,
lib/ffi/libfuse/fuse_context.rb,
lib/ffi/libfuse/fuse_version.rb,
lib/ffi/libfuse/adapter/debug.rb,
lib/ffi/libfuse/fuse_callbacks.rb,
lib/ffi/libfuse/fuse_conn_info.rb,
lib/ffi/libfuse/fuse_file_info.rb,
lib/ffi/libfuse/adapter/context.rb,
lib/ffi/libfuse/fuse_operations.rb,
lib/ffi/libfuse/adapter/pathname.rb,
lib/ffi/libfuse/filesystem/utils.rb,
lib/ffi/libfuse/fuse_loop_config.rb,
lib/ffi/libfuse/fuse_poll_handle.rb,
lib/ffi/libfuse/adapter/interrupt.rb,
lib/ffi/libfuse/fuse_cmdline_opts.rb,
lib/ffi/libfuse/adapter/fuse2_compat.rb,
lib/ffi/libfuse/adapter/fuse3_support.rb,
lib/ffi/libfuse/filesystem/accounting.rb,
lib/ffi/libfuse/filesystem/mapped_dir.rb,
lib/ffi/libfuse/filesystem/virtual_fs.rb,
lib/ffi/libfuse/filesystem/virtual_dir.rb,
lib/ffi/libfuse/filesystem/mapped_files.rb,
lib/ffi/libfuse/filesystem/virtual_file.rb,
lib/ffi/libfuse/filesystem/virtual_link.rb,
lib/ffi/libfuse/filesystem/virtual_node.rb,
lib/ffi/libfuse/filesystem/pass_through_dir.rb,
lib/ffi/libfuse/filesystem/pass_through_file.rb
Overview
Ruby FFI Binding for libfuse
Defined Under Namespace
Modules: Adapter, Callbacks, Filesystem, FuseCallbacks, IO, Main, TestHelper Classes: Ackbar, Error, FuseArgs, FuseBuf, FuseBufVec, FuseCommon, FuseConfig, FuseConnInfo, FuseContext, FuseFileInfo, FuseLoopConfig, FuseOperations, FusePollHandle, JobPool, ThreadPool
Constant Summary collapse
- DEFAULT_ARGS =
Note:
These may change between major versions
Opinionated default args for main.
Filesystems that want full control (eg to take advantage of multi-threaded operations) should call Main.fuse_main instead
%w[-s -odefault_permissions].freeze
- VERSION =
'0.4.1'
- LIBFUSE =
The fuse library to load from 'LIBFUSE' environment variable if set, otherwise prefer Fuse3 over Fuse2
ENV.fetch('LIBFUSE', libs)
- FUSE_VERSION =
prior to 3.10 this is Major * 10 + Minor, after 3.10 and later is Major * 100 + Minor
fuse_version
- FUSE_MAJOR_VERSION =
Returns the FUSE major version.
FUSE_VERSION / fv_split
- FUSE_MINOR_VERSION =
Returns the FUSE minor version.
FUSE_VERSION % fv_split
Class Method Summary collapse
-
.fuse_interrupted? ⇒ Boolean
If the fuse request is marked as interrupted.
-
.fuse_main(*argv, operations:, args: argv.any? ? argv : Main.default_args(*DEFAULT_ARGS), private_data: nil) ⇒ Object
(also: main)
Filesystem entry point.
- .raise_interrupt ⇒ void
Methods included from GNUExtensions
Class Method Details
.fuse_interrupted? ⇒ Boolean
Returns if the fuse request is marked as interrupted.
107 108 109 |
# File 'lib/ffi/libfuse/fuse_context.rb', line 107 def fuse_interrupted? fuse_interrupted != 0 end |
.fuse_main(*argv, operations:, args: argv.any? ? argv : Main.default_args(*DEFAULT_ARGS), private_data: nil) ⇒ Object Also known as: main
Filesystem entry point
27 28 29 |
# File 'lib/ffi/libfuse.rb', line 27 def fuse_main(*argv, operations:, args: argv.any? ? argv : Main.default_args(*DEFAULT_ARGS), private_data: nil) Main.fuse_main(args: args, operations: operations, private_data: private_data) || -1 end |
.raise_interrupt ⇒ void
This method returns an undefined value.
113 114 115 |
# File 'lib/ffi/libfuse/fuse_context.rb', line 113 def raise_interrupt raise Errno::EINTR if fuse_interrupted? end |