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.
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(offset, cmd, cmdsize, segname, vmaddr, vmsize, fileoff, filesize, maxprot, initprot, nsects, flags) ⇒ SegmentCommand
constructor
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(offset, cmd, cmdsize, segname, vmaddr, vmsize, fileoff, filesize, maxprot, initprot, nsects, flags) ⇒ SegmentCommand
Returns a new instance of SegmentCommand.
388 389 390 391 392 393 394 395 396 397 398 399 400 |
# File 'lib/macho/load_commands.rb', line 388 def initialize(offset, cmd, cmdsize, segname, vmaddr, vmsize, fileoff, filesize, maxprot, initprot, nsects, flags) super(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.
367 368 369 |
# File 'lib/macho/load_commands.rb', line 367 def fileoff @fileoff end |
#filesize ⇒ Fixnum (readonly)
Returns the amount to map from the file.
370 371 372 |
# File 'lib/macho/load_commands.rb', line 370 def filesize @filesize end |
#flags ⇒ Fixnum (readonly)
Returns any flags associated with the segment.
382 383 384 |
# File 'lib/macho/load_commands.rb', line 382 def flags @flags end |
#initprot ⇒ Fixnum (readonly)
Returns the initial VM protection.
376 377 378 |
# File 'lib/macho/load_commands.rb', line 376 def initprot @initprot end |
#maxprot ⇒ Fixnum (readonly)
Returns the maximum VM protection.
373 374 375 |
# File 'lib/macho/load_commands.rb', line 373 def maxprot @maxprot end |
#nsects ⇒ Fixnum (readonly)
Returns the number of sections in the segment.
379 380 381 |
# File 'lib/macho/load_commands.rb', line 379 def nsects @nsects end |
#segname ⇒ String (readonly)
Returns the name of the segment, including null padding bytes.
358 359 360 |
# File 'lib/macho/load_commands.rb', line 358 def segname @segname end |
#vmaddr ⇒ Fixnum (readonly)
Returns the memory address of the segment.
361 362 363 |
# File 'lib/macho/load_commands.rb', line 361 def vmaddr @vmaddr end |
#vmsize ⇒ Fixnum (readonly)
Returns the memory size of the segment.
364 365 366 |
# File 'lib/macho/load_commands.rb', line 364 def vmsize @vmsize end |
Instance Method Details
#segment_name ⇒ String
Returns the segment’s name, with any trailing NULL characters removed.
403 404 405 |
# File 'lib/macho/load_commands.rb', line 403 def segment_name @segname.delete("\x00") end |