Type:
Module
Constants:
TYPE_VOID : Document-const

TYPE_VOID

C type - void

TYPE_VOIDP : Document-const

TYPE_VOIDP

C type - void*

TYPE_CHAR : Document-const

TYPE_CHAR

C type - char

TYPE_SHORT : Document-const

TYPE_SHORT

C type - short

TYPE_INT : Document-const

TYPE_INT

C type - int

TYPE_LONG : Document-const

TYPE_LONG

C type - long

TYPE_LONG_LONG : Document-const

TYPE_LONG_LONG

C type - long long

TYPE_FLOAT : Document-const

TYPE_FLOAT

C type - float

TYPE_DOUBLE : Document-const

TYPE_DOUBLE

C type - double

TYPE_SIZE_T : Document-const

TYPE_SIZE_T

C type - size_t

TYPE_SSIZE_T : Document-const

TYPE_SSIZE_T

C type - ssize_t

TYPE_PTRDIFF_T : Document-const

TYPE_PTRDIFF_T

C type - ptrdiff_t

TYPE_INTPTR_T : Document-const

TYPE_INTPTR_T

C type - intptr_t

TYPE_UINTPTR_T : Document-const

TYPE_UINTPTR_T

C type - uintptr_t

ALIGN_VOIDP : Document-const

ALIGN_VOIDP

The alignment size of a void*

ALIGN_CHAR : Document-const

ALIGN_CHAR

The alignment size of a char

ALIGN_SHORT : Document-const

ALIGN_SHORT

The alignment size of a short

ALIGN_INT : Document-const

ALIGN_INT

The alignment size of an int

ALIGN_LONG : Document-const

ALIGN_LONG

The alignment size of a long

ALIGN_LONG_LONG : Document-const

ALIGN_LONG_LONG

The alignment size of a long long

ALIGN_FLOAT : Document-const

ALIGN_FLOAT

The alignment size of a float

ALIGN_DOUBLE : Document-const

ALIGN_DOUBLE

The alignment size of a double

ALIGN_SIZE_T : Document-const

ALIGN_SIZE_T

The alignment size of a size_t

ALIGN_SSIZE_T : Document-const

ALIGN_SSIZE_T

The alignment size of a ssize_t

ALIGN_PTRDIFF_T : Document-const

ALIGN_PTRDIFF_T

The alignment size of a ptrdiff_t

ALIGN_INTPTR_T : Document-const

ALIGN_INTPTR_T

The alignment size of a intptr_t

ALIGN_UINTPTR_T : Document-const

ALIGN_UINTPTR_T

The alignment size of a uintptr_t

WINDOWS : Qtrue

Returns a boolean regarding whether the host is WIN32

SIZEOF_VOIDP : Document-const

SIZEOF_VOIDP

size of a void*

SIZEOF_CHAR : Document-const

SIZEOF_CHAR

size of a char

SIZEOF_SHORT : Document-const

SIZEOF_SHORT

size of a short

SIZEOF_INT : Document-const

SIZEOF_INT

size of an int

SIZEOF_LONG : Document-const

SIZEOF_LONG

size of a long

SIZEOF_LONG_LONG : Document-const

SIZEOF_LONG_LONG

size of a long long

SIZEOF_FLOAT : Document-const

SIZEOF_FLOAT

size of a float

SIZEOF_DOUBLE : Document-const

SIZEOF_DOUBLE

size of a double

SIZEOF_SIZE_T : Document-const

SIZEOF_SIZE_T

size of a size_t

SIZEOF_SSIZE_T : Document-const

SIZEOF_SSIZE_T

size of a ssize_t

SIZEOF_PTRDIFF_T : Document-const

SIZEOF_PTRDIFF_T

size of a ptrdiff_t

SIZEOF_INTPTR_T : Document-const

SIZEOF_INTPTR_T

size of a intptr_t

SIZEOF_UINTPTR_T : Document-const

SIZEOF_UINTPTR_T

size of a uintptr_t

RUBY_FREE : Document-const

RUBY_FREE

Address of the ruby_xfree() function

BUILD_RUBY_PLATFORM : Document-const

BUILD_RUBY_PLATFORM

Platform built against (i.e. "x86_64-linux", etc.)

See also RUBY_PLATFORM

RTLD_GLOBAL : Handle::RTLD_GLOBAL # :nodoc:

Add constants for backwards compat

RTLD_LAZY : Handle::RTLD_LAZY
RTLD_NOW : Handle::RTLD_NOW

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
free

Fiddle.free(addr) Class Public methods Free the memory at address addr

2015-04-06 04:37:47
dlunwrap

Fiddle.dlunwrap(addr) Class Public methods Returns the hexadecimal representation

2015-04-06 04:28:26
last_error

last_error() Class Public methods Returns the last Error of the

2015-04-06 04:39:05
win32_last_error=

win32_last_error=(error) Class Public methods Sets the last win32 Error

2015-04-06 05:02:28
realloc

Fiddle.realloc(addr, size) Class Public methods Change the size of the memory

2015-04-06 04:52:21
malloc

Fiddle.malloc(size) Class Public methods Allocate size bytes of

2015-04-06 04:46:40
last_error=

last_error=(error) Class Public methods Sets the last Error of

2015-04-06 04:39:54
dlopen

dlopen(library) => Fiddle::Handle Class Public methods Creates a new handler

2015-04-06 04:27:11
dlwrap

Fiddle.dlwrap(val) Class Public methods Returns a memory pointer of a function's

2015-04-06 04:31:30
win32_last_error

win32_last_error() Class Public methods Returns the last win32 Error

2015-04-06 04:58:28