Class: MachO::SegmentCommand64
- Inherits:
-
LoadCommand
- Object
- MachOStructure
- LoadCommand
- MachO::SegmentCommand64
- 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_64.
Constant Summary collapse
- FORMAT =
"VVa16QQQQVVVV"- SIZEOF =
72
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) ⇒ SegmentCommand64
constructor
private
A new instance of SegmentCommand64.
-
#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) ⇒ SegmentCommand64
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 SegmentCommand64.
470 471 472 473 474 475 476 477 478 479 480 481 482 |
# File 'lib/macho/load_commands.rb', line 470 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.
449 450 451 |
# File 'lib/macho/load_commands.rb', line 449 def fileoff @fileoff end |
#filesize ⇒ Fixnum (readonly)
Returns the amount to map from the file.
452 453 454 |
# File 'lib/macho/load_commands.rb', line 452 def filesize @filesize end |
#flags ⇒ Fixnum (readonly)
Returns any flags associated with the segment.
464 465 466 |
# File 'lib/macho/load_commands.rb', line 464 def flags @flags end |
#initprot ⇒ Fixnum (readonly)
Returns the initial VM protection.
458 459 460 |
# File 'lib/macho/load_commands.rb', line 458 def initprot @initprot end |
#maxprot ⇒ Fixnum (readonly)
Returns the maximum VM protection.
455 456 457 |
# File 'lib/macho/load_commands.rb', line 455 def maxprot @maxprot end |
#nsects ⇒ Fixnum (readonly)
Returns the number of sections in the segment.
461 462 463 |
# File 'lib/macho/load_commands.rb', line 461 def nsects @nsects end |
#segname ⇒ String (readonly)
Returns the name of the segment, including null padding bytes.
440 441 442 |
# File 'lib/macho/load_commands.rb', line 440 def segname @segname end |
#vmaddr ⇒ Fixnum (readonly)
Returns the memory address of the segment.
443 444 445 |
# File 'lib/macho/load_commands.rb', line 443 def vmaddr @vmaddr end |
#vmsize ⇒ Fixnum (readonly)
Returns the memory size of the segment.
446 447 448 |
# File 'lib/macho/load_commands.rb', line 446 def vmsize @vmsize end |
Instance Method Details
#segment_name ⇒ String
Returns the segment's name, with any trailing NULL characters removed.
485 486 487 |
# File 'lib/macho/load_commands.rb', line 485 def segment_name @segname.delete("\x00") end |