Class: MachO::LoadCommand
- Inherits:
-
MachOStructure
- Object
- MachOStructure
- MachO::LoadCommand
- Defined in:
- lib/macho/load_commands.rb
Overview
Mach-O load command structure This is the most generic load command - only cmd ID and size are represented, and no actual data. Used when a more specific class isn't available/implemented.
Direct Known Subclasses
DyldInfoCommand, DylibCommand, DylinkerCommand, DysymtabCommand, EncryptionInfoCommand, EncryptionInfoCommand64, EntryPointCommand, LinkeditDataCommand, LinkerOptionCommand, PrebindCksumCommand, PreboundDylibCommand, RoutinesCommand, RoutinesCommand64, RpathCommand, SegmentCommand, SegmentCommand64, SourceVersionCommand, SubClientCommand, SubFrameworkCommand, SubLibraryCommand, SubUmbrellaCommand, SymtabCommand, ThreadCommand, TwolevelHintsCommand, UUIDCommand, VersionMinCommand
Defined Under Namespace
Classes: LCStr
Constant Summary collapse
- FORMAT =
"VV"- SIZEOF =
8
Instance Attribute Summary collapse
-
#cmd ⇒ Fixnum
readonly
The load command's identifying number.
-
#cmdsize ⇒ Fixnum
readonly
The size of the load command, in bytes.
-
#offset ⇒ Fixnum
readonly
The offset in the file the command was created from.
Class Method Summary collapse
-
.new_from_bin(raw_data, offset, bin) ⇒ MachO::LoadCommand
private
Creates a new LoadCommand given an offset and binary string.
Instance Method Summary collapse
-
#initialize(raw_data, offset, cmd, cmdsize) ⇒ LoadCommand
constructor
private
A new instance of LoadCommand.
-
#to_s ⇒ String
A string representation of the load command's identifying number.
-
#type ⇒ Symbol
(also: #to_sym)
A symbol representation of the load command's identifying number.
Methods inherited from MachOStructure
Constructor Details
#initialize(raw_data, offset, cmd, cmdsize) ⇒ LoadCommand
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of LoadCommand.
172 173 174 175 176 177 |
# File 'lib/macho/load_commands.rb', line 172 def initialize(raw_data, offset, cmd, cmdsize) @raw_data = raw_data @offset = offset @cmd = cmd @cmdsize = cmdsize end |
Instance Attribute Details
#cmd ⇒ Fixnum (readonly)
Returns the load command's identifying number.
151 152 153 |
# File 'lib/macho/load_commands.rb', line 151 def cmd @cmd end |
#cmdsize ⇒ Fixnum (readonly)
Returns the size of the load command, in bytes.
154 155 156 |
# File 'lib/macho/load_commands.rb', line 154 def cmdsize @cmdsize end |
#offset ⇒ Fixnum (readonly)
Returns the offset in the file the command was created from.
148 149 150 |
# File 'lib/macho/load_commands.rb', line 148 def offset @offset end |
Class Method Details
.new_from_bin(raw_data, offset, bin) ⇒ MachO::LoadCommand
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Creates a new LoadCommand given an offset and binary string
164 165 166 |
# File 'lib/macho/load_commands.rb', line 164 def self.new_from_bin(raw_data, offset, bin) self.new(raw_data, offset, *bin.unpack(self::FORMAT)) end |
Instance Method Details
#to_s ⇒ String
Returns a string representation of the load command's identifying number.
187 188 189 |
# File 'lib/macho/load_commands.rb', line 187 def to_s type.to_s end |
#type ⇒ Symbol Also known as: to_sym
Returns a symbol representation of the load command's identifying number.
180 181 182 |
# File 'lib/macho/load_commands.rb', line 180 def type LOAD_COMMANDS[cmd] end |