Class: Ragweed::Wraposx::ThreadContext::Float32
- Includes:
- FFIStructInclude
- Defined in:
- lib/ragweed/wraposx/thread_context.rb
Overview
_STRUCT_X86_FLOAT_STATE32 { int fpu_reserved; _STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word / _STRUCT_FP_STATUS fpu_fsw; / x87 FPU status word / __uint8_t fpu_ftw; / x87 FPU tag word / __uint8_t fpu_rsrv1; / reserved / __uint16_t fpu_fop; / x87 FPU Opcode / __uint32_t fpu_ip; / x87 FPU Instruction Pointer offset / __uint16_t fpu_cs; / x87 FPU Instruction Pointer Selector / __uint16_t fpu_rsrv2; / reserved / __uint32_t fpu_dp; / x87 FPU Instruction Operand(Data) Pointer offset / __uint16_t fpu_ds; / x87 FPU Instruction Operand(Data) Pointer Selector / __uint16_t fpu_rsrv3; / reserved / __uint32_t fpu_mxcsr; / MXCSR Register state / __uint32_t fpu_mxcsrmask; / MXCSR mask / _STRUCT_MMST_REG fpu_stmm0; / ST0/MM0 / _STRUCT_MMST_REG fpu_stmm1; / ST1/MM1 / _STRUCT_MMST_REG fpu_stmm2; / ST2/MM2 / _STRUCT_MMST_REG fpu_stmm3; / ST3/MM3 / _STRUCT_MMST_REG fpu_stmm4; / ST4/MM4 / _STRUCT_MMST_REG fpu_stmm5; / ST5/MM5 / _STRUCT_MMST_REG fpu_stmm6; / ST6/MM6 / _STRUCT_MMST_REG fpu_stmm7; / ST7/MM7 / _STRUCT_XMM_REG fpu_xmm0; / XMM 0 / _STRUCT_XMM_REG fpu_xmm1; / XMM 1 / _STRUCT_XMM_REG fpu_xmm2; / XMM 2 / _STRUCT_XMM_REG fpu_xmm3; / XMM 3 / _STRUCT_XMM_REG fpu_xmm4; / XMM 4 / _STRUCT_XMM_REG fpu_xmm5; / XMM 5 / _STRUCT_XMM_REG fpu_xmm6; / XMM 6 / _STRUCT_XMM_REG fpu_xmm7; / XMM 7 / char fpu_rsrv4; / reserved */ int fpu_reserved1; };
Constant Summary collapse
- FLAVOR =
2
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
759 760 761 762 763 764 765 766 767 768 769 770 |
# File 'lib/ragweed/wraposx/thread_context.rb', line 759 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 ----------------------------------------------------------------------- CONTEXT: trapno: #{self.trapno.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.trapno)} err: #{self.err.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.err)} faultvaddr: #{self.faultvaddr.to_s(16).rjust(16, "0")} #{maybe_hex.call(self.faultvaddr)} EOM end |