struct Debug::ELF

Overview

ELF reader.

Documentation:

Defined in:

debug/elf.cr

Constant Summary

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

Class Method Summary

Instance Method Summary

Instance methods inherited from struct Struct

==(other : self) : Bool ==, hash : Int32 hash, inspect(io : IO) : Nil inspect, 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, crystal_type_id crystal_type_id, dup dup, hash hash, inspect(io : IO)
inspect
inspect
, itself itself, not_nil! not_nil!, tap(&block) tap, 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

Class methods inherited from class Object

==(other : Class) ==, ===(other) ===, cast(other) : self cast, clone clone, dup dup, from_json(string_or_io, root : String) : self
from_json(string_or_io) : self
from_json
, from_yaml(string : String) : self from_yaml, hash hash, inspect(io) inspect, name : String name, nilable? nilable?, to_s(io) to_s, |(other : U.class) forall U |

Class Method Detail

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

[View source]
def self.open(path, &block) #

[View source]

Instance Method Detail

def ehsize #

def ehsize=(ehsize : UInt16) #

[View source]
def ehsize? : UInt16 | Nil #

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 | Nil #

def ident #

[View source]
def ident? : Debug::ELF::Ident | Nil #

[View source]
def machine #

def machine=(machine : Machine) #

[View source]
def machine? : Debug::ELF::Machine | Nil #

def phentsize #

def phentsize=(phentsize : UInt16) #

[View source]
def phentsize? : UInt16 | Nil #

def phnum #

def phnum=(phnum : UInt16) #

[View source]
def phnum? : UInt16 | Nil #

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 | Nil #

def shnum #

def shnum=(shnum : UInt16) #

[View source]
def shnum? : UInt16 | Nil #

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 | Nil #

def type #

def type=(type : Type) #

[View source]
def type? : Debug::ELF::Type | Nil #

def version #

def version=(version : UInt32) #

[View source]
def version? : UInt32 | Nil #