struct Debug::ELF

Overview

ELF reader.

Documentation:

Defined in:

debug/elf.cr

Constant Summary

MAGIC = UInt8.slice(127, 'E'.ord, 'L'.ord, 'F'.ord)

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from struct Struct

==(other : self) : Bool ==, hash : Int32 hash, inspect(io : IO) : Nil inspect, pretty_print(pp) : Nil pretty_print, to_s(io) to_s

Instance methods inherited from struct Value

==(other) ==, dup dup

Instance methods inherited from class Object

!=(other) !=, !~(other) !~, ==(other) ==, ===(other : JSON::Any)
===(other : YAML::Any)
===(other)
===
, =~(other) =~, class class, dup dup, hash hash, inspect(io : IO)
inspect
inspect
, itself itself, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, tap(&block) tap, to_json(io : IO)
to_json
to_json
, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ")
to_pretty_json
, to_s
to_s(io : IO)
to_s
, to_yaml(io : IO)
to_yaml
to_yaml
, try(&block) try, unsafe_as(type : T.class) forall T unsafe_as

Constructor methods inherited from class Object

from_json(string_or_io, root : String) : self
from_json(string_or_io) : self
from_json
, from_yaml(string_or_io) : self from_yaml

Constructor Detail

def self.new(io : IO::FileDescriptor) #

View source

Class Method Detail

def self.open(path, &block) #

View source

Instance Method Detail

def ehsize #

def ehsize=(ehsize : UInt16) #

View source
def ehsize? : UInt16? #

def entry #

def entry=(entry : UInt32 | UInt64) #

View source
def entry? : UInt32 | UInt64 | Nil #

def flags #

def flags=(flags : UInt32) #

View source
def flags? : UInt32? #

def ident #

View source
def ident? : Debug::ELF::Ident? #

View source
def machine #

def machine=(machine : Machine) #

View source
def machine? : Debug::ELF::Machine? #

def phentsize #

def phentsize=(phentsize : UInt16) #

View source
def phentsize? : UInt16? #

def phnum #

def phnum=(phnum : UInt16) #

View source
def phnum? : UInt16? #

def phoff #

def phoff=(phoff : UInt32 | UInt64) #

View source
def phoff? : UInt32 | UInt64 | Nil #

def read_section?(name : String, &block) #

Searches for a section then yield the SectionHeader and the IO object ready for parsing if the section was found. Returns the valure returned by the block or nil if the section wasn't found.


View source
def section_headers #

Parses and returns an Array of SectionHeader.


View source
def sh_name(index) #

Returns the name of a section, using the SectionHeader#name index.


View source
def shentsize #

def shentsize=(shentsize : UInt16) #

View source
def shentsize? : UInt16? #

def shnum #

def shnum=(shnum : UInt16) #

View source
def shnum? : UInt16? #

def shoff #

def shoff=(shoff : UInt32 | UInt64) #

View source
def shoff? : UInt32 | UInt64 | Nil #

def shstrndx #

def shstrndx=(shstrndx : UInt16) #

View source
def shstrndx? : UInt16? #

def type #

def type=(type : Type) #

View source
def type? : Debug::ELF::Type? #

def version #

def version=(version : UInt32) #

View source
def version? : UInt32? #