lib/ronin/arch.rb in ronin-1.1.0.rc1 vs lib/ronin/arch.rb in ronin-1.1.0.rc2

- old
+ new

@@ -23,13 +23,12 @@ require 'dm-is-predefined' module Ronin # # Represents a Computer Architecture and pre-defines many other common - # architectures ({i386}, {i486}, {i686}, {i986}, {x86_64}, {ia64}, {ppc}, - # {ppc64}, {sparc}, {sparc64}, {mips_le}, {mips_be}, {arm_le} - # and {arm_be}). + # architectures ({x86}, {x86_64}, {ia64}, {ppc}, {ppc64}, {sparc}, + # {sparc64}, {mips} and {arm}). # class Arch include Model include Model::HasUniqueName @@ -50,12 +49,12 @@ # # @return [Array] # The {#endian} and {#address_length} of the architecture. # # @example - # endian, address_length = Arch.i386 - # + # endian, address_length = Arch.x86 + # # endian # # => 'little' # address_length # # => 4 # @@ -89,18 +88,40 @@ # Arch.alpha # # @api private # def self.predefine(name,options={}) - super(name,options.merge(:name => name)) + super(name,{:name => name}.merge(options)) end # The x86 Architecture predefine :x86, :endian => :little, :address_length => 4 + # Alias to {x86}. + predefine :i386, :name => 'x86', + :endian => :little, + :address_length => 4 + + # Alias to {x86}. + predefine :i486, :name => 'x86', + :endian => :little, + :address_length => 4 + + # Alias to {x86}. + predefine :i686, :name => 'x86', + :endian => :little, + :address_length => 4 + + # Alias to {x86}. + predefine :i986, :name => 'x86', + :endian => :little, + :address_length => 4 + # The x86_64 Architecture - predefine :x86_64, :endian => :little, :address_length => 8 + predefine :x86_64, :name => 'x86-64', + :endian => :little, + :address_length => 8 # The ia64 Architecture predefine :ia64, :endian => :little, :address_length => 8 # The 32-bit PowerPC Architecture @@ -119,43 +140,19 @@ predefine :mips_le, :endian => :little, :address_length => 4 # The MIPS (big-endian) Architecture predefine :mips_be, :endian => :big, :address_length => 4 + # Alias to {mips_be}. + predefine :mips, :name => 'mips_be', :endian => :big, :address_length => 4 + # The ARM (little-endian) Architecture predefine :arm_le, :endian => :little, :address_length => 4 # The ARM (big-endian) Architecture predefine :arm_be, :endian => :big, :address_length => 4 - # - # @see x86 - # - def self.i386; x86; end - - # - # @see x86 - # - def self.i486; x86; end - - # - # @see x86 - # - def self.i686; x86; end - - # - # @see x86 - # - def self.i986; x86; end - - # - # @see mips_be - # - def self.mips; mips_be; end - - # - # @see arm_be - # - def self.arm; arm_be; end + # Alias to {arm_be}. + predefine :arm, :name => 'arn_be', :endian => :big, :address_length => 4 end end