Class: Ragweed::Wraposx::Vm::RegionBasicInfo
- Inherits:
-
RegionInfo
- Object
- FFI::Struct
- RegionInfo
- Ragweed::Wraposx::Vm::RegionBasicInfo
- Defined in:
- lib/ragweed/wraposx/region_info.rb
Constant Summary collapse
- FLAVOR =
Ragweed::Wraposx::Vm::REGION_BASIC_INFO
Instance Attribute Summary
Attributes inherited from RegionInfo
Instance Method Summary collapse
Methods included from FFIStructInclude
#method_missing, #methods, #respond_to?
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Ragweed::FFIStructInclude
Instance Method Details
#dump(&block) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/ragweed/wraposx/region_info.rb', line 54 def dump(&block) maybe_hex = lambda {|a| begin; "\n" + (" " * 9) + block.call(a, 16).hexdump(true)[10..-2]; rescue; ""; end } maybe_dis = lambda {|a| begin; "\n" + block.call(a, 16).distorm.map {|i| " " + i.mnem}.join("\n"); rescue; ""; end } string =<<EOM ----------------------------------------------------------------------- BASIC INFO: base address: #{self.base_address.to_s(16).rjust(8, "0")} protection: #{self.protection.to_s(2).rjust(8, "0")} #{Ragweed::Wraposx::Vm::Pflags.flag_dump(self.protection)} max_protection: #{self.max_protection.to_s(2).rjust(8, "0")} #{Ragweed::Wraposx::Vm::Pflags.flag_dump(self.max_protection)} inheritance: #{self.inheritance.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.inheritance)} shared: #{self.shared.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.shared)} reserved: #{self.reserved.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.reserved)} offset: #{self.offset.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.offset)} behavior: #{self.behavior.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.behavior)} user_wired_count: #{self.user_wired_count.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.user_wired_count)} size: #{self.size.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.size)} EOM end |