Class: MachO::Headers::FatHeader

Inherits:
MachOStructure show all
Defined in:
lib/macho/headers.rb

Overview

Fat binary header structure

See Also:

  • FatArch

Constant Summary collapse

FORMAT =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

always big-endian

"N2".freeze
SIZEOF =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

8

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from MachOStructure

bytesize, new_from_bin

Constructor Details

#initialize(magic, nfat_arch) ⇒ FatHeader

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 FatHeader.



495
496
497
498
# File 'lib/macho/headers.rb', line 495

def initialize(magic, nfat_arch)
  @magic = magic
  @nfat_arch = nfat_arch
end

Instance Attribute Details

#magicInteger (readonly)

Returns the magic number of the header (and file).

Returns:

  • (Integer)

    the magic number of the header (and file)



480
481
482
# File 'lib/macho/headers.rb', line 480

def magic
  @magic
end

#nfat_archInteger (readonly)

Returns the number of fat architecture structures following the header.

Returns:

  • (Integer)

    the number of fat architecture structures following the header



483
484
485
# File 'lib/macho/headers.rb', line 483

def nfat_arch
  @nfat_arch
end

Instance Method Details

#serializeString

Returns the serialized fields of the fat header.

Returns:

  • (String)

    the serialized fields of the fat header



501
502
503
# File 'lib/macho/headers.rb', line 501

def serialize
  [magic, nfat_arch].pack(FORMAT)
end

#to_hHash

Returns a hash representation of this MachO::Headers::FatHeader.

Returns:



506
507
508
509
510
511
512
# File 'lib/macho/headers.rb', line 506

def to_h
  {
    "magic" => magic,
    "magic_sym" => MH_MAGICS[magic],
    "nfat_arch" => nfat_arch,
  }.merge super
end