ÿØÿà JFIF    ÿÛ „ ( %!1!%*+...983,7(-.- PK3 ]My dlunwrap-c.rinu[U:RDoc::AnyMethod[iI" dlunwrap:ETI"DL::dlunwrap;TT: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"NReturns the hexadecimal representation of a memory pointer address +addr+;To:RDoc::Markup::BlankLineo; ; [I" Example:;T@o:RDoc::Markup::Verbatim; [ I",lib = DL.dlopen('/lib64/libc-2.15.so') ;TI"'=> # ;TI" ;TI"lib['strcpy'].to_s(16) ;TI"=> "7f59de6dd240" ;TI" ;TI"4DL.dlunwrap(DL.dlwrap(lib['strcpy'].to_s(16))) ;TI"=> "7f59de6dd240";T: @format0: @fileI"ext/dl/dl.c;T:0@omit_headings_from_table_of_contents_below0I"DL.dlunwrap(addr) ;T0[I" (p1);T@FI"DL;TcRDoc::NormalModule00PK3 ]ߞ>>fiddle%3f-c.rinu[U:RDoc::AnyMethod[iI" fiddle?:EFI"DL::fiddle?;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I" cptr DL::CPtr[val] => cptr ;T0[I" (p1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]ddCPtr/free%3d-i.rinu[U:RDoc::AnyMethod[iI" free=:ETI"DL::CPtr#free=;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"KSet the free function for this pointer to the DL::CFunc in +function+.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"free=(function) ;T0[I" (p1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]{{{CPtr/eql%3f-i.rinu[U:RDoc::AnyMethod[iI" eql?:ETI"DL::CPtr#eql?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GReturns true if +other+ wraps the same pointer, otherwise returns ;TI" false.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"%ptr.eql?(other) => true or false;T0[I" (p1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]b II CPtr/new-c.rinu[U:RDoc::AnyMethod[iI"new:ETI"DL::CPtr::new;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"OCreate a new pointer to +address+ with an optional +size+ and +freefunc+. ;TI"F+freefunc+ will be called when the instance is garbage collected.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"DL::CPtr.new(address) => dl_cptr DL::CPtr.new(address, size) => dl_cptr DL::CPtr.new(address, size, freefunc) => dl_cptr ;T0[I"(p1, p2 = v2, p3 = v3);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]}} CPtr/ref-i.rinu[U:RDoc::AnyMethod[iI"ref:ETI"DL::CPtr#ref;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GReturns a DL::CPtr that is a reference pointer for this DL::CPtr. ;TI".Analogous to the ampersand operator in C.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"ref;T0[I"();T@FI" CPtr;TcRDoc::NormalClass00PK3 ]GCCCPtr/to_i-i.rinu[U:RDoc::AnyMethod[iI" to_i:ETI"DL::CPtr#to_i;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I":Returns the integer memory location of this DL::CPtr.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I" to_i;T0[I"();T@FI" CPtr;TcRDoc::NormalClass00PK3 ]L DzzCPtr/%2b%40-i.rinu[U:RDoc::AnyMethod[iI"+@:ETI"DL::CPtr#+@;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"JReturns a DL::CPtr that is a dereferenced pointer for this DL::CPtr. ;TI")Analogous to the star operator in C.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I" ptr ;T0[I"();T@FI" CPtr;TcRDoc::NormalClass00PK3 ]=(;;CPtr/to_value-i.rinu[U:RDoc::AnyMethod[iI" to_value:ETI"DL::CPtr#to_value;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"%Cast this CPtr to a ruby object.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"to_value ;T0[I"();T@FI" CPtr;TcRDoc::NormalClass00PK3 ],,,CPtr/size-i.rinu[U:RDoc::AnyMethod[iI" size:ETI"DL::CPtr#size;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I""Get the size of this pointer.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I" size ;T0[I"();T@FI" CPtr;TcRDoc::NormalClass00PK3 ]3$CPtr/to_ptr-c.rinu[U:RDoc::AnyMethod[iI" to_ptr:ETI"DL::CPtr::to_ptr;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"IGet the underlying pointer for ruby object +val+ and return it as a ;TI"DL::CPtr object.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"ADL::CPtr.to_ptr(val) => cptr DL::CPtr[val] => cptr ;T0[I" (p1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]3eeCPtr/cdesc-CPtr.rinu[U:RDoc::NormalClass[iI" CPtr:ETI" DL::CPtr;TI" Object;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I")CPtr is a class to handle C pointers;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[ [I"[];TI"ext/dl/cptr.c;T[I" malloc;T@[I"new;T@[I" to_ptr;T@[:protected[[: private[[I" instance;T[[; [[I"+;T@[I"+@;T@[I"-;T@[I"-@;T@[I"<=>;T@[I"==;T@[I"[];T@[I"[]=;T@[I" eql?;T@[I" free;T@[I" free=;T@[I" inspect;T@[I" null?;T@[I"ptr;T@[I"ref;T@[I" size;T@[I" size=;T@[I" to_i;T@[I" to_int;T@[I" to_s;T@[I" to_str;T@[I" to_value;T@[; [[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[I"ext/dl/cfunc.c;TI"DL;TcRDoc::NormalModulePK3 ]k}55CPtr/to_str-i.rinu[U:RDoc::AnyMethod[iI" to_str:ETI"DL::CPtr#to_str;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"OReturns the pointer contents as a string. When called with no arguments, ;TI"Lthis method will return the contents with the length of this pointer's ;TI"N+size+. When called with +len+, a string of +len+ bytes will be returned.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"=ptr.to_str => string ptr.to_str(len) => string ;T0[I"(p1 = v1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]RKCPtr/%5b%5d-i.rinu[U:RDoc::AnyMethod[iI"[]:ETI"DL::CPtr#[];TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"LReturns integer stored at _index_. If _start_ and _length_ are given, ;TI"Ka string containing the bytes from _start_ of length _length_ will be ;TI"returned.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"Sptr[index] -> an_integer ptr[start, length] -> a_string ;T0[I"(p1, p2 = v2);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]a31CPtr/to_s-i.rinu[U:RDoc::AnyMethod[iI" to_s:ETI"DL::CPtr#to_s;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"OReturns the pointer contents as a string. When called with no arguments, ;TI"Kthis method will return the contents until the first NULL byte. When ;TI"Acalled with +len+, a string of +len+ bytes will be returned.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"9ptr.to_s => string ptr.to_s(len) => string ;T0[I"(p1 = v1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]%99CPtr/null%3f-i.rinu[U:RDoc::AnyMethod[iI" null?:ETI"DL::CPtr#null?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I",Returns true if this is a null pointer.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I" null? ;T0[I"();T@FI" CPtr;TcRDoc::NormalClass00PK3 ]Ή HHCPtr/to_int-i.rinu[U:RDoc::AnyMethod[iI" to_int:ETI"DL::CPtr#to_int;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I":Returns the integer memory location of this DL::CPtr.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I" to_i ;T0[I"();T@FI" CPtr;TcRDoc::NormalClass00PK3 ]9IE)eeCPtr/%5b%5d%3d-i.rinu[U:RDoc::AnyMethod[iI"[]=:ETI"DL::CPtr#[]=;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"MSet the value at +index+ to +int+. Or, set the memory at +start+ until ;TI"O+length+ with the contents of +string+, the memory from +dl_cptr+, or the ;TI"4memory pointed at by the memory address +addr+.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"~ptr[index] = int -> int ptr[start, length] = string or cptr or addr -> string or dl_cptr or addr ;T0[I"(p1, p2, p3 = v3);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]OL||CPtr/%2d%40-i.rinu[U:RDoc::AnyMethod[iI"-@:ETI"DL::CPtr#-@;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GReturns a DL::CPtr that is a reference pointer for this DL::CPtr. ;TI".Analogous to the ampersand operator in C.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I" ref ;T0[I"();T@FI" CPtr;TcRDoc::NormalClass00PK3 ]aTT CPtr/%2b-i.rinu[U:RDoc::AnyMethod[iI"+:ETI"DL::CPtr#+;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"=Returns a new DL::CPtr that has been advanced +n+ bytes.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"ptr + n => new cptr ;T0[I" (p1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]8gVV CPtr/%2d-i.rinu[U:RDoc::AnyMethod[iI"-:ETI"DL::CPtr#-;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"?Returns a new DL::CPtr that has been moved back +n+ bytes.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"ptr - n => new cptr ;T0[I" (p1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ] #U@@CPtr/size%3d-i.rinu[U:RDoc::AnyMethod[iI" size=:ETI"DL::CPtr#size=;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"+Set the size of this pointer to +size+;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"size=(size) ;T0[I" (p1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]JЋwwCPtr/%3d%3d-i.rinu[U:RDoc::AnyMethod[iI"==:ETI"DL::CPtr#==;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GReturns true if +other+ wraps the same pointer, otherwise returns ;TI" false.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"%ptr == other => true or false;T0[I" (p1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]{{ CPtr/ptr-i.rinu[U:RDoc::AnyMethod[iI"ptr:ETI"DL::CPtr#ptr;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"JReturns a DL::CPtr that is a dereferenced pointer for this DL::CPtr. ;TI")Analogous to the star operator in C.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"ptr;T0[I"();T@FI" CPtr;TcRDoc::NormalClass00PK3 ]weCPtr/%3c%3d%3e-i.rinu[U:RDoc::AnyMethod[iI"<=>:ETI"DL::CPtr#<=>;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"QReturns -1 if less than, 0 if equal to, 1 if greater than +other+. Returns ;TI"0nil if +ptr+ cannot be compared to +other+.;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I")ptr <=> other => -1, 0, 1, or nil ;T0[I" (p1);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]aBBCPtr/malloc-c.rinu[U:RDoc::AnyMethod[iI" malloc:ETI"DL::CPtr::malloc;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [ I"GAllocate +size+ bytes of memory and associate it with an optional ;TI"K+freefunc+ that will be called when the pointer is garbage collected. ;TI"L+freefunc+ must be an address pointing to a function or an instance of ;TI"DL::CFunc;T: @fileI"ext/dl/cptr.c;T:0@omit_headings_from_table_of_contents_below0I"@DL::CPtr.malloc(size, freefunc = nil) => dl cptr instance ;T0[I"(p1, p2 = v2);T@FI" CPtr;TcRDoc::NormalClass00PK3 ]PackInfo/align-i.rinu[U:RDoc::AnyMethod[iI" align:EFI"DL::PackInfo#align;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/pack.rb;T:0@omit_headings_from_table_of_contents_below000[I"(addr, align);T@ FI" PackInfo;FcRDoc::NormalModule00PK3 ]OPackInfo/align-c.rinu[U:RDoc::AnyMethod[iI" align:EFI"DL::PackInfo::align;TT: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/pack.rb;T:0@omit_headings_from_table_of_contents_below000[I"(addr, align);T@ FI" PackInfo;FcRDoc::NormalModule00PK3 ]!<PackInfo/cdesc-PackInfo.rinu[U:RDoc::NormalModule[iI" PackInfo:EFI"DL::PackInfo;T0o:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/dl/lib/dl/pack.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[U:RDoc::Constant[iI"ALIGN_MAP;FI"DL::PackInfo::ALIGN_MAP;T00o;;[; @ ; 0@ @cRDoc::NormalModule0U; [iI" PACK_MAP;FI"DL::PackInfo::PACK_MAP;T00o;;[; @ ; 0@ @@0U; [iI" SIZE_MAP;FI"DL::PackInfo::SIZE_MAP;T00o;;[; @ ; 0@ @@0[[[I" class;T[[: public[[I" align;FI"ext/dl/lib/dl/pack.rb;T[:protected[[: private[[I" instance;T[[; [[; [[;[[@+@,[[U:RDoc::Context::Section[i0o;;[; 0; 0[@ I"ext/dl/lib/dl/struct.rb;TI"DL;T@PK3 ]љUUHandle/%5b%5d-c.rinu[U:RDoc::AnyMethod[iI"[]:ETI"DL::Handle::[];TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"AGet the address as an Integer for the function named +name+.;T: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0I"sym(name) ;T0[I" (p1);T@FI" Handle;TcRDoc::NormalClass00PK3 ]fHandle/sym-i.rinu[U:RDoc::AnyMethod[iI"sym:ETI"DL::Handle#sym;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Verbatim; [I"Document-method: [] ;T: @format0o:RDoc::Markup::Paragraph; [I"AGet the address as an Integer for the function named +name+.;T: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0I"sym(name) ;T0[I" (p1);T@FI" Handle;TcRDoc::NormalClass00PK3 ]SHandle/new-c.rinu[U:RDoc::AnyMethod[iI"new:ETI"DL::Handle::new;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"NCreate a new handler that opens library named +lib+ with +flags+. If no ;TI"0library is specified, RTLD_DEFAULT is used.;T: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0I"Dinitialize(lib = nil, flags = DL::RTLD_LAZY | DL::RTLD_GLOBAL) ;T0[I"(p1 = v1, p2 = v2);T@FI" Handle;TcRDoc::NormalClass00PK3 ]^D(@@Handle/to_i-i.rinu[U:RDoc::AnyMethod[iI" to_i:ETI"DL::Handle#to_i;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"0Returns the memory address for this handle.;T: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0I" to_i ;T0[I"();T@FI" Handle;TcRDoc::NormalClass00PK3 ]K vvHandle/disable_close-i.rinu[U:RDoc::AnyMethod[iI"disable_close:ETI"DL::Handle#disable_close;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"KDisable a call to dlclose() when this DL::Handle is garbage collected.;T: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0I"disable_close ;T0[I"();T@FI" Handle;TcRDoc::NormalClass00PK3 ]׽Handle/cdesc-Handle.rinu[U:RDoc::NormalClass[iI" Handle:ETI"DL::Handle;TI" Object;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"?The DL::Handle is the manner to access the dynamic library;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading: leveli: textI" Example;T@S; ; i; I" Setup;T@o:RDoc::Markup::Verbatim;[ I""libc_so = "/lib64/libc.so.6" ;TI"=> "/lib64/libc.so.6" ;TI"'@handle = DL::Handle.new(libc_so) ;TI"'=> # ;T: @format0S; ; i; I"Setup, with flags;T@o;;[ I""libc_so = "/lib64/libc.so.6" ;TI"=> "/lib64/libc.so.6" ;TI"H@handle = DL::Handle.new(libc_so, DL::RTLD_LAZY | DL::RTLD_GLOBAL) ;TI"'=> # ;T;0S; ; i; I"Addresses to symbols;T@o;;[I"%strcpy_addr = @handle['strcpy'] ;TI"=> 140062278451968 ;T;0o; ;[I"or;T@o;;[I")strcpy_addr = @handle.sym('strcpy') ;TI"=> 140062278451968;T;0: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0;0;0[[U:RDoc::Constant[iI" NEXT;TI"DL::Handle::NEXT;T00o;;[ o; ;[I" NEXT;T@o; ;[I",A predefined pseudo-handle of RTLD_NEXT;T@o; ;[I"KWhich will find the next occurrence of a function in the search order ;TI"after the current library.;T;@1;0@1@cRDoc::NormalClass0U;[iI" DEFAULT;TI"DL::Handle::DEFAULT;T00o;;[ o; ;[I" DEFAULT;T@o; ;[I"/A predefined pseudo-handle of RTLD_DEFAULT;T@o; ;[I"JWhich will find the first occurrence of the desired symbol using the ;TI"!default library search order;T;@1;0@1@@D0[[[I" class;T[[: public[[I"[];TI"ext/dl/handle.c;T[I"new;T@^[I"sym;T@^[:protected[[: private[[I" instance;T[[;[ [I"[];T@^[I" close;T@^[I"close_enabled?;T@^[I"disable_close;T@^[I"enable_close;T@^[I"sym;T@^[I" to_i;T@^[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[I"ext/dl/cfunc.c;TI"DL;TcRDoc::NormalModulePK3 ]#EwwHandle/close-i.rinu[U:RDoc::AnyMethod[iI" close:ETI"DL::Handle#close;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GClose this DL::Handle. Calling close more than once will raise a ;TI"DL::DLError exception.;T: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0I" close ;T0[I"();T@FI" Handle;TcRDoc::NormalClass00PK3 ]KrrHandle/enable_close-i.rinu[U:RDoc::AnyMethod[iI"enable_close:ETI"DL::Handle#enable_close;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"JEnable a call to dlclose() when this DL::Handle is garbage collected.;T: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0I"enable_close ;T0[I"();T@FI" Handle;TcRDoc::NormalClass00PK3 ]=.|TTHandle/%5b%5d-i.rinu[U:RDoc::AnyMethod[iI"[]:ETI"DL::Handle#[];TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"AGet the address as an Integer for the function named +name+.;T: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0I"sym(name) ;T0[I" (p1);T@FI" Handle;TcRDoc::NormalClass00PK3 ]} 9Handle/close_enabled%3f-i.rinu[U:RDoc::AnyMethod[iI"close_enabled?:ETI"DL::Handle#close_enabled?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"HReturns +true+ if dlclose() will be called when this DL::Handle is ;TI"garbage collected.;T: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0I"close_enabled? ;T0[I"();T@FI" Handle;TcRDoc::NormalClass00PK3 ]% Handle/sym-c.rinu[U:RDoc::AnyMethod[iI"sym:ETI"DL::Handle::sym;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Verbatim; [I"Document-method: [] ;T: @format0o:RDoc::Markup::Paragraph; [I"AGet the address as an Integer for the function named +name+.;T: @fileI"ext/dl/handle.c;T:0@omit_headings_from_table_of_contents_below0I"sym(name);T0[I" (p1);T@FI" Handle;TcRDoc::NormalClass00PK3 ]UUCFunc/ctype%3d-i.rinu[U:RDoc::AnyMethod[iI" ctype=:ETI"DL::CFunc#ctype=;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"4Set the C function return value type to +type+.;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I"cfunc.ctype = type ;T0[I" (p1);T@FI" CFunc;TcRDoc::NormalClass00PK3 ]#$CFunc/ctype-i.rinu[U:RDoc::AnyMethod[iI" ctype:ETI"DL::CFunc#ctype;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"KGet the C function return value type. See DL for a list of constants ;TI"1corresponding to this method's return value.;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I"cfunc.ctype => num ;T0[I"();T@FI" CFunc;TcRDoc::NormalClass00PK3 ]'8CFunc/inspect-i.rinu[U:RDoc::AnyMethod[iI" inspect:ETI"DL::CFunc#inspect;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"NReturns a string formatted with an easily readable representation of the ;TI"$internal state of the DL::CFunc;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I" inspect;T0[I"();T@FI" CFunc;TcRDoc::NormalClass00PK3 ]Y;]]CFunc/win32_last_error-c.rinu[U:RDoc::AnyMethod[iI"win32_last_error:ETI" DL::CFunc::win32_last_error;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"BReturns the last win32 error for the current executing thread;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" CFunc;TcRDoc::NormalClass00PK3 ] VTTCFunc/calltype-i.rinu[U:RDoc::AnyMethod[iI" calltype:ETI"DL::CFunc#calltype;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"(Get the call type of this function.;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I"!cfunc.calltype => symbol ;T0[I"();T@FI" CFunc;TcRDoc::NormalClass00PK3 ]oCFunc/new-c.rinu[U:RDoc::AnyMethod[iI"new:ETI"DL::CFunc::new;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"QCreate a new function that points to +address+ with an optional return type ;TI">of +type+, a name of +name+ and a calltype of +calltype+.;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I"KDL::CFunc.new(address, type=DL::TYPE_VOID, name=nil, calltype=:cdecl) ;T0[I"$(p1, p2 = v2, p3 = v3, p4 = v4);T@FI" CFunc;TcRDoc::NormalClass00PK3 ]>4XiiCFunc/to_i-i.rinu[U:RDoc::AnyMethod[iI" to_i:ETI"DL::CFunc#to_i;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"HReturns the memory location of this function pointer as an integer.;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I"dlfunc.to_i => integer ;T0[I"();T@FI" CFunc;TcRDoc::NormalClass00PK3 ]#ٍeeCFunc/ptr%3d-i.rinu[U:RDoc::AnyMethod[iI" ptr=:ETI"DL::CFunc#ptr=;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GSet the underlying function pointer to a DL::CPtr named +pointer+.;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I"cfunc.ptr = pointer ;T0[I" (p1);T@FI" CFunc;TcRDoc::NormalClass00PK3 ]xKKCFunc/last_error-c.rinu[U:RDoc::AnyMethod[iI"last_error:ETI"DL::CFunc::last_error;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I" some_value;T0[I" (p1);T@FI" CFunc;TcRDoc::NormalClass00PK3 ]SSCFunc/%5b%5d-i.rinu[U:RDoc::AnyMethod[iI"[]:ETI"DL::CFunc#[];TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"MCalls the function pointer passing in +ary+ as values to the underlying ;TI"8C function. The return value depends on the ctype.;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I"&dlcfunc[ary] => some_value;T0[I" (p1);T@FI" CFunc;TcRDoc::NormalClass00PK3 ]*UUCFunc/calltype%3d-i.rinu[U:RDoc::AnyMethod[iI"calltype=:ETI"DL::CFunc#calltype=;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I")Set the call type for this function.;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I"cfunc.calltype = symbol ;T0[I" (p1);T@FI" CFunc;TcRDoc::NormalClass00PK3 ]4Q!CFunc/to_s-i.rinu[U:RDoc::AnyMethod[iI" to_s:ETI"DL::CFunc#to_s;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"NReturns a string formatted with an easily readable representation of the ;TI"$internal state of the DL::CFunc;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I" to_s;T0[I"();T@FI" CFunc;TcRDoc::NormalClass00PK3 ]S !77CFunc/name-i.rinu[U:RDoc::AnyMethod[iI" name:ETI"DL::CFunc#name;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I""Get the name of this function;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I"name => str ;T0[I"();T@FI" CFunc;TcRDoc::NormalClass00PK3 ]3NNCFunc/ptr-i.rinu[U:RDoc::AnyMethod[iI"ptr:ETI"DL::CFunc#ptr;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I">Get the underlying function pointer as a DL::CPtr object.;T: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0I"cfunc.ptr ;T0[I"();T@FI" CFunc;TcRDoc::NormalClass00PK3 ]ï{{CFunc/cdesc-CFunc.rinu[U:RDoc::NormalClass[iI" CFunc:ETI"DL::CFunc;TI" Object;To:RDoc::Markup::Document: @parts[o;;[ o:RDoc::Markup::Paragraph;[I"3A direct accessor to a function in a C library;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading: leveli: textI" Example;T@o:RDoc::Markup::Verbatim;[ I""libc_so = "/lib64/libc.so.6" ;TI"=> "/lib64/libc.so.6" ;TI" libc = DL::dlopen(libc_so) ;TI"'=> # ;TI"F@cfunc = DL::CFunc.new(libc['strcpy'], DL::TYPE_VOIDP, 'strcpy') ;TI"O=> #;T: @format0: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I" class;T[[: public[[I"last_error;TI"ext/dl/cfunc.c;T[I"new;T@([I"win32_last_error;T@([:protected[[: private[[I" instance;T[[;[[I"[];T@([I" call;T@([I" calltype;T@([I"calltype=;T@([I" ctype;T@([I" ctype=;T@([I" inspect;T@([I" name;T@([I"ptr;T@([I" ptr=;T@([I" to_i;T@([I" to_s;T@([;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"DL;TcRDoc::NormalModulePK3 ]*ܮBasicTypes/cdesc-BasicTypes.rinu[U:RDoc::NormalModule[iI"BasicTypes:EFI"DL::BasicTypes;T0o:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"NAdds basic type aliases to the including class for use with DL::Importer.;To:RDoc::Markup::BlankLineo; ;[I"JThe aliases added are +uint+ and +u_int+ (unsigned int) and ;TI"2+ulong+ and +u_long+ (unsigned long);T: @fileI"ext/dl/lib/dl/types.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[; [[;[[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]$ValueUtil/wrap_args-i.rinu[U:RDoc::AnyMethod[iI"wrap_args:EFI"DL::ValueUtil#wrap_args;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/value.rb;T:0@omit_headings_from_table_of_contents_below000[I"(args, tys, funcs, &block);T@ FI"ValueUtil;FcRDoc::NormalModule00PK3 ]蔂  ValueUtil/unsigned_value-i.rinu[U:RDoc::AnyMethod[iI"unsigned_value:EFI"!DL::ValueUtil#unsigned_value;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/value.rb;T:0@omit_headings_from_table_of_contents_below000[I"(val, ty);T@ FI"ValueUtil;FcRDoc::NormalModule00PK3 ]4DValueUtil/wrap_arg-i.rinu[U:RDoc::AnyMethod[iI" wrap_arg:EFI"DL::ValueUtil#wrap_arg;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/value.rb;T:0@omit_headings_from_table_of_contents_below000[I""(arg, ty, funcs = [], &block);T@ FI"ValueUtil;FcRDoc::NormalModule00PK3 ],ގValueUtil/cdesc-ValueUtil.rinu[U:RDoc::NormalModule[iI"ValueUtil:EFI"DL::ValueUtil;T0o:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/dl/lib/dl/value.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[; [ [I"signed_value;FI"ext/dl/lib/dl/value.rb;T[I"unsigned_value;F@"[I" wrap_arg;F@"[I"wrap_args;F@"[; [[; [[[U:RDoc::Context::Section[i0o;;[; 0; 0[@ I"DL;TcRDoc::NormalModulePK3 ]t  ValueUtil/signed_value-i.rinu[U:RDoc::AnyMethod[iI"signed_value:EFI"DL::ValueUtil#signed_value;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/value.rb;T:0@omit_headings_from_table_of_contents_below000[I"(val, ty);T@ FI"ValueUtil;FcRDoc::NormalModule00PK3 ]0 dlopen-c.rinu[U:RDoc::AnyMethod[iI" dlopen:ETI"DL::dlopen;TT: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"/An interface to the dynamic linking loader;To:RDoc::Markup::BlankLineo; ; [I"GThis is a shortcut to DL::Handle.new and takes the same arguments.;T@o; ; [I" Example:;T@o:RDoc::Markup::Verbatim; [ I""libc_so = "/lib64/libc.so.6" ;TI"=> "/lib64/libc.so.6" ;TI" ;TI"libc = DL.dlopen(libc_so) ;TI"&=> #;T: @format0: @fileI"ext/dl/dl.c;T:0@omit_headings_from_table_of_contents_below0I"DL.dlopen(so_lib) ;T0[I" (*args);T@FI"DL;TcRDoc::NormalModule00PK3 ]~5XX dlwrap-c.rinu[U:RDoc::AnyMethod[iI" dlwrap:ETI"DL::dlwrap;TT: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"PReturns a memory pointer of a function's hexadecimal address location +val+;To:RDoc::Markup::BlankLineo; ; [I" Example:;T@o:RDoc::Markup::Verbatim; [ I",lib = DL.dlopen('/lib64/libc-2.15.so') ;TI"'=> # ;TI" ;TI"'DL.dlwrap(lib['strcpy'].to_s(16)) ;TI"=> 25522520;T: @format0: @fileI"ext/dl/dl.c;T:0@omit_headings_from_table_of_contents_below0I"DL.dlwrap(val) ;T0[I" (p1);T@FI"DL;TcRDoc::NormalModule00PK3 ]pTrremove_stdcall_callback-i.rinu[U:RDoc::AnyMethod[iI"remove_stdcall_callback:EFI"DL#remove_stdcall_callback;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/callback.rb;T:0@omit_headings_from_table_of_contents_below000[I"(addr, ctype = nil);T@ FI"DL;TcRDoc::NormalModule00PK3 ]kEvvCUnionEntity/set_ctypes-i.rinu[U:RDoc::AnyMethod[iI"set_ctypes:EFI" DL::CUnionEntity#set_ctypes;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"LGiven +types+, calculate the necessary offset and for each union member;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I" (types);T@FI"CUnionEntity;TcRDoc::NormalClass00PK3 ]xoBB"CUnionEntity/cdesc-CUnionEntity.rinu[U:RDoc::NormalClass[iI"CUnionEntity:ETI"DL::CUnionEntity;TI"DL::CStructEntity;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"A C union wrapper;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[I" PackInfo;To;;[; @; 0I"ext/dl/lib/dl/struct.rb;T[[I" class;T[[: public[[I" malloc;F@[I" size;F@[:protected[[: private[[I" instance;T[[; [[I"set_ctypes;F@[; [[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]^ ""CUnionEntity/size-c.rinu[U:RDoc::AnyMethod[iI" size:EFI"DL::CUnionEntity::size;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I":Given +types+, returns the size needed for the union.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"JDL::CUnionEntity.size([DL::TYPE_DOUBLE, DL::TYPE_INT, DL::TYPE_CHAR, ;TI"- DL::TYPE_VOIDP]) ;TI" => 8;T: @format0: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I" (types);T@FI"CUnionEntity;TcRDoc::NormalClass00PK3 ]< CUnionEntity/malloc-c.rinu[U:RDoc::AnyMethod[iI" malloc:EFI"DL::CUnionEntity::malloc;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"IAllocates a C union the +types+ provided. The C function +func+ is ;TI"3called when the instance is garbage collected.;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I"(types, func=nil);T@FI"CUnionEntity;TcRDoc::NormalClass00PK3 ]J==remove_cdecl_callback-i.rinu[U:RDoc::AnyMethod[iI"remove_cdecl_callback:EFI"DL#remove_cdecl_callback;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/callback.rb;T:0@omit_headings_from_table_of_contents_below000[[I"remove_callback;Fo;; [; @ ; 0I"(addr, ctype = nil);T@ FI"DL;TcRDoc::NormalModule00PK3 ]L DLTypeError/cdesc-DLTypeError.rinu[U:RDoc::NormalClass[iI"DLTypeError:ETI"DL::DLTypeError;TI"DL::DLError;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"*dynamic load incorrect type exception;T: @fileI"ext/dl/dl.c;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[; [[; [[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[I"ext/dl/cfunc.c;TI"DL;TcRDoc::NormalModulePK3 ]CUnion/cdesc-CUnion.rinu[U:RDoc::NormalClass[iI" CUnion:ETI"DL::CUnion;TI" Object;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"C union shell;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[I"entity_class;FI"ext/dl/lib/dl/struct.rb;T[:protected[[: private[[I" instance;T[[; [[; [[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]J??CUnion/entity_class-c.rinu[U:RDoc::AnyMethod[iI"entity_class:EFI"DL::CUnion::entity_class;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"!accessor to DL::CUnionEntity;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" CUnion;TcRDoc::NormalClass00PK3 ]E66set_callback_internal-i.rinu[U:RDoc::AnyMethod[iI"set_callback_internal:EFI"DL#set_callback_internal;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/callback.rb;T:0@omit_headings_from_table_of_contents_below000[I"8(proc_entry, addr_entry, argc, ty, abi = nil, &cbp);T@ FI"DL;TcRDoc::NormalModule00PK3 ]wZset_callback-i.rinu[U:RDoc::AnyMethod[iI"set_callback:EFI"DL#set_callback;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/callback.rb;T:0@omit_headings_from_table_of_contents_below000[I"(ty, argc, &cbp);T@ FI"DL;TcRDoc::NormalModule0[@FI"set_cdecl_callback;FPK3 ]:E00Importer/bind_function-i.rinu[U:RDoc::AnyMethod[iI"bind_function:EFI"DL::Importer#bind_function;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"4(name, ctype, argtype, call_type = nil, &block);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]_߬Importer/cdesc-Importer.rinu[U:RDoc::NormalModule[iI" Importer:EFI"DL::Importer;T0o:RDoc::Markup::Document: @parts[o;;[ o:RDoc::Markup::Paragraph;[I"MDL::Importer includes the means to dynamically load libraries and build ;TI"Imodules around them including calling extern functions within the C ;TI""library that has been loaded.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading: leveli: textI" Example;T@o:RDoc::Markup::Verbatim;[I"require 'dl' ;TI"require 'dl/import' ;TI" ;TI"module LibSum ;TI" extend DL::Importer ;TI" dlload './libsum.so' ;TI") extern 'double sum(double*, int)' ;TI"% extern 'double split(double)' ;TI"end;T: @format0: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"DL;To;;[;@ ;0I"ext/dl/lib/dl/import.rb;T[I" CParser;To;;[;@ ;0@([[I" class;T[[: public[[:protected[[: private[[I" instance;T[[;[[I"[];F@([I" bind;F@([I"bind_function;F@([I"create_carried_function;F@([I"create_temp_function;F@([I"create_value;F@([I" dlload;F@([I" extern;F@([I" handler;F@([I"import_function;F@([I"import_symbol;F@([I"import_value;F@([I" sizeof;F@([I" struct;F@([I"typealias;F@([I" union;F@([I" value;F@([;[[;[[I"parse_bind_options;F@([[I" Importer;To;;[;@ ;0@([U:RDoc::Context::Section[i0o;;[;0;0[@ I"DL;TcRDoc::NormalModulePK3 ]WvqImporter/handler-i.rinu[U:RDoc::AnyMethod[iI" handler:EFI"DL::Importer#handler;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Importer;FcRDoc::NormalModule00PK3 ]#Importer/sizeof-i.rinu[U:RDoc::AnyMethod[iI" sizeof:EFI"DL::Importer#sizeof;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I" (ty);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]r Importer/%5b%5d-i.rinu[U:RDoc::AnyMethod[iI"[]:EFI"DL::Importer#[];TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I" (name);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]V/Importer/struct-i.rinu[U:RDoc::AnyMethod[iI" struct:EFI"DL::Importer#struct;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"CCreates a class to wrap the C struct described by +signature+.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"*MyStruct = struct ['int i', 'char c'];T: @format0: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"(signature);T@FI" Importer;FcRDoc::NormalModule00PK3 ] Importer/typealias-i.rinu[U:RDoc::AnyMethod[iI"typealias:EFI"DL::Importer#typealias;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"(alias_type, orig_type);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]zziImporter/extern-i.rinu[U:RDoc::AnyMethod[iI" extern:EFI"DL::Importer#extern;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"(signature, *opts);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]n,,Importer/import_function-i.rinu[U:RDoc::AnyMethod[iI"import_function:EFI"!DL::Importer#import_function;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I",(name, ctype, argtype, call_type = nil);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]9rnCC%Importer/create_carried_function-i.rinu[U:RDoc::AnyMethod[iI"create_carried_function:EFI")DL::Importer#create_carried_function;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"3(name, ctype, argtype, call_type = nil, n = 0);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]lp  Importer/import_value-i.rinu[U:RDoc::AnyMethod[iI"import_value:EFI"DL::Importer#import_value;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"(ty, addr);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]K))Importer/create_value-i.rinu[U:RDoc::AnyMethod[iI"create_value:EFI"DL::Importer#create_value;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[[I" value;Fo;; [; @ ; 0I"(ty, val=nil);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]8 ds Importer/parse_bind_options-i.rinu[U:RDoc::AnyMethod[iI"parse_bind_options:EFI"$DL::Importer#parse_bind_options;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I" (opts);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]+ Importer/union-i.rinu[U:RDoc::AnyMethod[iI" union:EFI"DL::Importer#union;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"BCreates a class to wrap the C union described by +signature+.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"(MyUnion = union ['int i', 'char c'];T: @format0: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"(signature);T@FI" Importer;FcRDoc::NormalModule00PK3 ][=Importer/bind-i.rinu[U:RDoc::AnyMethod[iI" bind:EFI"DL::Importer#bind;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"(signature, *opts, &blk);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]a66"Importer/create_temp_function-i.rinu[U:RDoc::AnyMethod[iI"create_temp_function:EFI"&DL::Importer#create_temp_function;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I",(name, ctype, argtype, call_type = nil);T@ FI" Importer;FcRDoc::NormalModule00PK3 ] GImporter/import_symbol-i.rinu[U:RDoc::AnyMethod[iI"import_symbol:EFI"DL::Importer#import_symbol;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I" (name);T@ FI" Importer;FcRDoc::NormalModule00PK3 ]$]&&Importer/value-i.rinu[U:RDoc::AnyMethod[iI" value:EFI"DL::Importer#value;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"(ty, val=nil);T@ FI" Importer;FcRDoc::NormalModule0[I"DL::Importer;TFI"create_value;FPK3 ]ѥImporter/dlload-i.rinu[U:RDoc::AnyMethod[iI" dlload:EFI"DL::Importer#dlload;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I" (*libs);T@ FI" Importer;FcRDoc::NormalModule00PK3 ].c44remove_callback_internal-i.rinu[U:RDoc::AnyMethod[iI"remove_callback_internal:EFI" DL#remove_callback_internal;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/callback.rb;T:0@omit_headings_from_table_of_contents_below000[I"0(proc_entry, addr_entry, addr, ctype = nil);T@ FI"DL;TcRDoc::NormalModule00PK3 ]Y realloc-c.rinu[U:RDoc::AnyMethod[iI" realloc:ETI"DL::realloc;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"NChange the size of the memory allocated at the memory location +addr+ to ;TI"P+size+ bytes. Returns the memory address of the reallocated memory, which ;TI"1may be different than the address passed in.;T: @fileI"ext/dl/dl.c;T:0@omit_headings_from_table_of_contents_below0I"DL.realloc(addr, size) ;T0[I" (p1, p2);T@FI"DL;TcRDoc::NormalModule00PK3 ]M:RFunction/bound%3f-i.rinu[U:RDoc::AnyMethod[iI" bound?:EFI"DL::Function#bound?;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Function;TcRDoc::NormalClass00PK3 ]mhFunction/wrap_result-i.rinu[U:RDoc::AnyMethod[iI"wrap_result:EFI"DL::Function#wrap_result;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I"(r);T@ FI" Function;TcRDoc::NormalClass00PK3 ]KFunction/cdesc-Function.rinu[U:RDoc::NormalClass[iI" Function:ETI"DL::Function;TI" parent;To:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[I"DL;To;;[; @; 0I"ext/dl/lib/dl/func.rb;T[I"ValueUtil;To;;[; @; 0@[[I" class;T[[: public[[I"new;T@[:protected[[: private[[I" instance;T[[; [[I" bind;F@[I"bind_at_call;F@[I" bound?;F@[I" call;F@[I" name;F@[I" to_i;F@[I" unbind;F@[I"unbind_at_call;F@[I"wrap_result;F@[; [[; [[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ] !Function/new-c.rinu[U:RDoc::AnyMethod[iI"new:ETI"DL::Function::new;TT: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I")(cfunc, argtypes, abi = nil, &block);T@ TI" Function;TcRDoc::NormalClass00PK3 ]Function/to_i-i.rinu[U:RDoc::AnyMethod[iI" to_i:EFI"DL::Function#to_i;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Function;TcRDoc::NormalClass00PK3 ]Function/call-i.rinu[U:RDoc::AnyMethod[iI" call:EFI"DL::Function#call;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args, &block);T@ TI" Function;TcRDoc::NormalClass00PK3 ]WFunction/unbind-i.rinu[U:RDoc::AnyMethod[iI" unbind:EFI"DL::Function#unbind;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Function;TcRDoc::NormalClass00PK3 ]2pFunction/name-i.rinu[U:RDoc::AnyMethod[iI" name:EFI"DL::Function#name;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Function;TcRDoc::NormalClass00PK3 ](בFunction/bind_at_call-i.rinu[U:RDoc::AnyMethod[iI"bind_at_call:EFI"DL::Function#bind_at_call;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I" (&block);T@ FI" Function;TcRDoc::NormalClass00PK3 ]ŌFunction/bind-i.rinu[U:RDoc::AnyMethod[iI" bind:EFI"DL::Function#bind;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I" (&block);T@ FI" Function;TcRDoc::NormalClass00PK3 ]@.Function/unbind_at_call-i.rinu[U:RDoc::AnyMethod[iI"unbind_at_call:EFI" DL::Function#unbind_at_call;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Function;TcRDoc::NormalClass00PK3 ]U"Packer/cdesc-Packer.rinu[U:RDoc::NormalClass[iI" Packer:ETI"DL::Packer;TI" Object;To:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/dl/lib/dl/pack.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[I" PackInfo;To;;[; @; 0I"ext/dl/lib/dl/pack.rb;T[[I" class;T[[: public[[I"[];F@[I"new;T@[:protected[[: private[[I" instance;T[[; [[I" pack;F@[I" size;F@[I" unpack;F@[; [[; [[I"parse_types;F@[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]ZiPacker/parse_types-i.rinu[U:RDoc::AnyMethod[iI"parse_types:EFI"DL::Packer#parse_types;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/pack.rb;T:0@omit_headings_from_table_of_contents_below000[I" (types);T@ FI" Packer;TcRDoc::NormalClass00PK3 ]'X`Packer/%5b%5d-c.rinu[U:RDoc::AnyMethod[iI"[]:EFI"DL::Packer::[];TT: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/pack.rb;T:0@omit_headings_from_table_of_contents_below000[I" (*types);T@ FI" Packer;TcRDoc::NormalClass00PK3 ]Packer/new-c.rinu[U:RDoc::AnyMethod[iI"new:ETI"DL::Packer::new;TT: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/pack.rb;T:0@omit_headings_from_table_of_contents_below000[I" (types);T@ FI" Packer;TcRDoc::NormalClass00PK3 ]RPacker/unpack-i.rinu[U:RDoc::AnyMethod[iI" unpack:EFI"DL::Packer#unpack;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/pack.rb;T:0@omit_headings_from_table_of_contents_below000[I" (ary);T@ FI" Packer;TcRDoc::NormalClass00PK3 ]Packer/pack-i.rinu[U:RDoc::AnyMethod[iI" pack:EFI"DL::Packer#pack;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/pack.rb;T:0@omit_headings_from_table_of_contents_below000[I" (ary);T@ FI" Packer;TcRDoc::NormalClass00PK3 ]kPacker/size-i.rinu[U:RDoc::AnyMethod[iI" size:EFI"DL::Packer#size;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/pack.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Packer;TcRDoc::NormalClass00PK3 ]k,ͿDLError/cdesc-DLError.rinu[U:RDoc::NormalClass[iI" DLError:ETI"DL::DLError;TI"StandardError;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"$standard dynamic load exception;T: @fileI"ext/dl/dl.c;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[; [[; [[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[I"ext/dl/cfunc.c;TI"DL;TcRDoc::NormalModulePK3 ]NICompositeHandler/handlers-i.rinu[U:RDoc::AnyMethod[iI" handlers:EFI""DL::CompositeHandler#handlers;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI"CompositeHandler;TcRDoc::NormalClass00PK3 ]lCompositeHandler/sym-i.rinu[U:RDoc::AnyMethod[iI"sym:EFI"DL::CompositeHandler#sym;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I" (symbol);T@ FI"CompositeHandler;TcRDoc::NormalClass00PK3 ] VnCompositeHandler/new-c.rinu[U:RDoc::AnyMethod[iI"new:ETI"DL::CompositeHandler::new;TT: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I"(handlers);T@ FI"CompositeHandler;TcRDoc::NormalClass00PK3 ]!JCompositeHandler/%5b%5d-i.rinu[U:RDoc::AnyMethod[iI"[]:EFI"DL::CompositeHandler#[];TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below000[I" (symbol);T@ FI"CompositeHandler;TcRDoc::NormalClass00PK3 ]o)*CompositeHandler/cdesc-CompositeHandler.rinu[U:RDoc::NormalClass[iI"CompositeHandler:ETI"DL::CompositeHandler;TI" Object;To:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/dl/lib/dl/import.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[I"new;TI"ext/dl/lib/dl/import.rb;T[:protected[[: private[[I" instance;T[[; [[I"[];F@[I" handlers;F@[I"sym;F@[; [[; [[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]]  CarriedFunction/new-c.rinu[U:RDoc::AnyMethod[iI"new:ETI"DL::CarriedFunction::new;TT: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I"(cfunc, argtypes, n);T@ TI"CarriedFunction;TcRDoc::NormalClass00PK3 ]⫏!(CarriedFunction/cdesc-CarriedFunction.rinu[U:RDoc::NormalClass[iI"CarriedFunction:ETI"DL::CarriedFunction;TI"DL::Function;To:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[I"new;TI"ext/dl/lib/dl/func.rb;T[:protected[[: private[[I" instance;T[[; [[I"bind_at_call;F@[I"create_carrier;F@[; [[; [[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]#CarriedFunction/create_carrier-i.rinu[U:RDoc::AnyMethod[iI"create_carrier:EFI"'DL::CarriedFunction#create_carrier;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I" (data);T@ FI"CarriedFunction;TcRDoc::NormalClass00PK3 ] Kl!CarriedFunction/bind_at_call-i.rinu[U:RDoc::AnyMethod[iI"bind_at_call:EFI"%DL::CarriedFunction#bind_at_call;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I" (&block);T@ FI"CarriedFunction;TcRDoc::NormalClass00PK3 ]UfCStructEntity/set_ctypes-i.rinu[U:RDoc::AnyMethod[iI"set_ctypes:EFI"!DL::CStructEntity#set_ctypes;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"IGiven +types+, calculate the offsets and sizes for the types in the ;TI" struct.;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I" (types);T@FI"CStructEntity;TcRDoc::NormalClass00PK3 ]FKCStructEntity/new-c.rinu[U:RDoc::AnyMethod[iI"new:ETI"DL::CStructEntity::new;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"MWraps the C pointer +addr+ as a C struct with the given +types+. The C ;TI"Ffunction +func+ is called when the instance is garbage collected.;To:RDoc::Markup::BlankLineo; ; [I"See also DL::CPtr.new;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I"(addr, types, func = nil);T@TI"CStructEntity;TcRDoc::NormalClass00PK3 ]Db::CStructEntity/%5b%5d-i.rinu[U:RDoc::AnyMethod[iI"[]:EFI"DL::CStructEntity#[];TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"Fetch struct member +name+;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I" (name);T@TI"CStructEntity;TcRDoc::NormalClass00PK3 ]z77CStructEntity/size-c.rinu[U:RDoc::AnyMethod[iI" size:EFI"DL::CStructEntity::size;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"JGiven +types+, returns the offset for the packed sizes of those types;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"KDL::CStructEntity.size([DL::TYPE_DOUBLE, DL::TYPE_INT, DL::TYPE_CHAR, ;TI". DL::TYPE_VOIDP]) ;TI" => 24;T: @format0: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I" (types);T@FI"CStructEntity;TcRDoc::NormalClass00PK3 ]]!_$CStructEntity/cdesc-CStructEntity.rinu[U:RDoc::NormalClass[iI"CStructEntity:ETI"DL::CStructEntity;TI"*(DL.fiddle? ? Fiddle::Pointer : CPtr);To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"A C struct wrapper;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[I" PackInfo;To;;[; @; 0I"ext/dl/lib/dl/struct.rb;T[I"ValueUtil;To;;[; @; 0@[[I" class;T[[: public[[I" malloc;F@[I"new;T@[I" size;F@[:protected[[: private[[I" instance;T[[; [ [I"[];F@[I"[]=;F@[I"assign_names;F@[I"set_ctypes;F@[; [[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]RpOOCStructEntity/%5b%5d%3d-i.rinu[U:RDoc::AnyMethod[iI"[]=:EFI"DL::CStructEntity#[]=;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"-Set struct member +name+, to value +val+;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, val);T@TI"CStructEntity;TcRDoc::NormalClass00PK3 ];ffCStructEntity/assign_names-i.rinu[U:RDoc::AnyMethod[iI"assign_names:EFI"#DL::CStructEntity#assign_names;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"4Set the names of the +members+ in this C struct;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I"(members);T@FI"CStructEntity;TcRDoc::NormalClass00PK3 ]~MCStructEntity/malloc-c.rinu[U:RDoc::AnyMethod[iI" malloc:EFI"DL::CStructEntity::malloc;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"JAllocates a C struct the +types+ provided. The C function +func+ is ;TI"3called when the instance is garbage collected.;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I"(types, func = nil);T@FI"CStructEntity;TcRDoc::NormalClass00PK3 ]\.33 free-c.rinu[U:RDoc::AnyMethod[iI" free:ETI" DL::free;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"&Free the memory at address +addr+;T: @fileI"ext/dl/dl.c;T:0@omit_headings_from_table_of_contents_below0I"DL.free(addr) ;T0[I" (p1);T@FI"DL;TcRDoc::NormalModule00PK3 ]/ eeFiddle/cdesc-Fiddle.rinu[U:RDoc::NormalModule[iI" Fiddle:EFI"DL::Fiddle;T0o:RDoc::Markup::Document: @parts[: @file0:0@omit_headings_from_table_of_contents_below0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[; [[; [[; [[[U:RDoc::Context::Section[i0o;;[; 0; 0[I"ext/dl/lib/dl/func.rb;TI"DL;TcRDoc::NormalModulePK3 ]jset_stdcall_callback-i.rinu[U:RDoc::AnyMethod[iI"set_stdcall_callback:EFI"DL#set_stdcall_callback;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/callback.rb;T:0@omit_headings_from_table_of_contents_below000[I"(ty, argc, &cbp);T@ FI"DL;TcRDoc::NormalModule00PK3 ]y'' cdesc-DL.rinu[U:RDoc::NormalModule[iI"DL:ET@0o:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/dl/cfunc.c;T:0@omit_headings_from_table_of_contents_below0o;;[ o:RDoc::Markup::Paragraph;[I"AA bridge to the dlopen() or dynamic library linker function.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading: leveli: textI" Example;T@o:RDoc::Markup::Verbatim;[*I"bash $> cat > sum.c < gcc -o libsum.so -shared sum.c ;TI" bash $> cat > sum.rb < ruby sum.rb ;TI" 4.5 ;T: @format0o; ;[I" WIN! :-);T; I"ext/dl/dl.c;T; 0o;;[; I"ext/dl/lib/dl.rb;T; 0o;;[; I"ext/dl/lib/dl/callback.rb;T; 0o;;[; I"ext/dl/lib/dl/cparser.rb;T; 0o;;[; I"ext/dl/lib/dl/func.rb;T; 0o;;[; I"ext/dl/lib/dl/import.rb;T; 0o;;[; I"ext/dl/lib/dl/pack.rb;T; 0o;;[; I"ext/dl/lib/dl/stack.rb;T; 0o;;[; I"ext/dl/lib/dl/struct.rb;T; 0o;;[; I"ext/dl/lib/dl/types.rb;T; 0o;;[; I"ext/dl/lib/dl/value.rb;T; 0; 0; 0[[6U:RDoc::Constant[iI" NULL;TI" DL::NULL;T00o;;[o;;[I" NULL ;T;0o; ;[I"A NULL pointer;T; I"ext/dl/cptr.c;T; 0@l@cRDoc::NormalModule0U;[iI"MAX_CALLBACK;TI"DL::MAX_CALLBACK;T00o;;[o; ;[I"MAX_CALLBACK;T@o; ;[I" Maximum number of callbacks;T; @?; 0@?@@m0U;[iI"DLSTACK_SIZE;TI"DL::DLSTACK_SIZE;T00o;;[o; ;[I"DLSTACK_SIZE;T@o; ;[I"Dynamic linker stack size;T; @?; 0@?@@m0U;[iI"RTLD_GLOBAL;TI"DL::RTLD_GLOBAL;T00o;;[ o; ;[I"RTLD_GLOBAL;T@o; ;[I"rtld DL::Handle flag.;T@o; ;[I"KThe symbols defined by this library will be made available for symbol ;TI"1resolution of subsequently loaded libraries.;T; @?; 0@?@@m0U;[iI"RTLD_LAZY;TI"DL::RTLD_LAZY;T00o;;[ o; ;[I"RTLD_LAZY;T@o; ;[I"rtld DL::Handle flag.;T@o; ;[ I"MPerform lazy binding. Only resolve symbols as the code that references ;TI"Mthem is executed. If the symbol is never referenced, then it is never ;TI"Iresolved. (Lazy binding is only performed for function references; ;TI"Kreferences to variables are always immediately bound when the library ;TI"is loaded.);T; @?; 0@?@@m0U;[iI" RTLD_NOW;TI"DL::RTLD_NOW;T00o;;[ o; ;[I" RTLD_NOW;T@o; ;[I"rtld DL::Handle flag.;T@o; ;[ I"KIf this value is specified or the environment variable LD_BIND_NOW is ;TI"Hset to a nonempty string, all undefined symbols in the library are ;TI"Kresolved before dlopen() returns. If this cannot be done an error is ;TI"returned.;T; @?; 0@?@@m0U;[iI"TYPE_VOID;TI"DL::TYPE_VOID;T00o;;[o; ;[I"TYPE_VOID;T@o; ;[I"DL::CFunc type - void;T; @?; 0@?@@m0U;[iI"TYPE_VOIDP;TI"DL::TYPE_VOIDP;T00o;;[o; ;[I"TYPE_VOIDP;T@o; ;[I"DL::CFunc type - void*;T; @?; 0@?@@m0U;[iI"TYPE_CHAR;TI"DL::TYPE_CHAR;T00o;;[o; ;[I"TYPE_CHAR;T@o; ;[I"DL::CFunc type - char;T; @?; 0@?@@m0U;[iI"TYPE_SHORT;TI"DL::TYPE_SHORT;T00o;;[o; ;[I"TYPE_SHORT;T@o; ;[I"DL::CFunc type - short;T; @?; 0@?@@m0U;[iI" TYPE_INT;TI"DL::TYPE_INT;T00o;;[o; ;[I" TYPE_INT;T@o; ;[I"DL::CFunc type - int;T; @?; 0@?@@m0U;[iI"TYPE_LONG;TI"DL::TYPE_LONG;T00o;;[o; ;[I"TYPE_LONG;T@o; ;[I"DL::CFunc type - long;T; @?; 0@?@@m0U;[iI"TYPE_LONG_LONG;TI"DL::TYPE_LONG_LONG;T00o;;[o; ;[I"TYPE_LONG_LONG;T@o; ;[I"DL::CFunc type - long long;T; @?; 0@?@@m0U;[iI"TYPE_FLOAT;TI"DL::TYPE_FLOAT;T00o;;[o; ;[I"TYPE_FLOAT;T@o; ;[I"DL::CFunc type - float;T; @?; 0@?@@m0U;[iI"TYPE_DOUBLE;TI"DL::TYPE_DOUBLE;T00o;;[o; ;[I"TYPE_DOUBLE;T@o; ;[I"DL::CFunc type - double;T; @?; 0@?@@m0U;[iI"TYPE_SIZE_T;TI"DL::TYPE_SIZE_T;T00o;;[o; ;[I"TYPE_SIZE_T;T@o; ;[I"DL::CFunc type - size_t;T; @?; 0@?@@m0U;[iI"TYPE_SSIZE_T;TI"DL::TYPE_SSIZE_T;T00o;;[o; ;[I"TYPE_SSIZE_T;T@o; ;[I"DL::CFunc type - ssize_t;T; @?; 0@?@@m0U;[iI"TYPE_PTRDIFF_T;TI"DL::TYPE_PTRDIFF_T;T00o;;[o; ;[I"TYPE_PTRDIFF_T;T@o; ;[I"DL::CFunc type - ptrdiff_t;T; @?; 0@?@@m0U;[iI"TYPE_INTPTR_T;TI"DL::TYPE_INTPTR_T;T00o;;[o; ;[I"TYPE_INTPTR_T;T@o; ;[I"DL::CFunc type - intptr_t;T; @?; 0@?@@m0U;[iI"TYPE_UINTPTR_T;TI"DL::TYPE_UINTPTR_T;T00o;;[o; ;[I"TYPE_UINTPTR_T;T@o; ;[I"DL::CFunc type - uintptr_t;T; @?; 0@?@@m0U;[iI"ALIGN_VOIDP;TI"DL::ALIGN_VOIDP;T00o;;[o; ;[I"ALIGN_VOIDP;T@o; ;[I""The alignment size of a void*;T; @?; 0@?@@m0U;[iI"ALIGN_CHAR;TI"DL::ALIGN_CHAR;T00o;;[o; ;[I"ALIGN_CHAR;T@o; ;[I"!The alignment size of a char;T; @?; 0@?@@m0U;[iI"ALIGN_SHORT;TI"DL::ALIGN_SHORT;T00o;;[o; ;[I"ALIGN_SHORT;T@o; ;[I""The alignment size of a short;T; @?; 0@?@@m0U;[iI"ALIGN_INT;TI"DL::ALIGN_INT;T00o;;[o; ;[I"ALIGN_INT;T@o; ;[I"!The alignment size of an int;T; @?; 0@?@@m0U;[iI"ALIGN_LONG;TI"DL::ALIGN_LONG;T00o;;[o; ;[I"ALIGN_LONG;T@o; ;[I"!The alignment size of a long;T; @?; 0@?@@m0U;[iI"ALIGN_LONG_LONG;TI"DL::ALIGN_LONG_LONG;T00o;;[o; ;[I"ALIGN_LONG_LONG;T@o; ;[I"&The alignment size of a long long;T; @?; 0@?@@m0U;[iI"ALIGN_FLOAT;TI"DL::ALIGN_FLOAT;T00o;;[o; ;[I"ALIGN_FLOAT;T@o; ;[I""The alignment size of a float;T; @?; 0@?@@m0U;[iI"ALIGN_DOUBLE;TI"DL::ALIGN_DOUBLE;T00o;;[o; ;[I"ALIGN_DOUBLE;T@o; ;[I"#The alignment size of a double;T; @?; 0@?@@m0U;[iI"ALIGN_SIZE_T;TI"DL::ALIGN_SIZE_T;T00o;;[o; ;[I"ALIGN_SIZE_T;T@o; ;[I"#The alignment size of a size_t;T; @?; 0@?@@m0U;[iI"ALIGN_SSIZE_T;TI"DL::ALIGN_SSIZE_T;T00o;;[o; ;[I"ALIGN_SSIZE_T;T@o; ;[I"$The alignment size of a ssize_t;T; @?; 0@?@@m0U;[iI"ALIGN_PTRDIFF_T;TI"DL::ALIGN_PTRDIFF_T;T00o;;[o; ;[I"ALIGN_PTRDIFF_T;T@o; ;[I"&The alignment size of a ptrdiff_t;T; @?; 0@?@@m0U;[iI"ALIGN_INTPTR_T;TI"DL::ALIGN_INTPTR_T;T00o;;[o; ;[I"ALIGN_INTPTR_T;T@o; ;[I"%The alignment size of a intptr_t;T; @?; 0@?@@m0U;[iI"ALIGN_UINTPTR_T;TI"DL::ALIGN_UINTPTR_T;T00o;;[o; ;[I"ALIGN_UINTPTR_T;T@o; ;[I"&The alignment size of a uintptr_t;T; @?; 0@?@@m0U;[iI"SIZEOF_VOIDP;TI"DL::SIZEOF_VOIDP;T00o;;[o; ;[I"SIZEOF_VOIDP;T@o; ;[I"size of a void*;T; @?; 0@?@@m0U;[iI"SIZEOF_CHAR;TI"DL::SIZEOF_CHAR;T00o;;[o; ;[I"SIZEOF_CHAR;T@o; ;[I"size of a char;T; @?; 0@?@@m0U;[iI"SIZEOF_SHORT;TI"DL::SIZEOF_SHORT;T00o;;[o; ;[I"SIZEOF_SHORT;T@o; ;[I"size of a short;T; @?; 0@?@@m0U;[iI"SIZEOF_INT;TI"DL::SIZEOF_INT;T00o;;[o; ;[I"SIZEOF_INT;T@o; ;[I"size of an int;T; @?; 0@?@@m0U;[iI"SIZEOF_LONG;TI"DL::SIZEOF_LONG;T00o;;[o; ;[I"SIZEOF_LONG;T@o; ;[I"size of a long;T; @?; 0@?@@m0U;[iI"SIZEOF_LONG_LONG;TI"DL::SIZEOF_LONG_LONG;T00o;;[o; ;[I"SIZEOF_LONG_LONG;T@o; ;[I"size of a long long;T; @?; 0@?@@m0U;[iI"SIZEOF_FLOAT;TI"DL::SIZEOF_FLOAT;T00o;;[o; ;[I"SIZEOF_FLOAT;T@o; ;[I"size of a float;T; @?; 0@?@@m0U;[iI"SIZEOF_DOUBLE;TI"DL::SIZEOF_DOUBLE;T00o;;[o; ;[I"SIZEOF_DOUBLE;T@o; ;[I"size of a double;T; @?; 0@?@@m0U;[iI"SIZEOF_SIZE_T;TI"DL::SIZEOF_SIZE_T;T00o;;[o; ;[I"SIZEOF_SIZE_T;T@o; ;[I"size of a size_t;T; @?; 0@?@@m0U;[iI"SIZEOF_SSIZE_T;TI"DL::SIZEOF_SSIZE_T;T00o;;[o; ;[I"SIZEOF_SSIZE_T;T@o; ;[I"size of a ssize_t;T; @?; 0@?@@m0U;[iI"SIZEOF_PTRDIFF_T;TI"DL::SIZEOF_PTRDIFF_T;T00o;;[o; ;[I"SIZEOF_PTRDIFF_T;T@o; ;[I"size of a ptrdiff_t;T; @?; 0@?@@m0U;[iI"SIZEOF_INTPTR_T;TI"DL::SIZEOF_INTPTR_T;T00o;;[o; ;[I"SIZEOF_INTPTR_T;T@o; ;[I"size of a intptr_t;T; @?; 0@?@@m0U;[iI"SIZEOF_UINTPTR_T;TI"DL::SIZEOF_UINTPTR_T;T00o;;[o; ;[I"SIZEOF_UINTPTR_T;T@o; ;[I"size of a uintptr_t;T; @?; 0@?@@m0U;[iI"RUBY_FREE;TI"DL::RUBY_FREE;T00o;;[o; ;[I"RUBY_FREE;T@o; ;[I")Address of the ruby_xfree() function;T; @?; 0@?@@m0U;[iI"BUILD_RUBY_PLATFORM;TI"DL::BUILD_RUBY_PLATFORM;T00o;;[ 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; @?; 0@?@@m0U;[iI"BUILD_RUBY_VERSION;TI"DL::BUILD_RUBY_VERSION;T00o;;[ o; ;[I"BUILD_RUBY_VERSION;T@o; ;[I"'Ruby Version built. (i.e. "1.9.3");T@o; ;[I"See also RUBY_VERSION;T; @?; 0@?@@m0[[[I" class;T[[: public[ [I" dlopen;TI"ext/dl/dl.c;T[I" dlunwrap;T@[I" dlwrap;T@[I" fiddle?;FI"ext/dl/lib/dl.rb;T[I" free;T@[I" malloc;T@[I" realloc;T@[:protected[[: private[[I" instance;T[[;[ [I"remove_callback;FI"ext/dl/lib/dl/callback.rb;T[I"remove_callback_internal;F@[I"remove_cdecl_callback;F@[I"remove_stdcall_callback;F@[I"set_callback;F@[I"set_callback_internal;F@[I"set_cdecl_callback;F@[I"set_stdcall_callback;F@[;[[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[@ @l@?@B@E@H@K@N@Q@T@W@Z@]I"lib/securerandom.rb;T@]cRDoc::TopLevelPK3 ]**remove_callback-i.rinu[U:RDoc::AnyMethod[iI"remove_callback:EFI"DL#remove_callback;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/callback.rb;T:0@omit_headings_from_table_of_contents_below000[I"(addr, ctype = nil);T@ FI"DL;TcRDoc::NormalModule0[@FI"remove_cdecl_callback;FPK3 ]ؠ""TempFunction/cdesc-TempFunction.rinu[U:RDoc::NormalClass[iI"TempFunction:ETI"DL::TempFunction;TI"DL::Function;To:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[; [[I"bind_at_call;FI"ext/dl/lib/dl/func.rb;T[I"unbind_at_call;F@#[; [[; [[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]7Z  TempFunction/bind_at_call-i.rinu[U:RDoc::AnyMethod[iI"bind_at_call:EFI""DL::TempFunction#bind_at_call;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I" (&block);T@ FI"TempFunction;TcRDoc::NormalClass00PK3 ]eI   TempFunction/unbind_at_call-i.rinu[U:RDoc::AnyMethod[iI"unbind_at_call:EFI"$DL::TempFunction#unbind_at_call;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/func.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI"TempFunction;TcRDoc::NormalClass00PK3 ]vfuWin32Types/cdesc-Win32Types.rinu[U:RDoc::NormalModule[iI"Win32Types:EFI"DL::Win32Types;T0o:RDoc::Markup::Document: @parts[o;;[ o:RDoc::Markup::Paragraph;[I"CAdds Windows type aliases to the including class for use with ;TI"DL::Importer.;To:RDoc::Markup::BlankLineo; ;[I"The aliases added are:;To:RDoc::Markup::List: @type: BULLET: @items[o:RDoc::Markup::ListItem: @label0;[o; ;[I" ATOM;To;;0;[o; ;[I" BOOL;To;;0;[o; ;[I" BYTE;To;;0;[o; ;[I" DWORD;To;;0;[o; ;[I" DWORD32;To;;0;[o; ;[I" DWORD64;To;;0;[o; ;[I" HANDLE;To;;0;[o; ;[I"HDC;To;;0;[o; ;[I"HINSTANCE;To;;0;[o; ;[I" HWND;To;;0;[o; ;[I" LPCSTR;To;;0;[o; ;[I" LPSTR;To;;0;[o; ;[I" PBYTE;To;;0;[o; ;[I" PDWORD;To;;0;[o; ;[I" PHANDLE;To;;0;[o; ;[I" PVOID;To;;0;[o; ;[I" PWORD;To;;0;[o; ;[I" UCHAR;To;;0;[o; ;[I" UINT;To;;0;[o; ;[I" ULONG;To;;0;[o; ;[I" WORD;T: @fileI"ext/dl/lib/dl/types.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@{I"DL;TcRDoc::NormalModulePK3 ]ꂡEECParser/cdesc-CParser.rinu[U:RDoc::NormalModule[iI" CParser:EFI"DL::CParser;T0o:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"=Methods for parsing C struct and C prototype signatures.;T: @fileI"ext/dl/lib/dl/cparser.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[; [[I"parse_ctype;FI"ext/dl/lib/dl/cparser.rb;T[I"parse_signature;F@%[I"parse_struct_signature;F@%[; [[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]% CParser/parse_ctype-i.rinu[U:RDoc::AnyMethod[iI"parse_ctype:EFI"DL::CParser#parse_ctype;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"IGiven a String of C type +ty+, return the corresponding DL constant.;To:RDoc::Markup::BlankLineo; ; [I"M+ty+ can also accept an Array of C type Strings, and will returned in a ;TI"corresponding Array.;T@o; ; [I"JIf Hash +tymap+ is provided, +ty+ is expected to be the key, and the ;TI".value will be the C type to be looked up.;T@o; ; [I" Example:;T@o:RDoc::Markup::Verbatim; [ I"parse_ctype('int') ;TI"=> DL::TYPE_INT ;TI" ;TI"parse_ctype('double') ;TI"=> DL::TYPE_DOUBLE ;TI" ;TI""parse_ctype('unsigned char') ;TI"=> -DL::TYPE_CHAR;T: @format0: @fileI"ext/dl/lib/dl/cparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(ty, tymap=nil);T@$FI" CParser;FcRDoc::NormalModule00PK3 ]I"@--#CParser/parse_struct_signature-i.rinu[U:RDoc::AnyMethod[iI"parse_struct_signature:EFI"'DL::CParser#parse_struct_signature;TF: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I" Parses a C struct's members;To:RDoc::Markup::BlankLineo; ; [I" Example:;T@o:RDoc::Markup::Verbatim; [I"1parse_struct_signature(['int i', 'char c']) ;TI"3=> [[DL::TYPE_INT, DL::TYPE_CHAR], ["i", "c"]];T: @format0: @fileI"ext/dl/lib/dl/cparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(signature, tymap=nil);T@FI" CParser;FcRDoc::NormalModule00PK3 ]QiiCParser/parse_signature-i.rinu[U:RDoc::AnyMethod[iI"parse_signature:EFI" DL::CParser#parse_signature;TF: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"#Parses a C prototype signature;To:RDoc::Markup::BlankLineo; ; [I" Example:;T@o:RDoc::Markup::Verbatim; [ I"include DL::CParser ;TI"=> Object ;TI" ;TI"3parse_signature('double sum(double, double)') ;TI"D=> ["sum", DL::TYPE_DOUBLE, [DL::TYPE_DOUBLE, DL::TYPE_DOUBLE]];T: @format0: @fileI"ext/dl/lib/dl/cparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(signature, tymap=nil);T@FI" CParser;FcRDoc::NormalModule00PK3 ] Stack/add_padding-i.rinu[U:RDoc::AnyMethod[iI"add_padding:EFI"DL::Stack#add_padding;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/stack.rb;T:0@omit_headings_from_table_of_contents_below000[I"(addr, align);T@ FI" Stack;TcRDoc::NormalClass00PK3 ]>Stack/types-i.rinu[U:RDoc::AnyMethod[iI" types:EFI"DL::Stack#types;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/stack.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Stack;TcRDoc::NormalClass00PK3 ]҇Stack/parse_types-i.rinu[U:RDoc::AnyMethod[iI"parse_types:EFI"DL::Stack#parse_types;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/stack.rb;T:0@omit_headings_from_table_of_contents_below000[I" (types);T@ FI" Stack;TcRDoc::NormalClass00PK3 ]9Stack/%5b%5d-c.rinu[U:RDoc::AnyMethod[iI"[]:EFI"DL::Stack::[];TT: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/stack.rb;T:0@omit_headings_from_table_of_contents_below000[I" (*types);T@ FI" Stack;TcRDoc::NormalClass00PK3 ]):Stack/align-i.rinu[U:RDoc::AnyMethod[iI" align:EFI"DL::Stack#align;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/stack.rb;T:0@omit_headings_from_table_of_contents_below000[I"(addr, align);T@ FI" Stack;TcRDoc::NormalClass00PK3 ]aG2Stack/new-c.rinu[U:RDoc::AnyMethod[iI"new:ETI"DL::Stack::new;TT: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/stack.rb;T:0@omit_headings_from_table_of_contents_below000[I" (types);T@ FI" Stack;TcRDoc::NormalClass00PK3 ]VStack/unpack-i.rinu[U:RDoc::AnyMethod[iI" unpack:EFI"DL::Stack#unpack;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/stack.rb;T:0@omit_headings_from_table_of_contents_below000[I" (ary);T@ FI" Stack;TcRDoc::NormalClass00PK3 ],rStack/pack-i.rinu[U:RDoc::AnyMethod[iI" pack:EFI"DL::Stack#pack;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/stack.rb;T:0@omit_headings_from_table_of_contents_below000[I" (ary);T@ FI" Stack;TcRDoc::NormalClass00PK3 ] 7Stack/size-i.rinu[U:RDoc::AnyMethod[iI" size:EFI"DL::Stack#size;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/stack.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Stack;TcRDoc::NormalClass00PK3 ]j~((Stack/cdesc-Stack.rinu[U:RDoc::NormalClass[iI" Stack:ETI"DL::Stack;TI" Object;To:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/dl/lib/dl/stack.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[U:RDoc::Constant[iI"ALIGN_MAP;FI"DL::Stack::ALIGN_MAP;T00o;;[; @; 0@@cRDoc::NormalClass0U; [iI" PACK_MAP;FI"DL::Stack::PACK_MAP;T00o;;[; @; 0@@@0U; [iI" SIZE_MAP;FI"DL::Stack::SIZE_MAP;T00o;;[; @; 0@@@0[[[I" class;T[[: public[[I"[];FI"ext/dl/lib/dl/stack.rb;T[I"new;T@-[:protected[[: private[[I" instance;T[[; [ [I" pack;F@-[I" size;F@-[I" types;F@-[I" unpack;F@-[; [[;[[I"add_padding;F@-[I" align;F@-[I"parse_types;F@-[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]YCStruct/cdesc-CStruct.rinu[U:RDoc::NormalClass[iI" CStruct:ETI"DL::CStruct;TI" Object;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"C struct shell;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[I"entity_class;FI"ext/dl/lib/dl/struct.rb;T[:protected[[: private[[I" instance;T[[; [[; [[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]_ԀBBCStruct/entity_class-c.rinu[U:RDoc::AnyMethod[iI"entity_class:EFI"DL::CStruct::entity_class;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I""accessor to DL::CStructEntity;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" CStruct;TcRDoc::NormalClass00PK3 ]11set_cdecl_callback-i.rinu[U:RDoc::AnyMethod[iI"set_cdecl_callback:EFI"DL#set_cdecl_callback;TF: publico:RDoc::Markup::Document: @parts[: @fileI"ext/dl/lib/dl/callback.rb;T:0@omit_headings_from_table_of_contents_below000[[I"set_callback;Fo;; [; @ ; 0I"(ty, argc, &cbp);T@ FI"DL;TcRDoc::NormalModule00PK3 ]vF~~ malloc-c.rinu[U:RDoc::AnyMethod[iI" malloc:ETI"DL::malloc;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"KAllocate +size+ bytes of memory and return the integer memory address ;TI"for the allocated memory.;T: @fileI"ext/dl/dl.c;T:0@omit_headings_from_table_of_contents_below0I"DL.malloc(size) ;T0[I" (p1);T@FI"DL;TcRDoc::NormalModule00PK3 ]AېCStructBuilder/create-i.rinu[U:RDoc::AnyMethod[iI" create:EFI"DL::CStructBuilder#create;TF: privateo:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"%Construct a new class given a C:;To:RDoc::Markup::List: @type: BULLET: @items[o:RDoc::Markup::ListItem: @label0; [o; ; [I">class +klass+ (CUnion, CStruct, or other that provide an ;TI"#entity_class);To;;0; [o; ; [I"B+types+ (DL:TYPE_INT, DL::TYPE_SIZE_T, etc., see the C types ;TI"constants);To;;0; [o; ; [I"corresponding +members+;To:RDoc::Markup::BlankLineo; ; [I"NDL::Importer#struct and DL::Importer#union wrap this functionality in an ;TI"easy-to-use manner.;T@!o; ; [I" Example:;T@!o:RDoc::Markup::Verbatim; [I"require 'dl/struct' ;TI"require 'dl/cparser' ;TI" ;TI"include DL::CParser ;TI" ;TI"Atypes, members = parse_struct_signature(['int i','char c']) ;TI" ;TI"BMyStruct = DL::CStructBuilder.create(CUnion, types, members) ;TI" ;TI"obj = MyStruct.allocate;T: @format0: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass, types, members);T@5FI"CStructBuilder;FcRDoc::NormalModule00PK3 ]UCStructBuilder/create-c.rinu[U:RDoc::AnyMethod[iI" create:EFI"DL::CStructBuilder::create;TT: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"%Construct a new class given a C:;To:RDoc::Markup::List: @type: BULLET: @items[o:RDoc::Markup::ListItem: @label0; [o; ; [I">class +klass+ (CUnion, CStruct, or other that provide an ;TI"#entity_class);To;;0; [o; ; [I"B+types+ (DL:TYPE_INT, DL::TYPE_SIZE_T, etc., see the C types ;TI"constants);To;;0; [o; ; [I"corresponding +members+;To:RDoc::Markup::BlankLineo; ; [I"NDL::Importer#struct and DL::Importer#union wrap this functionality in an ;TI"easy-to-use manner.;T@!o; ; [I" Example:;T@!o:RDoc::Markup::Verbatim; [I"require 'dl/struct' ;TI"require 'dl/cparser' ;TI" ;TI"include DL::CParser ;TI" ;TI"Atypes, members = parse_struct_signature(['int i','char c']) ;TI" ;TI"BMyStruct = DL::CStructBuilder.create(CUnion, types, members) ;TI" ;TI"obj = MyStruct.allocate;T: @format0: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass, types, members);T@5FI"CStructBuilder;FcRDoc::NormalModule00PK3 ]t&CStructBuilder/cdesc-CStructBuilder.rinu[U:RDoc::NormalModule[iI"CStructBuilder:EFI"DL::CStructBuilder;T0o:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"7Used to construct C classes (CUnion, CStruct, etc);To:RDoc::Markup::BlankLineo; ;[I"NDL::Importer#struct and DL::Importer#union wrap this functionality in an ;TI"easy-to-use manner.;T: @fileI"ext/dl/lib/dl/struct.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[I" create;FI"ext/dl/lib/dl/struct.rb;T[:protected[[: private[[I" instance;T[[; [[;[[;[[@ @![[U:RDoc::Context::Section[i0o;;[; 0; 0[@I"DL;TcRDoc::NormalModulePK3 ]My dlunwrap-c.rinu[PK3 ]ߞ>>fiddle%3f-c.rinu[PK3 ]~) RRhCPtr/free-i.rinu[PK3 ]-~CPtr/inspect-i.rinu[PK3 ]4CPtr/%5b%5d-c.rinu[PK3 ]dd CPtr/free%3d-i.rinu[PK3 ]{{{D CPtr/eql%3f-i.rinu[PK3 ]b II  CPtr/new-c.rinu[PK3 ]}} CPtr/ref-i.rinu[PK3 ]GCC?CPtr/to_i-i.rinu[PK3 ]L DzzCPtr/%2b%40-i.rinu[PK3 ]=(;;zCPtr/to_value-i.rinu[PK3 ],,,CPtr/size-i.rinu[PK3 ]3$aCPtr/to_ptr-c.rinu[PK3 ]3eeICPtr/cdesc-CPtr.rinu[PK3 ]k}55CPtr/to_str-i.rinu[PK3 ]RKeCPtr/%5b%5d-i.rinu[PK3 ]a31!CPtr/to_s-i.rinu[PK3 ]%99$CPtr/null%3f-i.rinu[PK3 ]Ή HH%CPtr/to_int-i.rinu[PK3 ]9IE)ee'CPtr/%5b%5d%3d-i.rinu[PK3 ]OL||)CPtr/%2d%40-i.rinu[PK3 ]aTT k+CPtr/%2b-i.rinu[PK3 ]8gVV ,CPtr/%2d-i.rinu[PK3 ] #U@@.CPtr/size%3d-i.rinu[PK3 ]JЋww0CPtr/%3d%3d-i.rinu[PK3 ]{{ 1CPtr/ptr-i.rinu[PK3 ]we3CPtr/%3c%3d%3e-i.rinu[PK3 ]aBBn5CPtr/malloc-c.rinu[PK3 ]7PackInfo/align-i.rinu[PK3 ]O09PackInfo/align-c.rinu[PK3 ]!<p:PackInfo/cdesc-PackInfo.rinu[PK3 ]љUUq=Handle/%5b%5d-c.rinu[PK3 ]f?Handle/sym-i.rinu[PK3 ]S@Handle/new-c.rinu[PK3 ]^D(@@BHandle/to_i-i.rinu[PK3 ]K vvxDHandle/disable_close-i.rinu[PK3 ]׽7FHandle/cdesc-Handle.rinu[PK3 ]#Eww:NHandle/close-i.rinu[PK3 ]KrrOHandle/enable_close-i.rinu[PK3 ]=.|TTQHandle/%5b%5d-i.rinu[PK3 ]} 9BSHandle/close_enabled%3f-i.rinu[PK3 ]% UHandle/sym-c.rinu[PK3 ]UUVCFunc/ctype%3d-i.rinu[PK3 ]#$XCFunc/ctype-i.rinu[PK3 ]'8jZCFunc/inspect-i.rinu[PK3 ]Y;]]5\CFunc/win32_last_error-c.rinu[PK3 ] VTT]CFunc/calltype-i.rinu[PK3 ]ot_CFunc/new-c.rinu[PK3 ]>4XiiaCFunc/to_i-i.rinu[PK3 ]#ٍeeUcCFunc/ptr%3d-i.rinu[PK3 ]xKKdCFunc/last_error-c.rinu[PK3 ]KBfCFunc/call-i.rinu[PK3 ]SS|hCFunc/%5b%5d-i.rinu[PK3 ]*UUkjCFunc/calltype%3d-i.rinu[PK3 ]4Q!lCFunc/to_s-i.rinu[PK3 ]S !77mCFunc/name-i.rinu[PK3 ]3NN;oCFunc/ptr-i.rinu[PK3 ]ï{{pCFunc/cdesc-CFunc.rinu[PK3 ]*ܮuBasicTypes/cdesc-BasicTypes.rinu[PK3 ]$cxValueUtil/wrap_args-i.rinu[PK3 ]蔂  yValueUtil/unsigned_value-i.rinu[PK3 ]4D{ValueUtil/wrap_arg-i.rinu[PK3 ],ގu|ValueUtil/cdesc-ValueUtil.rinu[PK3 ]t  ~ValueUtil/signed_value-i.rinu[PK3 ]0 dlopen-c.rinu[PK3 ]~5XX łdlwrap-c.rinu[PK3 ]pTrXremove_stdcall_callback-i.rinu[PK3 ]kEvvCUnionEntity/set_ctypes-i.rinu[PK3 ]xoBB"CUnionEntity/cdesc-CUnionEntity.rinu[PK3 ]^ ""CUnionEntity/size-c.rinu[PK3 ]< |CUnionEntity/malloc-c.rinu[PK3 ]J==oremove_cdecl_callback-i.rinu[PK3 ]L DLTypeError/cdesc-DLTypeError.rinu[PK3 ](CUnion/cdesc-CUnion.rinu[PK3 ]J??UCUnion/entity_class-c.rinu[PK3 ]E66ܖset_callback_internal-i.rinu[PK3 ]wZ\set_callback-i.rinu[PK3 ]:E00Importer/bind_function-i.rinu[PK3 ]_߬6Importer/cdesc-Importer.rinu[PK3 ]Wvq,Importer/handler-i.rinu[PK3 ]#hImporter/sizeof-i.rinu[PK3 ]r Importer/%5b%5d-i.rinu[PK3 ]V/ؤImporter/struct-i.rinu[PK3 ] Importer/typealias-i.rinu[PK3 ]zziDImporter/extern-i.rinu[PK3 ]n,,Importer/import_function-i.rinu[PK3 ]9rnCC%Importer/create_carried_function-i.rinu[PK3 ]lp  Importer/import_value-i.rinu[PK3 ]K))Importer/create_value-i.rinu[PK3 ]8 ds dImporter/parse_bind_options-i.rinu[PK3 ]+ ưImporter/union-i.rinu[PK3 ][=ղImporter/bind-i.rinu[PK3 ]a66"Importer/create_temp_function-i.rinu[PK3 ] GImporter/import_symbol-i.rinu[PK3 ]$]&&Importer/value-i.rinu[PK3 ]ѥaImporter/dlload-i.rinu[PK3 ].c44remove_callback_internal-i.rinu[PK3 ]Y  realloc-c.rinu[PK3 ]M:ROFunction/bound%3f-i.rinu[PK3 ]mhFunction/wrap_result-i.rinu[PK3 ]KͿFunction/cdesc-Function.rinu[PK3 ] !Function/new-c.rinu[PK3 ]Function/to_i-i.rinu[PK3 ]%Function/call-i.rinu[PK3 ]WbFunction/unbind-i.rinu[PK3 ]2pFunction/name-i.rinu[PK3 ](בFunction/bind_at_call-i.rinu[PK3 ]ŌFunction/bind-i.rinu[PK3 ]@.LFunction/unbind_at_call-i.rinu[PK3 ]U"Packer/cdesc-Packer.rinu[PK3 ]ZiPacker/parse_types-i.rinu[PK3 ]'X`@Packer/%5b%5d-c.rinu[PK3 ]oPacker/new-c.rinu[PK3 ]RPacker/unpack-i.rinu[PK3 ]Packer/pack-i.rinu[PK3 ]kPacker/size-i.rinu[PK3 ]k,Ϳ&DLError/cdesc-DLError.rinu[PK3 ]NIDCompositeHandler/handlers-i.rinu[PK3 ]lCompositeHandler/sym-i.rinu[PK3 ] VnCompositeHandler/new-c.rinu[PK3 ]!J7CompositeHandler/%5b%5d-i.rinu[PK3 ]o)*CompositeHandler/cdesc-CompositeHandler.rinu[PK3 ]]  CarriedFunction/new-c.rinu[PK3 ]⫏!(!CarriedFunction/cdesc-CarriedFunction.rinu[PK3 ]#hCarriedFunction/create_carrier-i.rinu[PK3 ] Kl!CarriedFunction/bind_at_call-i.rinu[PK3 ]Uf2CStructEntity/set_ctypes-i.rinu[PK3 ]FKCStructEntity/new-c.rinu[PK3 ]Db::MCStructEntity/%5b%5d-i.rinu[PK3 ]z77CStructEntity/size-c.rinu[PK3 ]]!_$NCStructEntity/cdesc-CStructEntity.rinu[PK3 ]RpOO^CStructEntity/%5b%5d%3d-i.rinu[PK3 ];ffCStructEntity/assign_names-i.rinu[PK3 ]~MCStructEntity/malloc-c.rinu[PK3 ]\.33 free-c.rinu[PK3 ]/ eeFiddle/cdesc-Fiddle.rinu[PK3 ]jset_stdcall_callback-i.rinu[PK3 ]y'' cdesc-DL.rinu[PK3 ]**?#remove_callback-i.rinu[PK3 ]ؠ""$TempFunction/cdesc-TempFunction.rinu[PK3 ]7Z  &TempFunction/bind_at_call-i.rinu[PK3 ]eI   4(TempFunction/unbind_at_call-i.rinu[PK3 ]vfu)Win32Types/cdesc-Win32Types.rinu[PK3 ]ꂡEE.CParser/cdesc-CParser.rinu[PK3 ]% z1CParser/parse_ctype-i.rinu[PK3 ]I"@--#A5CParser/parse_struct_signature-i.rinu[PK3 ]Qii7CParser/parse_signature-i.rinu[PK3 ] v:Stack/add_padding-i.rinu[PK3 ]>;Stack/types-i.rinu[PK3 ]҇<Stack/parse_types-i.rinu[PK3 ]9->Stack/%5b%5d-c.rinu[PK3 ]):Z?Stack/align-i.rinu[PK3 ]aG2@Stack/new-c.rinu[PK3 ]VAStack/unpack-i.rinu[PK3 ],rBStack/pack-i.rinu[PK3 ] 7DStack/size-i.rinu[PK3 ]j~((@EStack/cdesc-Stack.rinu[PK3 ]YHCStruct/cdesc-CStruct.rinu[PK3 ]_ԀBBJCStruct/entity_class-c.rinu[PK3 ]11iLset_cdecl_callback-i.rinu[PK3 ]vF~~ Mmalloc-c.rinu[PK3 ]AېOCStructBuilder/create-i.rinu[PK3 ]UtTCStructBuilder/create-c.rinu[PK3 ]t&NYCStructBuilder/cdesc-CStructBuilder.rinu[PK7B\