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) : Bool ==, hash(hasher) hash, inspect(io : IO) : Nil inspect, pretty_print(pp) : Nil pretty_print, to_s(io) to_s

Instance methods inherited from struct Value

==(other : JSON::Any)
==(other : YAML::Any)
==(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(hasher)
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 : String | 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? #