Sha256: e8750a55ccbc4b8abd5acc0cc93cb26d8ef033685bb3a81258fe340615e96e0e

Contents?: true

Size: 749 Bytes

Versions: 5

Compression:

Stored size: 749 Bytes

Contents

module Haxor
  class Header
    MAGIC = 0x72_65_88_79_82 # HAXOR (ASCII)
    SIZE = 64 # max 8 values (64bit per entry)

    attr_accessor :version
    attr_accessor :entry_point
    attr_accessor :bss_size
    attr_accessor :stack_size

    def initialize
      @magic = MAGIC
    end

    def dump
      result = ''
      result << [
        @magic,
        @version,
        @entry_point,
        @bss_size,
        @stack_size
      ].pack('q<*')
      result.ljust(SIZE)
    end

    def parse!(data)
      data = data.unpack('q<*')
      @magic       = data.shift
      @version     = data.shift
      @entry_point = data.shift
      @bss_size    = data.shift
      @stack_size  = data.shift
    end

    def size
      SIZE
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
haxor-0.5.0 lib/haxor/header.rb
haxor-0.4.0 lib/haxor/header.rb
haxor-0.3.0 lib/haxor/header.rb
haxor-0.2.0 lib/haxor/header.rb
haxor-0.1.0 lib/haxor/header.rb