TYPE_VOID
C type - void
TYPE_VOIDP
C type - void*
TYPE_CHAR
C type - char
TYPE_SHORT
C type - short
TYPE_INT
C type - int
TYPE_LONG
C type - long
TYPE_LONG_LONG
C type - long long
TYPE_FLOAT
C type - float
TYPE_DOUBLE
C type - double
TYPE_SIZE_T
C type - size_t
TYPE_SSIZE_T
C type - ssize_t
TYPE_PTRDIFF_T
C type - ptrdiff_t
TYPE_INTPTR_T
C type - intptr_t
TYPE_UINTPTR_T
C type - uintptr_t
ALIGN_VOIDP
The alignment size of a void*
ALIGN_CHAR
The alignment size of a char
ALIGN_SHORT
The alignment size of a short
ALIGN_INT
The alignment size of an int
ALIGN_LONG
The alignment size of a long
ALIGN_LONG_LONG
The alignment size of a long long
ALIGN_FLOAT
The alignment size of a float
ALIGN_DOUBLE
The alignment size of a double
ALIGN_SIZE_T
The alignment size of a size_t
ALIGN_SSIZE_T
The alignment size of a ssize_t
ALIGN_PTRDIFF_T
The alignment size of a ptrdiff_t
ALIGN_INTPTR_T
The alignment size of a intptr_t
ALIGN_UINTPTR_T
The alignment size of a uintptr_t
Returns a boolean regarding whether the host is WIN32
SIZEOF_VOIDP
size of a void*
SIZEOF_CHAR
size of a char
SIZEOF_SHORT
size of a short
SIZEOF_INT
size of an int
SIZEOF_LONG
size of a long
SIZEOF_LONG_LONG
size of a long long
SIZEOF_FLOAT
size of a float
SIZEOF_DOUBLE
size of a double
SIZEOF_SIZE_T
size of a size_t
SIZEOF_SSIZE_T
size of a ssize_t
SIZEOF_PTRDIFF_T
size of a ptrdiff_t
SIZEOF_INTPTR_T
size of a intptr_t
SIZEOF_UINTPTR_T
size of a uintptr_t
RUBY_FREE
Address of the ruby_xfree() function
BUILD_RUBY_PLATFORM
Platform built against (i.e. "x86_64-linux", etc.)
See also RUBY_PLATFORM
Add constants for backwards compat
A libffi wrapper for Ruby.
Description
Fiddle is an extension to translate a foreign function interface (FFI) with ruby.
It wraps libffi, a popular C library which provides a portable interface that allows code written in one language to clal code written in another language.
Example
Here we will use Fiddle::Function to wrap floor(3) from libm
require 'fiddle' libm = Fiddle.dlopen('/lib/libm.so.6') floor = Fiddle::Function.new( libm['floor'], [Fiddle::TYPE_DOUBLE], Fiddle::TYPE_DOUBLE ) puts floor.call(3.14159) #=> 3.0