D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
ruby34
/
share
/
ri
/
system
/
Fiddle
/
Filename :
cdesc-Fiddle.ri
back
Copy
U:RDoc::NormalModule[iI"Fiddle:ET@0o:RDoc::Markup::Document:@parts[o;;[ : @fileI"ext/fiddle/closure.c;T:0@omit_headings_from_table_of_contents_below0o;;[o:RDoc::Markup::Paragraph;[I"A libffi wrapper for Ruby.;To:RDoc::Markup::BlankLine S:RDoc::Markup::Heading: leveli: textI"Description;T@o;;[I"LFiddle is an extension to translate a foreign function interface (FFI) ;TI"with ruby.;T@o;;[I"KIt wraps {libffi}[http://sourceware.org/libffi/], a popular C library ;TI"Iwhich provides a portable interface that allows code written in one ;TI"7language to call code written in another language.;T@S; ;i;I"Example;T@o;;[I">Here we will use Fiddle::Function to wrap {floor(3) from ;TI",libm}[http://linux.die.net/man/3/floor];T@o:RDoc::Markup::Verbatim;[I"require 'fiddle' ;TI" ;TI",libm = Fiddle.dlopen('/lib/libm.so.6') ;TI" ;TI"#floor = Fiddle::Function.new( ;TI" libm['floor'], ;TI" [Fiddle::TYPE_DOUBLE], ;TI" Fiddle::TYPE_DOUBLE ;TI") ;TI" ;TI"%puts floor.call(3.14159) #=> 3.0;T:@format0; I"ext/fiddle/fiddle.c;T; 0o;;[ ; I"ext/fiddle/lib/fiddle.rb;T; 0o;;[ ; I"%ext/fiddle/lib/fiddle/closure.rb;T; 0o;;[ ; I"%ext/fiddle/lib/fiddle/cparser.rb;T; 0o;;[ ; I")ext/fiddle/lib/fiddle/ffi_backend.rb;T; 0o;;[ ; I"&ext/fiddle/lib/fiddle/function.rb;T; 0o;;[ ; I"$ext/fiddle/lib/fiddle/import.rb;T; 0o;;[ ; I""ext/fiddle/lib/fiddle/pack.rb;T; 0o;;[ ; I"$ext/fiddle/lib/fiddle/struct.rb;T; 0o;;[ ; I"#ext/fiddle/lib/fiddle/types.rb;T; 0o;;[ ; I"#ext/fiddle/lib/fiddle/value.rb;T; 0o;;[ ; I"%ext/fiddle/lib/fiddle/version.rb;T; 0; 0; 0[ [<U:RDoc::Constant[i I"ALIGN_VOIDP;TI"Fiddle::ALIGN_VOIDP;T:public0o;;[o;;[I"ALIGN_VOIDP;T@o;;[I""The alignment size of a void*;T; @1; 0@1@cRDoc::NormalModule0U;[i I"ALIGN_CHAR;TI"Fiddle::ALIGN_CHAR;T;0o;;[o;;[I"ALIGN_CHAR;T@o;;[I"!The alignment size of a char;T; @1; 0@1@@a0U;[i I"ALIGN_SHORT;TI"Fiddle::ALIGN_SHORT;T;0o;;[o;;[I"ALIGN_SHORT;T@o;;[I""The alignment size of a short;T; @1; 0@1@@a0U;[i I"ALIGN_INT;TI"Fiddle::ALIGN_INT;T;0o;;[o;;[I"ALIGN_INT;T@o;;[I"!The alignment size of an int;T; @1; 0@1@@a0U;[i I"ALIGN_LONG;TI"Fiddle::ALIGN_LONG;T;0o;;[o;;[I"ALIGN_LONG;T@o;;[I"!The alignment size of a long;T; @1; 0@1@@a0U;[i I"ALIGN_LONG_LONG;TI"Fiddle::ALIGN_LONG_LONG;T;0o;;[o;;[I"ALIGN_LONG_LONG;T@o;;[I"&The alignment size of a long long;T; @1; 0@1@@a0U;[i I"ALIGN_INT8_T;TI"Fiddle::ALIGN_INT8_T;T;0o;;[o;;[I"ALIGN_INT8_T;T@o;;[I"#The alignment size of a int8_t;T; @1; 0@1@@a0U;[i I"ALIGN_INT16_T;TI"Fiddle::ALIGN_INT16_T;T;0o;;[o;;[I"ALIGN_INT16_T;T@o;;[I"$The alignment size of a int16_t;T; @1; 0@1@@a0U;[i I"ALIGN_INT32_T;TI"Fiddle::ALIGN_INT32_T;T;0o;;[o;;[I"ALIGN_INT32_T;T@o;;[I"$The alignment size of a int32_t;T; @1; 0@1@@a0U;[i I"ALIGN_INT64_T;TI"Fiddle::ALIGN_INT64_T;T;0o;;[o;;[I"ALIGN_INT64_T;T@o;;[I"$The alignment size of a int64_t;T; @1; 0@1@@a0U;[i I"ALIGN_FLOAT;TI"Fiddle::ALIGN_FLOAT;T;0o;;[o;;[I"ALIGN_FLOAT;T@o;;[I""The alignment size of a float;T; @1; 0@1@@a0U;[i I"ALIGN_DOUBLE;TI"Fiddle::ALIGN_DOUBLE;T;0o;;[o;;[I"ALIGN_DOUBLE;T@o;;[I"#The alignment size of a double;T; @1; 0@1@@a0U;[i I"ALIGN_SIZE_T;TI"Fiddle::ALIGN_SIZE_T;T;0o;;[o;;[I"ALIGN_SIZE_T;T@o;;[I"#The alignment size of a size_t;T; @1; 0@1@@a0U;[i I"ALIGN_SSIZE_T;TI"Fiddle::ALIGN_SSIZE_T;T;0o;;[o;;[I"ALIGN_SSIZE_T;T@o;;[I"$The alignment size of a ssize_t;T; @1; 0@1@@a0U;[i I"ALIGN_PTRDIFF_T;TI"Fiddle::ALIGN_PTRDIFF_T;T;0o;;[o;;[I"ALIGN_PTRDIFF_T;T@o;;[I"&The alignment size of a ptrdiff_t;T; @1; 0@1@@a0U;[i I"ALIGN_INTPTR_T;TI"Fiddle::ALIGN_INTPTR_T;T;0o;;[o;;[I"ALIGN_INTPTR_T;T@o;;[I"%The alignment size of a intptr_t;T; @1; 0@1@@a0U;[i I"ALIGN_UINTPTR_T;TI"Fiddle::ALIGN_UINTPTR_T;T;0o;;[o;;[I"ALIGN_UINTPTR_T;T@o;;[I"&The alignment size of a uintptr_t;T; @1; 0@1@@a0U;[i I"ALIGN_BOOL;TI"Fiddle::ALIGN_BOOL;T;0o;;[o;;[I"ALIGN_BOOL;T@o;;[I"!The alignment size of a bool;T; @1; 0@1@@a0U;[i I"WINDOWS;TI"Fiddle::WINDOWS;T;0o;;[o;;[I":Returns a boolean regarding whether the host is WIN32;T; @1; 0@1@@a0U;[i I"SIZEOF_VOIDP;TI"Fiddle::SIZEOF_VOIDP;T;0o;;[o;;[I"SIZEOF_VOIDP;T@o;;[I"size of a void*;T; @1; 0@1@@a0U;[i I"SIZEOF_CHAR;TI"Fiddle::SIZEOF_CHAR;T;0o;;[o;;[I"SIZEOF_CHAR;T@o;;[I"size of a char;T; @1; 0@1@@a0U;[i I"SIZEOF_UCHAR;TI"Fiddle::SIZEOF_UCHAR;T;0o;;[o;;[I"SIZEOF_UCHAR;T@o;;[I"size of a unsigned char;T; @1; 0@1@@a0U;[i I"SIZEOF_SHORT;TI"Fiddle::SIZEOF_SHORT;T;0o;;[o;;[I"SIZEOF_SHORT;T@o;;[I"size of a short;T; @1; 0@1@@a0U;[i I"SIZEOF_USHORT;TI"Fiddle::SIZEOF_USHORT;T;0o;;[o;;[I"SIZEOF_USHORT;T@o;;[I"size of a unsigned short;T; @1; 0@1@@a0U;[i I"SIZEOF_INT;TI"Fiddle::SIZEOF_INT;T;0o;;[o;;[I"SIZEOF_INT;T@o;;[I"size of an int;T; @1; 0@1@@a0U;[i I"SIZEOF_UINT;TI"Fiddle::SIZEOF_UINT;T;0o;;[o;;[I"SIZEOF_UINT;T@o;;[I"size of an unsigned int;T; @1; 0@1@@a0U;[i I"SIZEOF_LONG;TI"Fiddle::SIZEOF_LONG;T;0o;;[o;;[I"SIZEOF_LONG;T@o;;[I"size of a long;T; @1; 0@1@@a0U;[i I"SIZEOF_ULONG;TI"Fiddle::SIZEOF_ULONG;T;0o;;[o;;[I"SIZEOF_ULONG;T@o;;[I"size of a unsigned long;T; @1; 0@1@@a0U;[i I"SIZEOF_LONG_LONG;TI"Fiddle::SIZEOF_LONG_LONG;T;0o;;[o;;[I"SIZEOF_LONG_LONG;T@o;;[I"size of a long long;T; @1; 0@1@@a0U;[i I"SIZEOF_ULONG_LONG;TI"Fiddle::SIZEOF_ULONG_LONG;T;0o;;[o;;[I"SIZEOF_ULONG_LONG;T@o;;[I"!size of a unsigned long long;T; @1; 0@1@@a0U;[i I"SIZEOF_INT8_T;TI"Fiddle::SIZEOF_INT8_T;T;0o;;[o;;[I"SIZEOF_INT8_T;T@o;;[I"size of a int8_t;T; @1; 0@1@@a0U;[i I"SIZEOF_UINT8_T;TI"Fiddle::SIZEOF_UINT8_T;T;0o;;[o;;[I"SIZEOF_UINT8_T;T@o;;[I"size of a uint8_t;T; @1; 0@1@@a0U;[i I"SIZEOF_INT16_T;TI"Fiddle::SIZEOF_INT16_T;T;0o;;[o;;[I"SIZEOF_INT16_T;T@o;;[I"size of a int16_t;T; @1; 0@1@@a0U;[i I"SIZEOF_UINT16_T;TI"Fiddle::SIZEOF_UINT16_T;T;0o;;[o;;[I"SIZEOF_UINT16_T;T@o;;[I"size of a uint16_t;T; @1; 0@1@@a0U;[i I"SIZEOF_INT32_T;TI"Fiddle::SIZEOF_INT32_T;T;0o;;[o;;[I"SIZEOF_INT32_T;T@o;;[I"size of a int32_t;T; @1; 0@1@@a0U;[i I"SIZEOF_UINT32_T;TI"Fiddle::SIZEOF_UINT32_T;T;0o;;[o;;[I"SIZEOF_UINT32_T;T@o;;[I"size of a uint32_t;T; @1; 0@1@@a0U;[i I"SIZEOF_INT64_T;TI"Fiddle::SIZEOF_INT64_T;T;0o;;[o;;[I"SIZEOF_INT64_T;T@o;;[I"size of a int64_t;T; @1; 0@1@@a0U;[i I"SIZEOF_UINT64_T;TI"Fiddle::SIZEOF_UINT64_T;T;0o;;[o;;[I"SIZEOF_UINT64_T;T@o;;[I"size of a uint64_t;T; @1; 0@1@@a0U;[i I"SIZEOF_FLOAT;TI"Fiddle::SIZEOF_FLOAT;T;0o;;[o;;[I"SIZEOF_FLOAT;T@o;;[I"size of a float;T; @1; 0@1@@a0U;[i I"SIZEOF_DOUBLE;TI"Fiddle::SIZEOF_DOUBLE;T;0o;;[o;;[I"SIZEOF_DOUBLE;T@o;;[I"size of a double;T; @1; 0@1@@a0U;[i I"SIZEOF_SIZE_T;TI"Fiddle::SIZEOF_SIZE_T;T;0o;;[o;;[I"SIZEOF_SIZE_T;T@o;;[I"size of a size_t;T; @1; 0@1@@a0U;[i I"SIZEOF_SSIZE_T;TI"Fiddle::SIZEOF_SSIZE_T;T;0o;;[o;;[I"SIZEOF_SSIZE_T;T@o;;[I"size of a ssize_t;T; @1; 0@1@@a0U;[i I"SIZEOF_PTRDIFF_T;TI"Fiddle::SIZEOF_PTRDIFF_T;T;0o;;[o;;[I"SIZEOF_PTRDIFF_T;T@o;;[I"size of a ptrdiff_t;T; @1; 0@1@@a0U;[i I"SIZEOF_INTPTR_T;TI"Fiddle::SIZEOF_INTPTR_T;T;0o;;[o;;[I"SIZEOF_INTPTR_T;T@o;;[I"size of a intptr_t;T; @1; 0@1@@a0U;[i I"SIZEOF_UINTPTR_T;TI"Fiddle::SIZEOF_UINTPTR_T;T;0o;;[o;;[I"SIZEOF_UINTPTR_T;T@o;;[I"size of a uintptr_t;T; @1; 0@1@@a0U;[i I"SIZEOF_CONST_STRING;TI" Fiddle::SIZEOF_CONST_STRING;T;0o;;[o;;[I"SIZEOF_CONST_STRING;T@o;;[I"size of a const char*;T; @1; 0@1@@a0U;[i I"SIZEOF_BOOL;TI"Fiddle::SIZEOF_BOOL;T;0o;;[o;;[I"SIZEOF_BOOL;T@o;;[I"size of a bool;T; @1; 0@1@@a0U;[i I"RUBY_FREE;TI"Fiddle::RUBY_FREE;T;0o;;[o;;[I"RUBY_FREE;T@o;;[I")Address of the ruby_xfree() function;T; @1; 0@1@@a0U;[i I"BUILD_RUBY_PLATFORM;TI" Fiddle::BUILD_RUBY_PLATFORM;T;0o;;[ o;;[I"BUILD_RUBY_PLATFORM;T@o;;[I"7Platform built against (i.e. "x86_64-linux", etc.);T@o;;[I"See also RUBY_PLATFORM;T; @1; 0@1@@a0U;[i I" Qtrue;TI"Fiddle::Qtrue;T;0o;;[o;;[I" Qtrue;T@o;;[I"The value of Qtrue;T; @1; 0@1@@a0U;[i I"Qfalse;TI"Fiddle::Qfalse;T;0o;;[o;;[I"Qfalse;T@o;;[I"The value of Qfalse;T; @1; 0@1@@a0U;[i I" Qnil;TI"Fiddle::Qnil;T;0o;;[o;;[I" Qnil;T@o;;[I"The value of Qnil;T; @1; 0@1@@a0U;[i I"Qundef;TI"Fiddle::Qundef;T;0o;;[o;;[I"Qundef;T@o;;[I"The value of Qundef;T; @1; 0@1@@a0U;[i I" NULL;TI"Fiddle::NULL;T;0o;;[ ; @=; 0@=@@a0U;[i I"VERSION;TI"Fiddle::VERSION;T;0o;;[ ; @R; 0@R@@a0[ [[I" class;T[[;[[I"dlopen;TI"ext/fiddle/lib/fiddle.rb;T[I" dlunwrap;TI"ext/fiddle/fiddle.c;T[I"dlwrap;T@�[I" free;T@�[I"last_error;T@�[I"last_error=;T@�[I"malloc;T@�[I"realloc;T@�[I"win32_last_error;T@�[I"win32_last_error=;T@�[I"win32_last_socket_error;T@�[I"win32_last_socket_error=;T@�[:protected[ [:private[ [I" instance;T[[;[ [;[ [;[[@�@�[ [U:RDoc::Context::Section[i 0o;;[ ; 0; 0[@@1@4@7@:@=@@@C@F@I@L@O@RI"$ext/win32/lib/win32/registry.rb;TI"lib/reline/io/windows.rb;T@RcRDoc::TopLevel