This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.

Fiddle::Handle

        # Fiddle::Handle < Object

(from ruby core)
---
The Fiddle::Handle is the manner to access the dynamic library

## Example

### Setup

    libc_so = "/lib64/libc.so.6"
    => "/lib64/libc.so.6"
    @handle = Fiddle::Handle.new(libc_so)
    => #<Fiddle::Handle:0x00000000d69ef8>

### Setup, with flags

    libc_so = "/lib64/libc.so.6"
    => "/lib64/libc.so.6"
    @handle = Fiddle::Handle.new(libc_so, Fiddle::RTLD_LAZY | Fiddle::RTLD_GLOBAL)
    => #<Fiddle::Handle:0x00000000d69ef8>

See RTLD_LAZY and RTLD_GLOBAL

### Addresses to symbols

    strcpy_addr = @handle['strcpy']
    => 140062278451968

or

    strcpy_addr = @handle.sym('strcpy')
    => 140062278451968
---
# Constants:

DEFAULT
:   DEFAULT

    A predefined pseudo-handle of RTLD_DEFAULT

    Which will find the first occurrence of the desired symbol using the
    default library search order
NEXT
:   NEXT

    A predefined pseudo-handle of RTLD_NEXT

    Which will find the next occurrence of a function in the search
    order after the current library.
RTLD_GLOBAL
:   RTLD_GLOBAL

    rtld Fiddle::Handle flag.

    The symbols defined by this library will be made available for
    symbol resolution of subsequently loaded libraries.
RTLD_LAZY
:   RTLD_LAZY

    rtld Fiddle::Handle flag.

    Perform lazy binding.  Only resolve symbols as the code that
    references them is executed.  If the  symbol is never referenced,
    then it is never resolved.  (Lazy binding is only performed for
    function references; references to variables are always immediately
    bound when the library is loaded.)
RTLD_NOW
:   RTLD_NOW

    rtld Fiddle::Handle flag.

    If this value is specified or the environment variable LD_BIND_NOW
    is set to a nonempty string, all undefined symbols in the library
    are resolved before Fiddle.dlopen returns.  If this cannot be done
    an error is returned.


# Class methods:

    []
    new
    sym

# Instance methods:

    []
    close
    close_enabled?
    disable_close
    enable_close
    file_name
    sym
    to_i
    to_ptr


      

This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.