Class: BinData::DSLMixin::DSLParser

Inherits:
Object
  • Object
show all
Defined in:
lib/bindata_ext/dsl.rb

Instance Method Summary collapse

Instance Method Details

#check_value(v, options = {:length => 0x1}) ⇒ Object

Example: check_value 0x00, :length => 0x4



21
22
23
24
25
# File 'lib/bindata_ext/dsl.rb', line 21

def check_value(v, options = {:length => 0x1})
  array :initial_length => options[:length] do
    uint32 :check_value => lambda { value == v }
  end
end

#ffs(options = {:length => 0x1}) ⇒ Object

Example: ffs :length => 0x4



8
9
10
# File 'lib/bindata_ext/dsl.rb', line 8

def ffs(options = {:length => 0x1})
  check_value 0xFFFFFFFF, options
end

#unknown(options = {:length => 0x1}) ⇒ Object

Example: ffs :length => 0x4



13
14
15
16
17
18
# File 'lib/bindata_ext/dsl.rb', line 13

def unknown(options = {:length => 0x1})
#    array :initial_length => options[:length] do
#      uint32 #:check_value => lambda { value == v }
#    end
  string :length => options[:length]*4, :truncate => true
end

#zeroes(options = {:length => 0x1}) ⇒ Object

Example: zeroes :length => 0x4



3
4
5
# File 'lib/bindata_ext/dsl.rb', line 3

def zeroes(options = {:length => 0x1})
  check_value 0x00000000, options
end