Sha256: 7ee571009c9e632155c6e6263ced0fd20e951001e689350ebd46b5de48dd8de9

Contents?: true

Size: 912 Bytes

Versions: 3

Compression:

Stored size: 912 Bytes

Contents

# frozen_string_literal: true

require_relative 'libfuse/fuse_version'
require_relative 'libfuse/fuse2' if FFI::Libfuse::FUSE_MAJOR_VERSION == 2
require_relative 'libfuse/fuse3' if FFI::Libfuse::FUSE_MAJOR_VERSION == 3
require_relative 'libfuse/main'
require_relative 'libfuse/adapter'
require_relative 'devt'

module FFI
  # Ruby FFI Binding for [libfuse](https://github.com/libfuse/libfuse)
  module Libfuse
    class << self
      # Filesystem entry point
      # @note This main function defaults to single-threaded operation by injecting the '-s' option. Pass `$0,*ARGV`
      #   if your filesystem can usefully support multi-threaded operation.
      #
      # @see Main.fuse_main
      def fuse_main(*argv, operations:, args: argv.any? ? argv : [$0, '-s', *ARGV], private_data: nil)
        Main.fuse_main(args: args, operations: operations, private_data: private_data) || -1
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ffi-libfuse-0.0.1.rctest12 lib/ffi/libfuse.rb
ffi-libfuse-0.0.1.rctest11 lib/ffi/libfuse.rb
ffi-libfuse-0.0.1.pre lib/ffi/libfuse.rb