Sha256: c61d4879d209dda44a77bba060fd2c6e8eb1561e21eb7f3cc75109c2dec96e76
Contents?: true
Size: 1.51 KB
Versions: 2
Compression:
Stored size: 1.51 KB
Contents
# frozen_string_literal: true require 'ffi' module Lxi module FFIFunctions extend FFI::Library ffi_lib %w[liblxi liblxi.so.1 /home/linuxbrew/.linuxbrew/lib/liblxi.so.1] ffi_lib_flags :now, :global # Define liblxi structs class LxiInfo < FFI::Struct layout :broadcast, callback(%i[pointer pointer], :void), :device, callback(%i[pointer pointer], :void), :service, callback(%i[pointer pointer pointer int], :void) end class LxiBrowseInfo < FFI::Struct layout :broadcast, callback(%i[pointer pointer], :void), :device, callback(%i[pointer pointer], :void), :service, callback(%i[pointer pointer pointer int], :void), :servicename, :string, :regtype, :string end # Define liblxi enums enum :lxi_protocol_type, %i[vxi11 raw hyslip] enum :lxi_discover_type, %i[vxi11 mdns] # Expose liblxi functions attach_function :lxi_init, [], :int attach_function :lxi_discover_internal, :lxi_discover, [LxiInfo.ptr, :int, :lxi_discover_type], :int attach_function :lxi_discover_if, [LxiInfo.ptr, :string, :int, :lxi_discover_type], :int attach_function :lxi_connect, %i[string int string int lxi_protocol_type], :int attach_function :lxi_send, %i[int string int int], :int attach_function :lxi_receive, %i[int pointer int int], :int attach_function :lxi_disconnect, [:int], :int end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lxi_rb-0.8.1 | lib/lxi/functions.rb |
lxi_rb-0.8.0 | lib/lxi/functions.rb |