| Copyright | (c) Inokentiy Babushkin 2016 |
|---|---|
| License | BSD3 |
| Maintainer | Inokentiy Babushkin <inokentiy.babushkin@googlemail.com> |
| Stability | experimental |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Hapstone.Internal.XCore
Description
This module contains XCore specific datatypes and their respective Storable instances. Most of the types are used internally and can be looked up here. Some of them are currently unused, as the headers only define them as symbolic constants whose type is never used explicitly, which poses a problem for a memory-safe port to the Haskell language, this is about to get fixed in a future version.
Apart from that, because the module is generated using C2HS, some of the documentation is misplaced or rendered incorrectly, so if in doubt, read the source file.
Synopsis
- data XCoreOpType
- data XCoreReg
- = XcoreRegInvalid
- | XcoreRegCp
- | XcoreRegDp
- | XcoreRegLr
- | XcoreRegSp
- | XcoreRegR0
- | XcoreRegR1
- | XcoreRegR2
- | XcoreRegR3
- | XcoreRegR4
- | XcoreRegR5
- | XcoreRegR6
- | XcoreRegR7
- | XcoreRegR8
- | XcoreRegR9
- | XcoreRegR10
- | XcoreRegR11
- | XcoreRegPc
- | XcoreRegScp
- | XcoreRegSsr
- | XcoreRegEt
- | XcoreRegEd
- | XcoreRegSed
- | XcoreRegKep
- | XcoreRegKsp
- | XcoreRegId
- | XcoreRegEnding
- data XCoreOpMemStruct = XCoreOpMemStruct {}
- data CsXCoreOp
- newtype CsXCore = CsXCore [CsXCoreOp]
- data XCoreInsn
- = XcoreInsInvalid
- | XcoreInsAdd
- | XcoreInsAndnot
- | XcoreInsAnd
- | XcoreInsAshr
- | XcoreInsBau
- | XcoreInsBitrev
- | XcoreInsBla
- | XcoreInsBlat
- | XcoreInsBl
- | XcoreInsBf
- | XcoreInsBt
- | XcoreInsBu
- | XcoreInsBru
- | XcoreInsByterev
- | XcoreInsChkct
- | XcoreInsClre
- | XcoreInsClrpt
- | XcoreInsClrsr
- | XcoreInsClz
- | XcoreInsCrc8
- | XcoreInsCrc32
- | XcoreInsDcall
- | XcoreInsDentsp
- | XcoreInsDgetreg
- | XcoreInsDivs
- | XcoreInsDivu
- | XcoreInsDrestsp
- | XcoreInsDret
- | XcoreInsEcallf
- | XcoreInsEcallt
- | XcoreInsEdu
- | XcoreInsEef
- | XcoreInsEet
- | XcoreInsEeu
- | XcoreInsEndin
- | XcoreInsEntsp
- | XcoreInsEq
- | XcoreInsExtdp
- | XcoreInsExtsp
- | XcoreInsFreer
- | XcoreInsFreet
- | XcoreInsGetd
- | XcoreInsGet
- | XcoreInsGetn
- | XcoreInsGetr
- | XcoreInsGetsr
- | XcoreInsGetst
- | XcoreInsGetts
- | XcoreInsInct
- | XcoreInsInit
- | XcoreInsInpw
- | XcoreInsInshr
- | XcoreInsInt
- | XcoreInsIn
- | XcoreInsKcall
- | XcoreInsKentsp
- | XcoreInsKrestsp
- | XcoreInsKret
- | XcoreInsLadd
- | XcoreInsLd16s
- | XcoreInsLd8u
- | XcoreInsLda16
- | XcoreInsLdap
- | XcoreInsLdaw
- | XcoreInsLdc
- | XcoreInsLdw
- | XcoreInsLdivu
- | XcoreInsLmul
- | XcoreInsLss
- | XcoreInsLsub
- | XcoreInsLsu
- | XcoreInsMaccs
- | XcoreInsMaccu
- | XcoreInsMjoin
- | XcoreInsMkmsk
- | XcoreInsMsync
- | XcoreInsMul
- | XcoreInsNeg
- | XcoreInsNot
- | XcoreInsOr
- | XcoreInsOutct
- | XcoreInsOutpw
- | XcoreInsOutshr
- | XcoreInsOutt
- | XcoreInsOut
- | XcoreInsPeek
- | XcoreInsRems
- | XcoreInsRemu
- | XcoreInsRetsp
- | XcoreInsSetclk
- | XcoreInsSet
- | XcoreInsSetc
- | XcoreInsSetd
- | XcoreInsSetev
- | XcoreInsSetn
- | XcoreInsSetpsc
- | XcoreInsSetpt
- | XcoreInsSetrdy
- | XcoreInsSetsr
- | XcoreInsSettw
- | XcoreInsSetv
- | XcoreInsSext
- | XcoreInsShl
- | XcoreInsShr
- | XcoreInsSsync
- | XcoreInsSt16
- | XcoreInsSt8
- | XcoreInsStw
- | XcoreInsSub
- | XcoreInsSyncr
- | XcoreInsTestct
- | XcoreInsTestlcl
- | XcoreInsTestwct
- | XcoreInsTsetmr
- | XcoreInsStart
- | XcoreInsWaitef
- | XcoreInsWaitet
- | XcoreInsWaiteu
- | XcoreInsXor
- | XcoreInsZext
- | XcoreInsEnding
- data XCoreInsnGroup
Documentation
data XCoreOpType Source #
operand type for instruction's operands
Constructors
| XcoreOpInvalid | |
| XcoreOpReg | |
| XcoreOpImm | |
| XcoreOpMem |
Instances
| Bounded XCoreOpType Source # | |
Defined in Hapstone.Internal.XCore | |
| Enum XCoreOpType Source # | |
Defined in Hapstone.Internal.XCore Methods succ :: XCoreOpType -> XCoreOpType # pred :: XCoreOpType -> XCoreOpType # toEnum :: Int -> XCoreOpType # fromEnum :: XCoreOpType -> Int # enumFrom :: XCoreOpType -> [XCoreOpType] # enumFromThen :: XCoreOpType -> XCoreOpType -> [XCoreOpType] # enumFromTo :: XCoreOpType -> XCoreOpType -> [XCoreOpType] # enumFromThenTo :: XCoreOpType -> XCoreOpType -> XCoreOpType -> [XCoreOpType] # | |
| Eq XCoreOpType Source # | |
Defined in Hapstone.Internal.XCore | |
| Show XCoreOpType Source # | |
Defined in Hapstone.Internal.XCore Methods showsPrec :: Int -> XCoreOpType -> ShowS # show :: XCoreOpType -> String # showList :: [XCoreOpType] -> ShowS # | |
XCore registers
Constructors
Instances
| Bounded XCoreReg Source # | |
| Enum XCoreReg Source # | |
Defined in Hapstone.Internal.XCore | |
| Eq XCoreReg Source # | |
| Show XCoreReg Source # | |
data XCoreOpMemStruct Source #
memory access operands
associated with XcoreOpMem operand type
Constructors
| XCoreOpMemStruct | |
Instances
| Eq XCoreOpMemStruct Source # | |
Defined in Hapstone.Internal.XCore Methods (==) :: XCoreOpMemStruct -> XCoreOpMemStruct -> Bool # (/=) :: XCoreOpMemStruct -> XCoreOpMemStruct -> Bool # | |
| Show XCoreOpMemStruct Source # | |
Defined in Hapstone.Internal.XCore Methods showsPrec :: Int -> XCoreOpMemStruct -> ShowS # show :: XCoreOpMemStruct -> String # showList :: [XCoreOpMemStruct] -> ShowS # | |
| Storable XCoreOpMemStruct Source # | |
Defined in Hapstone.Internal.XCore Methods sizeOf :: XCoreOpMemStruct -> Int # alignment :: XCoreOpMemStruct -> Int # peekElemOff :: Ptr XCoreOpMemStruct -> Int -> IO XCoreOpMemStruct # pokeElemOff :: Ptr XCoreOpMemStruct -> Int -> XCoreOpMemStruct -> IO () # peekByteOff :: Ptr b -> Int -> IO XCoreOpMemStruct # pokeByteOff :: Ptr b -> Int -> XCoreOpMemStruct -> IO () # peek :: Ptr XCoreOpMemStruct -> IO XCoreOpMemStruct # poke :: Ptr XCoreOpMemStruct -> XCoreOpMemStruct -> IO () # | |
instruction operand
Constructors
| Reg XCoreReg | register value for |
| Imm Int32 | immediate value for |
| Mem XCoreOpMemStruct | baseindexdisp/direct value for |
| Undefined | invalid operand value, for |
Instances
| Eq CsXCoreOp Source # | |
| Show CsXCoreOp Source # | |
| Storable CsXCoreOp Source # | |
Defined in Hapstone.Internal.XCore | |
instruction datatype
Constructors
| CsXCore [CsXCoreOp] | operand list of this instruction, *MUST* have <= 8 operands, else you'll get a runtime error when you (implicitly) try to write it to memory via it's Storable instance |
Instances
| Eq CsXCore Source # | |
| Show CsXCore Source # | |
| Storable CsXCore Source # | |
XCore instructions
Constructors
Instances
| Bounded XCoreInsn Source # | |
| Enum XCoreInsn Source # | |
Defined in Hapstone.Internal.XCore Methods succ :: XCoreInsn -> XCoreInsn # pred :: XCoreInsn -> XCoreInsn # fromEnum :: XCoreInsn -> Int # enumFrom :: XCoreInsn -> [XCoreInsn] # enumFromThen :: XCoreInsn -> XCoreInsn -> [XCoreInsn] # enumFromTo :: XCoreInsn -> XCoreInsn -> [XCoreInsn] # enumFromThenTo :: XCoreInsn -> XCoreInsn -> XCoreInsn -> [XCoreInsn] # | |
| Eq XCoreInsn Source # | |
| Show XCoreInsn Source # | |
data XCoreInsnGroup Source #
XCore instruction groups
Constructors
| XcoreGrpInvalid | |
| XcoreGrpJump | |
| XcoreGrpEnding |
Instances
| Bounded XCoreInsnGroup Source # | |
Defined in Hapstone.Internal.XCore | |
| Enum XCoreInsnGroup Source # | |
Defined in Hapstone.Internal.XCore Methods succ :: XCoreInsnGroup -> XCoreInsnGroup # pred :: XCoreInsnGroup -> XCoreInsnGroup # toEnum :: Int -> XCoreInsnGroup # fromEnum :: XCoreInsnGroup -> Int # enumFrom :: XCoreInsnGroup -> [XCoreInsnGroup] # enumFromThen :: XCoreInsnGroup -> XCoreInsnGroup -> [XCoreInsnGroup] # enumFromTo :: XCoreInsnGroup -> XCoreInsnGroup -> [XCoreInsnGroup] # enumFromThenTo :: XCoreInsnGroup -> XCoreInsnGroup -> XCoreInsnGroup -> [XCoreInsnGroup] # | |
| Eq XCoreInsnGroup Source # | |
Defined in Hapstone.Internal.XCore Methods (==) :: XCoreInsnGroup -> XCoreInsnGroup -> Bool # (/=) :: XCoreInsnGroup -> XCoreInsnGroup -> Bool # | |
| Show XCoreInsnGroup Source # | |
Defined in Hapstone.Internal.XCore Methods showsPrec :: Int -> XCoreInsnGroup -> ShowS # show :: XCoreInsnGroup -> String # showList :: [XCoreInsnGroup] -> ShowS # | |