Class: MachO::SegmentCommand
- Inherits:
-
LoadCommand
- Object
- MachOStructure
- LoadCommand
- MachO::SegmentCommand
- Defined in:
- lib/macho/load_commands.rb
Overview
A load command indicating that part of this file is to be mapped into the task's address space. Corresponds to LC_SEGMENT.
Constant Summary collapse
- FORMAT =
"VVa16VVVVVVVV"- SIZEOF =
56
Instance Attribute Summary collapse
-
#fileoff ⇒ Fixnum
readonly
The file offset of the segment.
-
#filesize ⇒ Fixnum
readonly
The amount to map from the file.
-
#flags ⇒ Fixnum
readonly
Any flags associated with the segment.
-
#initprot ⇒ Fixnum
readonly
The initial VM protection.
-
#maxprot ⇒ Fixnum
readonly
The maximum VM protection.
-
#nsects ⇒ Fixnum
readonly
The number of sections in the segment.
-
#segname ⇒ String
readonly
The name of the segment, including null padding bytes.
-
#vmaddr ⇒ Fixnum
readonly
The memory address of the segment.
-
#vmsize ⇒ Fixnum
readonly
The memory size of the segment.
Attributes inherited from LoadCommand
Instance Method Summary collapse
-
#initialize(raw_data, offset, cmd, cmdsize, segname, vmaddr, vmsize, fileoff, filesize, maxprot, initprot, nsects, flags) ⇒ SegmentCommand
constructor
private
A new instance of SegmentCommand.
-
#segment_name ⇒ String
The segment's name, with any trailing NULL characters removed.
Methods inherited from LoadCommand
Methods inherited from MachOStructure
Constructor Details
#initialize(raw_data, offset, cmd, cmdsize, segname, vmaddr, vmsize, fileoff, filesize, maxprot, initprot, nsects, flags) ⇒ SegmentCommand
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 SegmentCommand.
416 417 418 419 420 421 422 423 424 425 426 427 428 |
# File 'lib/macho/load_commands.rb', line 416 def initialize(raw_data, offset, cmd, cmdsize, segname, vmaddr, vmsize, fileoff, filesize, maxprot, initprot, nsects, flags) super(raw_data, offset, cmd, cmdsize) @segname = segname @vmaddr = vmaddr @vmsize = vmsize @fileoff = fileoff @filesize = filesize @maxprot = maxprot @initprot = initprot @nsects = nsects @flags = flags end |
Instance Attribute Details
#fileoff ⇒ Fixnum (readonly)
Returns the file offset of the segment.
395 396 397 |
# File 'lib/macho/load_commands.rb', line 395 def fileoff @fileoff end |
#filesize ⇒ Fixnum (readonly)
Returns the amount to map from the file.
398 399 400 |
# File 'lib/macho/load_commands.rb', line 398 def filesize @filesize end |
#flags ⇒ Fixnum (readonly)
Returns any flags associated with the segment.
410 411 412 |
# File 'lib/macho/load_commands.rb', line 410 def flags @flags end |
#initprot ⇒ Fixnum (readonly)
Returns the initial VM protection.
404 405 406 |
# File 'lib/macho/load_commands.rb', line 404 def initprot @initprot end |
#maxprot ⇒ Fixnum (readonly)
Returns the maximum VM protection.
401 402 403 |
# File 'lib/macho/load_commands.rb', line 401 def maxprot @maxprot end |
#nsects ⇒ Fixnum (readonly)
Returns the number of sections in the segment.
407 408 409 |
# File 'lib/macho/load_commands.rb', line 407 def nsects @nsects end |
#segname ⇒ String (readonly)
Returns the name of the segment, including null padding bytes.
386 387 388 |
# File 'lib/macho/load_commands.rb', line 386 def segname @segname end |
#vmaddr ⇒ Fixnum (readonly)
Returns the memory address of the segment.
389 390 391 |
# File 'lib/macho/load_commands.rb', line 389 def vmaddr @vmaddr end |
#vmsize ⇒ Fixnum (readonly)
Returns the memory size of the segment.
392 393 394 |
# File 'lib/macho/load_commands.rb', line 392 def vmsize @vmsize end |
Instance Method Details
#segment_name ⇒ String
Returns the segment's name, with any trailing NULL characters removed.
431 432 433 |
# File 'lib/macho/load_commands.rb', line 431 def segment_name @segname.delete("\x00") end |