module Khiva::FFI

Public Class Methods

call(method, *args) click to toggle source
# File lib/khiva/ffi.rb, line 198
def call(method, *args)
  FFI.send(method, *args, error_code, error_message)
  if error_code.to_s(error_code.size).unpack1("i*") != 0
    raise Error, error_message.to_s
  end
end
error_code() click to toggle source

thread-safe

# File lib/khiva/ffi.rb, line 189
def error_code
  Thread.current[:khiva_error_code] ||= Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT)
end
error_message() click to toggle source

thread-safe

# File lib/khiva/ffi.rb, line 194
def error_message
  Thread.current[:khiva_error_message] ||= Fiddle::Pointer.malloc(256)
end