File: //usr/share/ri/3.0.0/system/Fiddle/Function/cdesc-Function.ri
U:RDoc::NormalClass[iI"
Function:ETI"Fiddle::Function;TI"Object;To:RDoc::Markup::Document:@parts[o;;[S:RDoc::Markup::Heading:
leveli: textI"Description;To:RDoc::Markup::BlankLine o:RDoc::Markup::Paragraph;[I"%A representation of a C function;T@S; ;
i;I"
Examples;T@S; ;
i;I"
'strcpy';T@o:RDoc::Markup::Verbatim;[I",@libc = Fiddle.dlopen "/lib/libc.so.6"
;TI"/ #=> #<Fiddle::Handle:0x00000001d7a8d8>
;TI"f = Fiddle::Function.new(
;TI" @libc['strcpy'],
;TI"1 [Fiddle::TYPE_VOIDP, Fiddle::TYPE_VOIDP],
;TI" Fiddle::TYPE_VOIDP)
;TI"1 #=> #<Fiddle::Function:0x00000001d8ee00>
;TI"buff = "000"
;TI" #=> "000"
;TI"str = f.call(buff, "123")
;TI"b #=> #<Fiddle::Pointer:0x00000001d0c380 ptr=0x000000018a21b8 size=0 free=0x00000000000000>
;TI"str.to_s
;TI"=> "123"
;T:@format0S; ;
i;I"ABI check;T@o;;[I",@libc = Fiddle.dlopen "/lib/libc.so.6"
;TI"/ #=> #<Fiddle::Handle:0x00000001d7a8d8>
;TI"Uf = Fiddle::Function.new(@libc['strcpy'], [TYPE_VOIDP, TYPE_VOIDP], TYPE_VOIDP)
;TI"1 #=> #<Fiddle::Function:0x00000001d8ee00>
;TI"(f.abi == Fiddle::Function::DEFAULT
;TI" #=> true;T;0:
@fileI"ext/fiddle/function.c;T:0@omit_headings_from_table_of_contents_below0o;;[ ;I"&ext/fiddle/lib/fiddle/function.rb;T;0;0;0[[
I"abi;TI"R;T:publicFI"&ext/fiddle/lib/fiddle/function.rb;T[
I" name;T@8;F@9[
I"ptr;T@8;F@9[U:RDoc::Constant[i I"DEFAULT;TI"Fiddle::Function::DEFAULT;T;0o;;[o;
;[I"DEFAULT;T@o;
;[I"Default ABI;T;@1;0@1@cRDoc::NormalClass0U;[i I"STDCALL;TI"Fiddle::Function::STDCALL;T;0o;;[o;
;[I"STDCALL;T@o;
;[I"3FFI implementation of WIN32 stdcall convention;T;@1;0@1@@K0[ [[I"
class;T[[;[[I"new;TI"ext/fiddle/function.c;T[:protected[ [:private[ [I"
instance;T[[;[[I" call;T@a[I"need_gvl?;T@9[I" to_i;T@9[;[ [;[ [ [U:RDoc::Context::Section[i 0o;;[ ;0;0[I"ext/fiddle/closure.c;T@4I"Fiddle;TcRDoc::NormalModule