Bare import of the udis86
C library.
This module is not recommended for most users. What you see is what you get. The modules Hdis86.IO and Hdis86.Pure provide a more Haskell-friendly interface to the same functionality.
If you want to use this module, see the udis86
documentation: http://udis86.sourceforge.net
Instruction opcodes are not enumerated here. You can convert between the
C-level integer codes and the type
using the latter's
Hdis86.Types.Opcode
instance.
Enum
- data UD_t
- sizeof_ud_t :: Int
- type InputHook = IO CInt
- eoi :: CInt
- wrap_InputHook :: InputHook -> IO (FunPtr InputHook)
- type Translator = Ptr UD_t -> IO ()
- wrap_Translator :: Translator -> IO (FunPtr Translator)
- init :: Ptr UD_t -> IO ()
- set_input_hook :: Ptr UD_t -> FunPtr InputHook -> IO ()
- set_input_buffer :: Ptr UD_t -> Ptr CChar -> CSize -> IO ()
- set_input_file :: Ptr UD_t -> Ptr CFile -> IO ()
- set_mode :: Ptr UD_t -> Word8 -> IO ()
- set_pc :: Ptr UD_t -> Word64 -> IO ()
- set_syntax :: Ptr UD_t -> FunPtr Translator -> IO ()
- set_vendor :: Ptr UD_t -> UD_vendor -> IO ()
- disassemble :: Ptr UD_t -> IO CUInt
- insn_len :: Ptr UD_t -> IO CUInt
- insn_off :: Ptr UD_t -> IO Word64
- insn_hex :: Ptr UD_t -> IO CString
- insn_ptr :: Ptr UD_t -> IO (Ptr Word8)
- insn_asm :: Ptr UD_t -> IO CString
- input_skip :: Ptr UD_t -> CSize -> IO ()
- translate_intel :: FunPtr Translator
- translate_att :: FunPtr Translator
- get_mnemonic :: Ptr UD_t -> IO CUInt
- data Operand
- get_operand1, get_operand3, get_operand2 :: Ptr UD_t -> Ptr Operand
- get_type, get_index, get_base :: Ptr Operand -> IO UD_type
- get_size, get_scale, get_offset :: Ptr Operand -> IO Word8
- get_lval_u8 :: Ptr Operand -> IO Word8
- get_lval_u16 :: Ptr Operand -> IO Word16
- get_lval_u32 :: Ptr Operand -> IO Word32
- get_lval_u64 :: Ptr Operand -> IO Word64
- get_lval_s8 :: Ptr Operand -> IO Int8
- get_lval_s16 :: Ptr Operand -> IO Int16
- get_lval_s32 :: Ptr Operand -> IO Int32
- get_lval_s64 :: Ptr Operand -> IO Int64
- get_lval_ptr :: Ptr Operand -> IO (Word16, Word32)
- get_pfx_rex, get_pfx_repne, get_pfx_repe, get_pfx_rep, get_pfx_lock, get_pfx_adr, get_pfx_opr, get_pfx_seg :: Ptr UD_t -> IO Word8
- get_pc :: Ptr UD_t -> IO Word64
- type UD_vendor = CUInt
- udVendorIntel :: UD_vendor
- type UD_type = CUInt
- udVendorAmd :: UD_vendor
- udNone :: UD_type
- udRAl :: UD_type
- udRCl :: UD_type
- udRDl :: UD_type
- udRBl :: UD_type
- udRAh :: UD_type
- udRCh :: UD_type
- udRDh :: UD_type
- udRBh :: UD_type
- udRSpl :: UD_type
- udRBpl :: UD_type
- udRSil :: UD_type
- udRDil :: UD_type
- udRR8b :: UD_type
- udRR9b :: UD_type
- udRR10b :: UD_type
- udRR11b :: UD_type
- udRR12b :: UD_type
- udRR13b :: UD_type
- udRR14b :: UD_type
- udRR15b :: UD_type
- udRAx :: UD_type
- udRCx :: UD_type
- udRDx :: UD_type
- udRBx :: UD_type
- udRSp :: UD_type
- udRBp :: UD_type
- udRSi :: UD_type
- udRDi :: UD_type
- udRR8w :: UD_type
- udRR9w :: UD_type
- udRR10w :: UD_type
- udRR11w :: UD_type
- udRR12w :: UD_type
- udRR13w :: UD_type
- udRR14w :: UD_type
- udRR15w :: UD_type
- udREax :: UD_type
- udREcx :: UD_type
- udREdx :: UD_type
- udREbx :: UD_type
- udREsp :: UD_type
- udREbp :: UD_type
- udREsi :: UD_type
- udREdi :: UD_type
- udRR8d :: UD_type
- udRR9d :: UD_type
- udRR10d :: UD_type
- udRR11d :: UD_type
- udRR12d :: UD_type
- udRR13d :: UD_type
- udRR14d :: UD_type
- udRR15d :: UD_type
- udRRax :: UD_type
- udRRcx :: UD_type
- udRRdx :: UD_type
- udRRbx :: UD_type
- udRRsp :: UD_type
- udRRbp :: UD_type
- udRRsi :: UD_type
- udRRdi :: UD_type
- udRR8 :: UD_type
- udRR9 :: UD_type
- udRR10 :: UD_type
- udRR11 :: UD_type
- udRR12 :: UD_type
- udRR13 :: UD_type
- udRR14 :: UD_type
- udRR15 :: UD_type
- udREs :: UD_type
- udRCs :: UD_type
- udRSs :: UD_type
- udRDs :: UD_type
- udRFs :: UD_type
- udRGs :: UD_type
- udRCr0 :: UD_type
- udRCr1 :: UD_type
- udRCr2 :: UD_type
- udRCr3 :: UD_type
- udRCr4 :: UD_type
- udRCr5 :: UD_type
- udRCr6 :: UD_type
- udRCr7 :: UD_type
- udRCr8 :: UD_type
- udRCr9 :: UD_type
- udRCr10 :: UD_type
- udRCr11 :: UD_type
- udRCr12 :: UD_type
- udRCr13 :: UD_type
- udRCr14 :: UD_type
- udRCr15 :: UD_type
- udRDr0 :: UD_type
- udRDr1 :: UD_type
- udRDr2 :: UD_type
- udRDr3 :: UD_type
- udRDr4 :: UD_type
- udRDr5 :: UD_type
- udRDr6 :: UD_type
- udRDr7 :: UD_type
- udRDr8 :: UD_type
- udRDr9 :: UD_type
- udRDr10 :: UD_type
- udRDr11 :: UD_type
- udRDr12 :: UD_type
- udRDr13 :: UD_type
- udRDr14 :: UD_type
- udRDr15 :: UD_type
- udRMm0 :: UD_type
- udRMm1 :: UD_type
- udRMm2 :: UD_type
- udRMm3 :: UD_type
- udRMm4 :: UD_type
- udRMm5 :: UD_type
- udRMm6 :: UD_type
- udRMm7 :: UD_type
- udRSt0 :: UD_type
- udRSt1 :: UD_type
- udRSt2 :: UD_type
- udRSt3 :: UD_type
- udRSt4 :: UD_type
- udRSt5 :: UD_type
- udRSt6 :: UD_type
- udRSt7 :: UD_type
- udRXmm0 :: UD_type
- udRXmm1 :: UD_type
- udRXmm2 :: UD_type
- udRXmm3 :: UD_type
- udRXmm4 :: UD_type
- udRXmm5 :: UD_type
- udRXmm6 :: UD_type
- udRXmm7 :: UD_type
- udRXmm8 :: UD_type
- udRXmm9 :: UD_type
- udRXmm10 :: UD_type
- udRXmm11 :: UD_type
- udRXmm12 :: UD_type
- udRXmm13 :: UD_type
- udRXmm14 :: UD_type
- udRXmm15 :: UD_type
- udRRip :: UD_type
- udOpReg :: UD_type
- udOpMem :: UD_type
- udOpPtr :: UD_type
- udOpImm :: UD_type
- udOpJimm :: UD_type
- udOpConst :: UD_type
The type ud_t
Callbacks
Imported functions
set_syntax :: Ptr UD_t -> FunPtr Translator -> IO ()Source
Struct accessors
get_pfx_rex, get_pfx_repne, get_pfx_repe, get_pfx_rep, get_pfx_lock, get_pfx_adr, get_pfx_opr, get_pfx_seg :: Ptr UD_t -> IO Word8Source