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