| Copyright | (c) Inokentiy Babushkin 2016 |
|---|---|
| License | BSD3 |
| Maintainer | Inokentiy Babushkin <inokentiy.babushkin@googlemail.com> |
| Stability | experimental |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Hapstone.Internal.Arm
Description
This module contains ARM 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 ArmShifter
- data ArmConditionCode
- data ArmSysreg
- = ArmSysregInvalid
- | ArmSysregSpsrC
- | ArmSysregSpsrX
- | ArmSysregSpsrS
- | ArmSysregSpsrF
- | ArmSysregCpsrC
- | ArmSysregCpsrX
- | ArmSysregCpsrS
- | ArmSysregCpsrF
- | ArmSysregApsr
- | ArmSysregApsrG
- | ArmSysregApsrNzcvq
- | ArmSysregApsrNzcvqg
- | ArmSysregIapsr
- | ArmSysregIapsrG
- | ArmSysregIapsrNzcvqg
- | ArmSysregIapsrNzcvq
- | ArmSysregEapsr
- | ArmSysregEapsrG
- | ArmSysregEapsrNzcvqg
- | ArmSysregEapsrNzcvq
- | ArmSysregXpsr
- | ArmSysregXpsrG
- | ArmSysregXpsrNzcvqg
- | ArmSysregXpsrNzcvq
- | ArmSysregIpsr
- | ArmSysregEpsr
- | ArmSysregIepsr
- | ArmSysregMsp
- | ArmSysregPsp
- | ArmSysregPrimask
- | ArmSysregBasepri
- | ArmSysregBasepriMax
- | ArmSysregFaultmask
- | ArmSysregControl
- | ArmSysregR8Usr
- | ArmSysregR9Usr
- | ArmSysregR10Usr
- | ArmSysregR11Usr
- | ArmSysregR12Usr
- | ArmSysregSpUsr
- | ArmSysregLrUsr
- | ArmSysregR8Fiq
- | ArmSysregR9Fiq
- | ArmSysregR10Fiq
- | ArmSysregR11Fiq
- | ArmSysregR12Fiq
- | ArmSysregSpFiq
- | ArmSysregLrFiq
- | ArmSysregLrIrq
- | ArmSysregSpIrq
- | ArmSysregLrSvc
- | ArmSysregSpSvc
- | ArmSysregLrAbt
- | ArmSysregSpAbt
- | ArmSysregLrUnd
- | ArmSysregSpUnd
- | ArmSysregLrMon
- | ArmSysregSpMon
- | ArmSysregElrHyp
- | ArmSysregSpHyp
- | ArmSysregSpsrFiq
- | ArmSysregSpsrIrq
- | ArmSysregSpsrSvc
- | ArmSysregSpsrAbt
- | ArmSysregSpsrUnd
- | ArmSysregSpsrMon
- | ArmSysregSpsrHyp
- data ArmMemBarrier
- data ArmOpType
- data ArmSetendType
- data ArmCpsmodeType
- data ArmCpsflagType
- data ArmVectordataType
- = ArmVectordataInvalid
- | ArmVectordataI8
- | ArmVectordataI16
- | ArmVectordataI32
- | ArmVectordataI64
- | ArmVectordataS8
- | ArmVectordataS16
- | ArmVectordataS32
- | ArmVectordataS64
- | ArmVectordataU8
- | ArmVectordataU16
- | ArmVectordataU32
- | ArmVectordataU64
- | ArmVectordataP8
- | ArmVectordataF32
- | ArmVectordataF64
- | ArmVectordataF16f64
- | ArmVectordataF64f16
- | ArmVectordataF32f16
- | ArmVectordataF16f32
- | ArmVectordataF64f32
- | ArmVectordataF32f64
- | ArmVectordataS32f32
- | ArmVectordataU32f32
- | ArmVectordataF32s32
- | ArmVectordataF32u32
- | ArmVectordataF64s16
- | ArmVectordataF32s16
- | ArmVectordataF64s32
- | ArmVectordataS16f64
- | ArmVectordataS16f32
- | ArmVectordataS32f64
- | ArmVectordataU16f64
- | ArmVectordataU16f32
- | ArmVectordataU32f64
- | ArmVectordataF64u16
- | ArmVectordataF32u16
- | ArmVectordataF64u32
- data ArmReg
- = ArmRegInvalid
- | ArmRegApsr
- | ArmRegApsrNzcv
- | ArmRegCpsr
- | ArmRegFpexc
- | ArmRegFpinst
- | ArmRegFpscr
- | ArmRegFpscrNzcv
- | ArmRegFpsid
- | ArmRegItstate
- | ArmRegLr
- | ArmRegR14
- | ArmRegPc
- | ArmRegR15
- | ArmRegSp
- | ArmRegR13
- | ArmRegSpsr
- | ArmRegD0
- | ArmRegD1
- | ArmRegD2
- | ArmRegD3
- | ArmRegD4
- | ArmRegD5
- | ArmRegD6
- | ArmRegD7
- | ArmRegD8
- | ArmRegD9
- | ArmRegD10
- | ArmRegD11
- | ArmRegD12
- | ArmRegD13
- | ArmRegD14
- | ArmRegD15
- | ArmRegD16
- | ArmRegD17
- | ArmRegD18
- | ArmRegD19
- | ArmRegD20
- | ArmRegD21
- | ArmRegD22
- | ArmRegD23
- | ArmRegD24
- | ArmRegD25
- | ArmRegD26
- | ArmRegD27
- | ArmRegD28
- | ArmRegD29
- | ArmRegD30
- | ArmRegD31
- | ArmRegFpinst2
- | ArmRegMvfr0
- | ArmRegMvfr1
- | ArmRegMvfr2
- | ArmRegQ0
- | ArmRegQ1
- | ArmRegQ2
- | ArmRegQ3
- | ArmRegQ4
- | ArmRegQ5
- | ArmRegQ6
- | ArmRegQ7
- | ArmRegQ8
- | ArmRegQ9
- | ArmRegQ10
- | ArmRegQ11
- | ArmRegQ12
- | ArmRegQ13
- | ArmRegQ14
- | ArmRegQ15
- | ArmRegR0
- | ArmRegR1
- | ArmRegR2
- | ArmRegR3
- | ArmRegR4
- | ArmRegR5
- | ArmRegR6
- | ArmRegR7
- | ArmRegR8
- | ArmRegR9
- | ArmRegSb
- | ArmRegR10
- | ArmRegSl
- | ArmRegR11
- | ArmRegFp
- | ArmRegR12
- | ArmRegIp
- | ArmRegS0
- | ArmRegS1
- | ArmRegS2
- | ArmRegS3
- | ArmRegS4
- | ArmRegS5
- | ArmRegS6
- | ArmRegS7
- | ArmRegS8
- | ArmRegS9
- | ArmRegS10
- | ArmRegS11
- | ArmRegS12
- | ArmRegS13
- | ArmRegS14
- | ArmRegS15
- | ArmRegS16
- | ArmRegS17
- | ArmRegS18
- | ArmRegS19
- | ArmRegS20
- | ArmRegS21
- | ArmRegS22
- | ArmRegS23
- | ArmRegS24
- | ArmRegS25
- | ArmRegS26
- | ArmRegS27
- | ArmRegS28
- | ArmRegS29
- | ArmRegS30
- | ArmRegS31
- | ArmRegEnding
- data ArmOpMemStruct = ArmOpMemStruct {}
- data CsArmOpValue
- data CsArmOp = CsArmOp {
- vectorIndex :: Int32
- shift :: (ArmShifter, Word32)
- value :: CsArmOpValue
- subtracted :: Bool
- access :: Word8
- neon_lane :: Int8
- data CsArm = CsArm {}
- data ArmInsn
- = ArmInsInvalid
- | ArmInsAdc
- | ArmInsAdd
- | ArmInsAdr
- | ArmInsAesd
- | ArmInsAese
- | ArmInsAesimc
- | ArmInsAesmc
- | ArmInsAnd
- | ArmInsBfc
- | ArmInsBfi
- | ArmInsBic
- | ArmInsBkpt
- | ArmInsBl
- | ArmInsBlx
- | ArmInsBx
- | ArmInsBxj
- | ArmInsB
- | ArmInsCdp
- | ArmInsCdp2
- | ArmInsClrex
- | ArmInsClz
- | ArmInsCmn
- | ArmInsCmp
- | ArmInsCps
- | ArmInsCrc32b
- | ArmInsCrc32cb
- | ArmInsCrc32ch
- | ArmInsCrc32cw
- | ArmInsCrc32h
- | ArmInsCrc32w
- | ArmInsDbg
- | ArmInsDmb
- | ArmInsDsb
- | ArmInsEor
- | ArmInsEret
- | ArmInsVmov
- | ArmInsFldmdbx
- | ArmInsFldmiax
- | ArmInsVmrs
- | ArmInsFstmdbx
- | ArmInsFstmiax
- | ArmInsHint
- | ArmInsHlt
- | ArmInsHvc
- | ArmInsIsb
- | ArmInsLda
- | ArmInsLdab
- | ArmInsLdaex
- | ArmInsLdaexb
- | ArmInsLdaexd
- | ArmInsLdaexh
- | ArmInsLdah
- | ArmInsLdc2l
- | ArmInsLdc2
- | ArmInsLdcl
- | ArmInsLdc
- | ArmInsLdmda
- | ArmInsLdmdb
- | ArmInsLdm
- | ArmInsLdmib
- | ArmInsLdrbt
- | ArmInsLdrb
- | ArmInsLdrd
- | ArmInsLdrex
- | ArmInsLdrexb
- | ArmInsLdrexd
- | ArmInsLdrexh
- | ArmInsLdrh
- | ArmInsLdrht
- | ArmInsLdrsb
- | ArmInsLdrsbt
- | ArmInsLdrsh
- | ArmInsLdrsht
- | ArmInsLdrt
- | ArmInsLdr
- | ArmInsMcr
- | ArmInsMcr2
- | ArmInsMcrr
- | ArmInsMcrr2
- | ArmInsMla
- | ArmInsMls
- | ArmInsMov
- | ArmInsMovt
- | ArmInsMovw
- | ArmInsMrc
- | ArmInsMrc2
- | ArmInsMrrc
- | ArmInsMrrc2
- | ArmInsMrs
- | ArmInsMsr
- | ArmInsMul
- | ArmInsMvn
- | ArmInsOrr
- | ArmInsPkhbt
- | ArmInsPkhtb
- | ArmInsPldw
- | ArmInsPld
- | ArmInsPli
- | ArmInsQadd
- | ArmInsQadd16
- | ArmInsQadd8
- | ArmInsQasx
- | ArmInsQdadd
- | ArmInsQdsub
- | ArmInsQsax
- | ArmInsQsub
- | ArmInsQsub16
- | ArmInsQsub8
- | ArmInsRbit
- | ArmInsRev
- | ArmInsRev16
- | ArmInsRevsh
- | ArmInsRfeda
- | ArmInsRfedb
- | ArmInsRfeia
- | ArmInsRfeib
- | ArmInsRsb
- | ArmInsRsc
- | ArmInsSadd16
- | ArmInsSadd8
- | ArmInsSasx
- | ArmInsSbc
- | ArmInsSbfx
- | ArmInsSdiv
- | ArmInsSel
- | ArmInsSetend
- | ArmInsSha1c
- | ArmInsSha1h
- | ArmInsSha1m
- | ArmInsSha1p
- | ArmInsSha1su0
- | ArmInsSha1su1
- | ArmInsSha256h
- | ArmInsSha256h2
- | ArmInsSha256su0
- | ArmInsSha256su1
- | ArmInsShadd16
- | ArmInsShadd8
- | ArmInsShasx
- | ArmInsShsax
- | ArmInsShsub16
- | ArmInsShsub8
- | ArmInsSmc
- | ArmInsSmlabb
- | ArmInsSmlabt
- | ArmInsSmlad
- | ArmInsSmladx
- | ArmInsSmlal
- | ArmInsSmlalbb
- | ArmInsSmlalbt
- | ArmInsSmlald
- | ArmInsSmlaldx
- | ArmInsSmlaltb
- | ArmInsSmlaltt
- | ArmInsSmlatb
- | ArmInsSmlatt
- | ArmInsSmlawb
- | ArmInsSmlawt
- | ArmInsSmlsd
- | ArmInsSmlsdx
- | ArmInsSmlsld
- | ArmInsSmlsldx
- | ArmInsSmmla
- | ArmInsSmmlar
- | ArmInsSmmls
- | ArmInsSmmlsr
- | ArmInsSmmul
- | ArmInsSmmulr
- | ArmInsSmuad
- | ArmInsSmuadx
- | ArmInsSmulbb
- | ArmInsSmulbt
- | ArmInsSmull
- | ArmInsSmultb
- | ArmInsSmultt
- | ArmInsSmulwb
- | ArmInsSmulwt
- | ArmInsSmusd
- | ArmInsSmusdx
- | ArmInsSrsda
- | ArmInsSrsdb
- | ArmInsSrsia
- | ArmInsSrsib
- | ArmInsSsat
- | ArmInsSsat16
- | ArmInsSsax
- | ArmInsSsub16
- | ArmInsSsub8
- | ArmInsStc2l
- | ArmInsStc2
- | ArmInsStcl
- | ArmInsStc
- | ArmInsStl
- | ArmInsStlb
- | ArmInsStlex
- | ArmInsStlexb
- | ArmInsStlexd
- | ArmInsStlexh
- | ArmInsStlh
- | ArmInsStmda
- | ArmInsStmdb
- | ArmInsStm
- | ArmInsStmib
- | ArmInsStrbt
- | ArmInsStrb
- | ArmInsStrd
- | ArmInsStrex
- | ArmInsStrexb
- | ArmInsStrexd
- | ArmInsStrexh
- | ArmInsStrh
- | ArmInsStrht
- | ArmInsStrt
- | ArmInsStr
- | ArmInsSub
- | ArmInsSvc
- | ArmInsSwp
- | ArmInsSwpb
- | ArmInsSxtab
- | ArmInsSxtab16
- | ArmInsSxtah
- | ArmInsSxtb
- | ArmInsSxtb16
- | ArmInsSxth
- | ArmInsTeq
- | ArmInsTrap
- | ArmInsTst
- | ArmInsUadd16
- | ArmInsUadd8
- | ArmInsUasx
- | ArmInsUbfx
- | ArmInsUdf
- | ArmInsUdiv
- | ArmInsUhadd16
- | ArmInsUhadd8
- | ArmInsUhasx
- | ArmInsUhsax
- | ArmInsUhsub16
- | ArmInsUhsub8
- | ArmInsUmaal
- | ArmInsUmlal
- | ArmInsUmull
- | ArmInsUqadd16
- | ArmInsUqadd8
- | ArmInsUqasx
- | ArmInsUqsax
- | ArmInsUqsub16
- | ArmInsUqsub8
- | ArmInsUsad8
- | ArmInsUsada8
- | ArmInsUsat
- | ArmInsUsat16
- | ArmInsUsax
- | ArmInsUsub16
- | ArmInsUsub8
- | ArmInsUxtab
- | ArmInsUxtab16
- | ArmInsUxtah
- | ArmInsUxtb
- | ArmInsUxtb16
- | ArmInsUxth
- | ArmInsVabal
- | ArmInsVaba
- | ArmInsVabdl
- | ArmInsVabd
- | ArmInsVabs
- | ArmInsVacge
- | ArmInsVacgt
- | ArmInsVadd
- | ArmInsVaddhn
- | ArmInsVaddl
- | ArmInsVaddw
- | ArmInsVand
- | ArmInsVbic
- | ArmInsVbif
- | ArmInsVbit
- | ArmInsVbsl
- | ArmInsVceq
- | ArmInsVcge
- | ArmInsVcgt
- | ArmInsVcle
- | ArmInsVcls
- | ArmInsVclt
- | ArmInsVclz
- | ArmInsVcmp
- | ArmInsVcmpe
- | ArmInsVcnt
- | ArmInsVcvta
- | ArmInsVcvtb
- | ArmInsVcvt
- | ArmInsVcvtm
- | ArmInsVcvtn
- | ArmInsVcvtp
- | ArmInsVcvtt
- | ArmInsVdiv
- | ArmInsVdup
- | ArmInsVeor
- | ArmInsVext
- | ArmInsVfma
- | ArmInsVfms
- | ArmInsVfnma
- | ArmInsVfnms
- | ArmInsVhadd
- | ArmInsVhsub
- | ArmInsVld1
- | ArmInsVld2
- | ArmInsVld3
- | ArmInsVld4
- | ArmInsVldmdb
- | ArmInsVldmia
- | ArmInsVldr
- | ArmInsVmaxnm
- | ArmInsVmax
- | ArmInsVminnm
- | ArmInsVmin
- | ArmInsVmla
- | ArmInsVmlal
- | ArmInsVmls
- | ArmInsVmlsl
- | ArmInsVmovl
- | ArmInsVmovn
- | ArmInsVmsr
- | ArmInsVmul
- | ArmInsVmull
- | ArmInsVmvn
- | ArmInsVneg
- | ArmInsVnmla
- | ArmInsVnmls
- | ArmInsVnmul
- | ArmInsVorn
- | ArmInsVorr
- | ArmInsVpadal
- | ArmInsVpaddl
- | ArmInsVpadd
- | ArmInsVpmax
- | ArmInsVpmin
- | ArmInsVqabs
- | ArmInsVqadd
- | ArmInsVqdmlal
- | ArmInsVqdmlsl
- | ArmInsVqdmulh
- | ArmInsVqdmull
- | ArmInsVqmovun
- | ArmInsVqmovn
- | ArmInsVqneg
- | ArmInsVqrdmulh
- | ArmInsVqrshl
- | ArmInsVqrshrn
- | ArmInsVqrshrun
- | ArmInsVqshl
- | ArmInsVqshlu
- | ArmInsVqshrn
- | ArmInsVqshrun
- | ArmInsVqsub
- | ArmInsVraddhn
- | ArmInsVrecpe
- | ArmInsVrecps
- | ArmInsVrev16
- | ArmInsVrev32
- | ArmInsVrev64
- | ArmInsVrhadd
- | ArmInsVrinta
- | ArmInsVrintm
- | ArmInsVrintn
- | ArmInsVrintp
- | ArmInsVrintr
- | ArmInsVrintx
- | ArmInsVrintz
- | ArmInsVrshl
- | ArmInsVrshrn
- | ArmInsVrshr
- | ArmInsVrsqrte
- | ArmInsVrsqrts
- | ArmInsVrsra
- | ArmInsVrsubhn
- | ArmInsVseleq
- | ArmInsVselge
- | ArmInsVselgt
- | ArmInsVselvs
- | ArmInsVshll
- | ArmInsVshl
- | ArmInsVshrn
- | ArmInsVshr
- | ArmInsVsli
- | ArmInsVsqrt
- | ArmInsVsra
- | ArmInsVsri
- | ArmInsVst1
- | ArmInsVst2
- | ArmInsVst3
- | ArmInsVst4
- | ArmInsVstmdb
- | ArmInsVstmia
- | ArmInsVstr
- | ArmInsVsub
- | ArmInsVsubhn
- | ArmInsVsubl
- | ArmInsVsubw
- | ArmInsVswp
- | ArmInsVtbl
- | ArmInsVtbx
- | ArmInsVcvtr
- | ArmInsVtrn
- | ArmInsVtst
- | ArmInsVuzp
- | ArmInsVzip
- | ArmInsAddw
- | ArmInsAsr
- | ArmInsDcps1
- | ArmInsDcps2
- | ArmInsDcps3
- | ArmInsIt
- | ArmInsLsl
- | ArmInsLsr
- | ArmInsOrn
- | ArmInsRor
- | ArmInsRrx
- | ArmInsSubw
- | ArmInsTbb
- | ArmInsTbh
- | ArmInsCbnz
- | ArmInsCbz
- | ArmInsPop
- | ArmInsPush
- | ArmInsNop
- | ArmInsYield
- | ArmInsWfe
- | ArmInsWfi
- | ArmInsSev
- | ArmInsSevl
- | ArmInsVpush
- | ArmInsVpop
- | ArmInsEnding
- data ArmInsnGroup
- = ArmGrpInvalid
- | ArmGrpJump
- | ArmGrpCall
- | ArmGrpInt
- | ArmGrpPrivilege
- | ArmGrpBranchRelative
- | ArmGrpCrypto
- | ArmGrpDatabarrier
- | ArmGrpDivide
- | ArmGrpFparmv8
- | ArmGrpMultpro
- | ArmGrpNeon
- | ArmGrpT2extractpack
- | ArmGrpThumb2dsp
- | ArmGrpTrustzone
- | ArmGrpV4t
- | ArmGrpV5t
- | ArmGrpV5te
- | ArmGrpV6
- | ArmGrpV6t2
- | ArmGrpV7
- | ArmGrpV8
- | ArmGrpVfp2
- | ArmGrpVfp3
- | ArmGrpVfp4
- | ArmGrpArm
- | ArmGrpMclass
- | ArmGrpNotmclass
- | ArmGrpThumb
- | ArmGrpThumb1only
- | ArmGrpThumb2
- | ArmGrpPrev8
- | ArmGrpFpvmlx
- | ArmGrpMulops
- | ArmGrpCrc
- | ArmGrpDpvfp
- | ArmGrpV6m
- | ArmGrpVirtualization
- | ArmGrpEnding
Documentation
data ArmShifter Source #
ARM shift type
Constructors
| ArmSftInvalid | |
| ArmSftAsr | |
| ArmSftLsl | |
| ArmSftLsr | |
| ArmSftRor | |
| ArmSftRrx | |
| ArmSftAsrReg | |
| ArmSftLslReg | |
| ArmSftLsrReg | |
| ArmSftRorReg | |
| ArmSftRrxReg |
Instances
| Bounded ArmShifter Source # | |
Defined in Hapstone.Internal.Arm | |
| Enum ArmShifter Source # | |
Defined in Hapstone.Internal.Arm Methods succ :: ArmShifter -> ArmShifter # pred :: ArmShifter -> ArmShifter # toEnum :: Int -> ArmShifter # fromEnum :: ArmShifter -> Int # enumFrom :: ArmShifter -> [ArmShifter] # enumFromThen :: ArmShifter -> ArmShifter -> [ArmShifter] # enumFromTo :: ArmShifter -> ArmShifter -> [ArmShifter] # enumFromThenTo :: ArmShifter -> ArmShifter -> ArmShifter -> [ArmShifter] # | |
| Eq ArmShifter Source # | |
Defined in Hapstone.Internal.Arm | |
| Show ArmShifter Source # | |
Defined in Hapstone.Internal.Arm Methods showsPrec :: Int -> ArmShifter -> ShowS # show :: ArmShifter -> String # showList :: [ArmShifter] -> ShowS # | |
data ArmConditionCode Source #
ARM condition code
Constructors
| ArmCcInvalid | |
| ArmCcEq | |
| ArmCcNe | |
| ArmCcHs | |
| ArmCcLo | |
| ArmCcMi | |
| ArmCcPl | |
| ArmCcVs | |
| ArmCcVc | |
| ArmCcHi | |
| ArmCcLs | |
| ArmCcGe | |
| ArmCcLt | |
| ArmCcGt | |
| ArmCcLe | |
| ArmCcAl |
Instances
| Bounded ArmConditionCode Source # | |
Defined in Hapstone.Internal.Arm | |
| Enum ArmConditionCode Source # | |
Defined in Hapstone.Internal.Arm Methods succ :: ArmConditionCode -> ArmConditionCode # pred :: ArmConditionCode -> ArmConditionCode # toEnum :: Int -> ArmConditionCode # fromEnum :: ArmConditionCode -> Int # enumFrom :: ArmConditionCode -> [ArmConditionCode] # enumFromThen :: ArmConditionCode -> ArmConditionCode -> [ArmConditionCode] # enumFromTo :: ArmConditionCode -> ArmConditionCode -> [ArmConditionCode] # enumFromThenTo :: ArmConditionCode -> ArmConditionCode -> ArmConditionCode -> [ArmConditionCode] # | |
| Eq ArmConditionCode Source # | |
Defined in Hapstone.Internal.Arm Methods (==) :: ArmConditionCode -> ArmConditionCode -> Bool # (/=) :: ArmConditionCode -> ArmConditionCode -> Bool # | |
| Show ArmConditionCode Source # | |
Defined in Hapstone.Internal.Arm Methods showsPrec :: Int -> ArmConditionCode -> ShowS # show :: ArmConditionCode -> String # showList :: [ArmConditionCode] -> ShowS # | |
system registers
Constructors
Instances
| Bounded ArmSysreg Source # | |
| Enum ArmSysreg Source # | |
Defined in Hapstone.Internal.Arm Methods succ :: ArmSysreg -> ArmSysreg # pred :: ArmSysreg -> ArmSysreg # fromEnum :: ArmSysreg -> Int # enumFrom :: ArmSysreg -> [ArmSysreg] # enumFromThen :: ArmSysreg -> ArmSysreg -> [ArmSysreg] # enumFromTo :: ArmSysreg -> ArmSysreg -> [ArmSysreg] # enumFromThenTo :: ArmSysreg -> ArmSysreg -> ArmSysreg -> [ArmSysreg] # | |
| Eq ArmSysreg Source # | |
| Show ArmSysreg Source # | |
data ArmMemBarrier Source #
memory barrier operands (map directly to the 4-bit encoding of the option field for Memory Barrier operations, when given as an integer)
Constructors
| ArmMbInvalid | |
| ArmMbReserved0 | |
| ArmMbOshld | |
| ArmMbOshst | |
| ArmMbOsh | |
| ArmMbReserved4 | |
| ArmMbNshld | |
| ArmMbNshst | |
| ArmMbNsh | |
| ArmMbReserved8 | |
| ArmMbIshld | |
| ArmMbIshst | |
| ArmMbIsh | |
| ArmMbReserved12 | |
| ArmMbLd | |
| ArmMbSt | |
| ArmMbSy |
Instances
| Bounded ArmMemBarrier Source # | |
Defined in Hapstone.Internal.Arm | |
| Enum ArmMemBarrier Source # | |
Defined in Hapstone.Internal.Arm Methods succ :: ArmMemBarrier -> ArmMemBarrier # pred :: ArmMemBarrier -> ArmMemBarrier # toEnum :: Int -> ArmMemBarrier # fromEnum :: ArmMemBarrier -> Int # enumFrom :: ArmMemBarrier -> [ArmMemBarrier] # enumFromThen :: ArmMemBarrier -> ArmMemBarrier -> [ArmMemBarrier] # enumFromTo :: ArmMemBarrier -> ArmMemBarrier -> [ArmMemBarrier] # enumFromThenTo :: ArmMemBarrier -> ArmMemBarrier -> ArmMemBarrier -> [ArmMemBarrier] # | |
| Eq ArmMemBarrier Source # | |
Defined in Hapstone.Internal.Arm Methods (==) :: ArmMemBarrier -> ArmMemBarrier -> Bool # (/=) :: ArmMemBarrier -> ArmMemBarrier -> Bool # | |
| Show ArmMemBarrier Source # | |
Defined in Hapstone.Internal.Arm Methods showsPrec :: Int -> ArmMemBarrier -> ShowS # show :: ArmMemBarrier -> String # showList :: [ArmMemBarrier] -> ShowS # | |
operand type for instruction's operands
Constructors
| ArmOpInvalid | |
| ArmOpReg | |
| ArmOpImm | |
| ArmOpMem | |
| ArmOpFp | |
| ArmOpCimm | |
| ArmOpPimm | |
| ArmOpSetend | |
| ArmOpSysreg |
Instances
| Bounded ArmOpType Source # | |
| Enum ArmOpType Source # | |
Defined in Hapstone.Internal.Arm Methods succ :: ArmOpType -> ArmOpType # pred :: ArmOpType -> ArmOpType # fromEnum :: ArmOpType -> Int # enumFrom :: ArmOpType -> [ArmOpType] # enumFromThen :: ArmOpType -> ArmOpType -> [ArmOpType] # enumFromTo :: ArmOpType -> ArmOpType -> [ArmOpType] # enumFromThenTo :: ArmOpType -> ArmOpType -> ArmOpType -> [ArmOpType] # | |
| Eq ArmOpType Source # | |
| Show ArmOpType Source # | |
data ArmSetendType Source #
operand type for SETEND instruction
Constructors
| ArmSetendInvalid | |
| ArmSetendBe | |
| ArmSetendLe |
Instances
| Bounded ArmSetendType Source # | |
Defined in Hapstone.Internal.Arm | |
| Enum ArmSetendType Source # | operand type for SETEND instruction |
Defined in Hapstone.Internal.Arm Methods succ :: ArmSetendType -> ArmSetendType # pred :: ArmSetendType -> ArmSetendType # toEnum :: Int -> ArmSetendType # fromEnum :: ArmSetendType -> Int # enumFrom :: ArmSetendType -> [ArmSetendType] # enumFromThen :: ArmSetendType -> ArmSetendType -> [ArmSetendType] # enumFromTo :: ArmSetendType -> ArmSetendType -> [ArmSetendType] # enumFromThenTo :: ArmSetendType -> ArmSetendType -> ArmSetendType -> [ArmSetendType] # | |
| Eq ArmSetendType Source # | |
Defined in Hapstone.Internal.Arm Methods (==) :: ArmSetendType -> ArmSetendType -> Bool # (/=) :: ArmSetendType -> ArmSetendType -> Bool # | |
| Show ArmSetendType Source # | |
Defined in Hapstone.Internal.Arm Methods showsPrec :: Int -> ArmSetendType -> ShowS # show :: ArmSetendType -> String # showList :: [ArmSetendType] -> ShowS # | |
data ArmCpsmodeType Source #
Constructors
| ArmCpsmodeInvalid | |
| ArmCpsmodeIe | |
| ArmCpsmodeId |
Instances
| Bounded ArmCpsmodeType Source # | |
Defined in Hapstone.Internal.Arm | |
| Enum ArmCpsmodeType Source # | |
Defined in Hapstone.Internal.Arm Methods succ :: ArmCpsmodeType -> ArmCpsmodeType # pred :: ArmCpsmodeType -> ArmCpsmodeType # toEnum :: Int -> ArmCpsmodeType # fromEnum :: ArmCpsmodeType -> Int # enumFrom :: ArmCpsmodeType -> [ArmCpsmodeType] # enumFromThen :: ArmCpsmodeType -> ArmCpsmodeType -> [ArmCpsmodeType] # enumFromTo :: ArmCpsmodeType -> ArmCpsmodeType -> [ArmCpsmodeType] # enumFromThenTo :: ArmCpsmodeType -> ArmCpsmodeType -> ArmCpsmodeType -> [ArmCpsmodeType] # | |
| Eq ArmCpsmodeType Source # | |
Defined in Hapstone.Internal.Arm Methods (==) :: ArmCpsmodeType -> ArmCpsmodeType -> Bool # (/=) :: ArmCpsmodeType -> ArmCpsmodeType -> Bool # | |
| Show ArmCpsmodeType Source # | |
Defined in Hapstone.Internal.Arm Methods showsPrec :: Int -> ArmCpsmodeType -> ShowS # show :: ArmCpsmodeType -> String # showList :: [ArmCpsmodeType] -> ShowS # | |
data ArmCpsflagType Source #
Constructors
| ArmCpsflagInvalid | |
| ArmCpsflagF | |
| ArmCpsflagI | |
| ArmCpsflagA | |
| ArmCpsflagNone |
Instances
| Bounded ArmCpsflagType Source # | |
Defined in Hapstone.Internal.Arm | |
| Enum ArmCpsflagType Source # | ARM registers |
Defined in Hapstone.Internal.Arm Methods succ :: ArmCpsflagType -> ArmCpsflagType # pred :: ArmCpsflagType -> ArmCpsflagType # toEnum :: Int -> ArmCpsflagType # fromEnum :: ArmCpsflagType -> Int # enumFrom :: ArmCpsflagType -> [ArmCpsflagType] # enumFromThen :: ArmCpsflagType -> ArmCpsflagType -> [ArmCpsflagType] # enumFromTo :: ArmCpsflagType -> ArmCpsflagType -> [ArmCpsflagType] # enumFromThenTo :: ArmCpsflagType -> ArmCpsflagType -> ArmCpsflagType -> [ArmCpsflagType] # | |
| Eq ArmCpsflagType Source # | |
Defined in Hapstone.Internal.Arm Methods (==) :: ArmCpsflagType -> ArmCpsflagType -> Bool # (/=) :: ArmCpsflagType -> ArmCpsflagType -> Bool # | |
| Show ArmCpsflagType Source # | |
Defined in Hapstone.Internal.Arm Methods showsPrec :: Int -> ArmCpsflagType -> ShowS # show :: ArmCpsflagType -> String # showList :: [ArmCpsflagType] -> ShowS # | |
data ArmVectordataType Source #
data type for elements of vector instructions
Constructors
Instances
Constructors
data ArmOpMemStruct Source #
memory access operands
associated with ArmOpMem operand type
Constructors
| ArmOpMemStruct | |
Instances
| Eq ArmOpMemStruct Source # | |
Defined in Hapstone.Internal.Arm Methods (==) :: ArmOpMemStruct -> ArmOpMemStruct -> Bool # (/=) :: ArmOpMemStruct -> ArmOpMemStruct -> Bool # | |
| Show ArmOpMemStruct Source # | |
Defined in Hapstone.Internal.Arm Methods showsPrec :: Int -> ArmOpMemStruct -> ShowS # show :: ArmOpMemStruct -> String # showList :: [ArmOpMemStruct] -> ShowS # | |
| Storable ArmOpMemStruct Source # | |
Defined in Hapstone.Internal.Arm Methods sizeOf :: ArmOpMemStruct -> Int # alignment :: ArmOpMemStruct -> Int # peekElemOff :: Ptr ArmOpMemStruct -> Int -> IO ArmOpMemStruct # pokeElemOff :: Ptr ArmOpMemStruct -> Int -> ArmOpMemStruct -> IO () # peekByteOff :: Ptr b -> Int -> IO ArmOpMemStruct # pokeByteOff :: Ptr b -> Int -> ArmOpMemStruct -> IO () # peek :: Ptr ArmOpMemStruct -> IO ArmOpMemStruct # poke :: Ptr ArmOpMemStruct -> ArmOpMemStruct -> IO () # | |
data CsArmOpValue Source #
possible operand types (corresponding to the tagged union in the C header)
Constructors
| Reg Word32 | register value for |
| Sysreg Word32 | register value for |
| Imm Int32 | immediate value for |
| Cimm Int32 | immediate value for |
| Pimm Int32 | immediate value for |
| Fp Double | floating point value for |
| Mem ArmOpMemStruct | base,index,scale,disp value for
|
| Setend ArmSetendType | SETEND instruction's operand type |
| Undefined | invalid operand value, for |
Instances
| Eq CsArmOpValue Source # | |
Defined in Hapstone.Internal.Arm | |
| Show CsArmOpValue Source # | |
Defined in Hapstone.Internal.Arm Methods showsPrec :: Int -> CsArmOpValue -> ShowS # show :: CsArmOpValue -> String # showList :: [CsArmOpValue] -> ShowS # | |
instruction operands
Constructors
| CsArmOp | |
Fields
| |
Instances
| Eq CsArmOp Source # | |
| Show CsArmOp Source # | |
| Storable CsArmOp Source # | |
instruction datatype
Constructors
| CsArm | |
Fields
| |
Instances
| Eq CsArm Source # | |
| Show CsArm Source # | |
| Storable CsArm Source # | |
ARM instructions
Constructors
Instances
| Bounded ArmInsn Source # | |
| Enum ArmInsn Source # | |
| Eq ArmInsn Source # | |
| Show ArmInsn Source # | |
data ArmInsnGroup Source #
ARM instruction groups
Constructors
Instances
| Bounded ArmInsnGroup Source # | |
Defined in Hapstone.Internal.Arm | |
| Enum ArmInsnGroup Source # | |
Defined in Hapstone.Internal.Arm Methods succ :: ArmInsnGroup -> ArmInsnGroup # pred :: ArmInsnGroup -> ArmInsnGroup # toEnum :: Int -> ArmInsnGroup # fromEnum :: ArmInsnGroup -> Int # enumFrom :: ArmInsnGroup -> [ArmInsnGroup] # enumFromThen :: ArmInsnGroup -> ArmInsnGroup -> [ArmInsnGroup] # enumFromTo :: ArmInsnGroup -> ArmInsnGroup -> [ArmInsnGroup] # enumFromThenTo :: ArmInsnGroup -> ArmInsnGroup -> ArmInsnGroup -> [ArmInsnGroup] # | |
| Eq ArmInsnGroup Source # | |
Defined in Hapstone.Internal.Arm | |
| Show ArmInsnGroup Source # | |
Defined in Hapstone.Internal.Arm Methods showsPrec :: Int -> ArmInsnGroup -> ShowS # show :: ArmInsnGroup -> String # showList :: [ArmInsnGroup] -> ShowS # | |