| Copyright | (c) Inokentiy Babushkin 2016 |
|---|---|
| License | BSD3 |
| Maintainer | Inokentiy Babushkin <inokentiy.babushkin@googlemail.com> |
| Stability | experimental |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Hapstone.Internal.Sparc
Description
This module contains SPARC 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 SparcCc
- = SparcCcInvalid
- | SparcCcIccN
- | SparcCcIccE
- | SparcCcIccLe
- | SparcCcIccL
- | SparcCcIccLeu
- | SparcCcIccCs
- | SparcCcIccNeg
- | SparcCcIccVs
- | SparcCcIccA
- | SparcCcIccNe
- | SparcCcIccG
- | SparcCcIccGe
- | SparcCcIccGu
- | SparcCcIccCc
- | SparcCcIccPos
- | SparcCcIccVc
- | SparcCcFccN
- | SparcCcFccNe
- | SparcCcFccLg
- | SparcCcFccUl
- | SparcCcFccL
- | SparcCcFccUg
- | SparcCcFccG
- | SparcCcFccU
- | SparcCcFccA
- | SparcCcFccE
- | SparcCcFccUe
- | SparcCcFccGe
- | SparcCcFccUge
- | SparcCcFccLe
- | SparcCcFccUle
- | SparcCcFccO
- data SparcHint
- data SparcOpType
- data SparcReg
- = SparcRegInvalid
- | SparcRegF0
- | SparcRegF1
- | SparcRegF2
- | SparcRegF3
- | SparcRegF4
- | SparcRegF5
- | SparcRegF6
- | SparcRegF7
- | SparcRegF8
- | SparcRegF9
- | SparcRegF10
- | SparcRegF11
- | SparcRegF12
- | SparcRegF13
- | SparcRegF14
- | SparcRegF15
- | SparcRegF16
- | SparcRegF17
- | SparcRegF18
- | SparcRegF19
- | SparcRegF20
- | SparcRegF21
- | SparcRegF22
- | SparcRegF23
- | SparcRegF24
- | SparcRegF25
- | SparcRegF26
- | SparcRegF27
- | SparcRegF28
- | SparcRegF29
- | SparcRegF30
- | SparcRegF31
- | SparcRegF32
- | SparcRegF34
- | SparcRegF36
- | SparcRegF38
- | SparcRegF40
- | SparcRegF42
- | SparcRegF44
- | SparcRegF46
- | SparcRegF48
- | SparcRegF50
- | SparcRegF52
- | SparcRegF54
- | SparcRegF56
- | SparcRegF58
- | SparcRegF60
- | SparcRegF62
- | SparcRegFcc0
- | SparcRegFcc1
- | SparcRegFcc2
- | SparcRegFcc3
- | SparcRegFp
- | SparcRegI6
- | SparcRegG0
- | SparcRegG1
- | SparcRegG2
- | SparcRegG3
- | SparcRegG4
- | SparcRegG5
- | SparcRegG6
- | SparcRegG7
- | SparcRegI0
- | SparcRegI1
- | SparcRegI2
- | SparcRegI3
- | SparcRegI4
- | SparcRegI5
- | SparcRegI7
- | SparcRegIcc
- | SparcRegL0
- | SparcRegL1
- | SparcRegL2
- | SparcRegL3
- | SparcRegL4
- | SparcRegL5
- | SparcRegL6
- | SparcRegL7
- | SparcRegO0
- | SparcRegO1
- | SparcRegO2
- | SparcRegO3
- | SparcRegO4
- | SparcRegO5
- | SparcRegO7
- | SparcRegSp
- | SparcRegO6
- | SparcRegY
- | SparcRegXcc
- | SparcRegEnding
- data SparcOpMemStruct = SparcOpMemStruct {}
- data CsSparcOp
- data CsSparc = CsSparc {}
- data SparcInsn
- = SparcInsInvalid
- | SparcInsAddcc
- | SparcInsAddx
- | SparcInsAddxcc
- | SparcInsAddxc
- | SparcInsAddxccc
- | SparcInsAdd
- | SparcInsAlignaddr
- | SparcInsAlignaddrl
- | SparcInsAndcc
- | SparcInsAndncc
- | SparcInsAndn
- | SparcInsAnd
- | SparcInsArray16
- | SparcInsArray32
- | SparcInsArray8
- | SparcInsB
- | SparcInsJmp
- | SparcInsBmask
- | SparcInsFb
- | SparcInsBrgez
- | SparcInsBrgz
- | SparcInsBrlez
- | SparcInsBrlz
- | SparcInsBrnz
- | SparcInsBrz
- | SparcInsBshuffle
- | SparcInsCall
- | SparcInsCasx
- | SparcInsCas
- | SparcInsCmask16
- | SparcInsCmask32
- | SparcInsCmask8
- | SparcInsCmp
- | SparcInsEdge16
- | SparcInsEdge16l
- | SparcInsEdge16ln
- | SparcInsEdge16n
- | SparcInsEdge32
- | SparcInsEdge32l
- | SparcInsEdge32ln
- | SparcInsEdge32n
- | SparcInsEdge8
- | SparcInsEdge8l
- | SparcInsEdge8ln
- | SparcInsEdge8n
- | SparcInsFabsd
- | SparcInsFabsq
- | SparcInsFabss
- | SparcInsFaddd
- | SparcInsFaddq
- | SparcInsFadds
- | SparcInsFaligndata
- | SparcInsFand
- | SparcInsFandnot1
- | SparcInsFandnot1s
- | SparcInsFandnot2
- | SparcInsFandnot2s
- | SparcInsFands
- | SparcInsFchksm16
- | SparcInsFcmpd
- | SparcInsFcmpeq16
- | SparcInsFcmpeq32
- | SparcInsFcmpgt16
- | SparcInsFcmpgt32
- | SparcInsFcmple16
- | SparcInsFcmple32
- | SparcInsFcmpne16
- | SparcInsFcmpne32
- | SparcInsFcmpq
- | SparcInsFcmps
- | SparcInsFdivd
- | SparcInsFdivq
- | SparcInsFdivs
- | SparcInsFdmulq
- | SparcInsFdtoi
- | SparcInsFdtoq
- | SparcInsFdtos
- | SparcInsFdtox
- | SparcInsFexpand
- | SparcInsFhaddd
- | SparcInsFhadds
- | SparcInsFhsubd
- | SparcInsFhsubs
- | SparcInsFitod
- | SparcInsFitoq
- | SparcInsFitos
- | SparcInsFlcmpd
- | SparcInsFlcmps
- | SparcInsFlushw
- | SparcInsFmean16
- | SparcInsFmovd
- | SparcInsFmovq
- | SparcInsFmovrdgez
- | SparcInsFmovrqgez
- | SparcInsFmovrsgez
- | SparcInsFmovrdgz
- | SparcInsFmovrqgz
- | SparcInsFmovrsgz
- | SparcInsFmovrdlez
- | SparcInsFmovrqlez
- | SparcInsFmovrslez
- | SparcInsFmovrdlz
- | SparcInsFmovrqlz
- | SparcInsFmovrslz
- | SparcInsFmovrdnz
- | SparcInsFmovrqnz
- | SparcInsFmovrsnz
- | SparcInsFmovrdz
- | SparcInsFmovrqz
- | SparcInsFmovrsz
- | SparcInsFmovs
- | SparcInsFmul8sux16
- | SparcInsFmul8ulx16
- | SparcInsFmul8x16
- | SparcInsFmul8x16al
- | SparcInsFmul8x16au
- | SparcInsFmuld
- | SparcInsFmuld8sux16
- | SparcInsFmuld8ulx16
- | SparcInsFmulq
- | SparcInsFmuls
- | SparcInsFnaddd
- | SparcInsFnadds
- | SparcInsFnand
- | SparcInsFnands
- | SparcInsFnegd
- | SparcInsFnegq
- | SparcInsFnegs
- | SparcInsFnhaddd
- | SparcInsFnhadds
- | SparcInsFnor
- | SparcInsFnors
- | SparcInsFnot1
- | SparcInsFnot1s
- | SparcInsFnot2
- | SparcInsFnot2s
- | SparcInsFone
- | SparcInsFones
- | SparcInsFor
- | SparcInsFornot1
- | SparcInsFornot1s
- | SparcInsFornot2
- | SparcInsFornot2s
- | SparcInsFors
- | SparcInsFpack16
- | SparcInsFpack32
- | SparcInsFpackfix
- | SparcInsFpadd16
- | SparcInsFpadd16s
- | SparcInsFpadd32
- | SparcInsFpadd32s
- | SparcInsFpadd64
- | SparcInsFpmerge
- | SparcInsFpsub16
- | SparcInsFpsub16s
- | SparcInsFpsub32
- | SparcInsFpsub32s
- | SparcInsFqtod
- | SparcInsFqtoi
- | SparcInsFqtos
- | SparcInsFqtox
- | SparcInsFslas16
- | SparcInsFslas32
- | SparcInsFsll16
- | SparcInsFsll32
- | SparcInsFsmuld
- | SparcInsFsqrtd
- | SparcInsFsqrtq
- | SparcInsFsqrts
- | SparcInsFsra16
- | SparcInsFsra32
- | SparcInsFsrc1
- | SparcInsFsrc1s
- | SparcInsFsrc2
- | SparcInsFsrc2s
- | SparcInsFsrl16
- | SparcInsFsrl32
- | SparcInsFstod
- | SparcInsFstoi
- | SparcInsFstoq
- | SparcInsFstox
- | SparcInsFsubd
- | SparcInsFsubq
- | SparcInsFsubs
- | SparcInsFxnor
- | SparcInsFxnors
- | SparcInsFxor
- | SparcInsFxors
- | SparcInsFxtod
- | SparcInsFxtoq
- | SparcInsFxtos
- | SparcInsFzero
- | SparcInsFzeros
- | SparcInsJmpl
- | SparcInsLdd
- | SparcInsLd
- | SparcInsLdq
- | SparcInsLdsb
- | SparcInsLdsh
- | SparcInsLdsw
- | SparcInsLdub
- | SparcInsLduh
- | SparcInsLdx
- | SparcInsLzcnt
- | SparcInsMembar
- | SparcInsMovdtox
- | SparcInsMov
- | SparcInsMovrgez
- | SparcInsMovrgz
- | SparcInsMovrlez
- | SparcInsMovrlz
- | SparcInsMovrnz
- | SparcInsMovrz
- | SparcInsMovstosw
- | SparcInsMovstouw
- | SparcInsMulx
- | SparcInsNop
- | SparcInsOrcc
- | SparcInsOrncc
- | SparcInsOrn
- | SparcInsOr
- | SparcInsPdist
- | SparcInsPdistn
- | SparcInsPopc
- | SparcInsRd
- | SparcInsRestore
- | SparcInsRett
- | SparcInsSave
- | SparcInsSdivcc
- | SparcInsSdivx
- | SparcInsSdiv
- | SparcInsSethi
- | SparcInsShutdown
- | SparcInsSiam
- | SparcInsSllx
- | SparcInsSll
- | SparcInsSmulcc
- | SparcInsSmul
- | SparcInsSrax
- | SparcInsSra
- | SparcInsSrlx
- | SparcInsSrl
- | SparcInsStbar
- | SparcInsStb
- | SparcInsStd
- | SparcInsSt
- | SparcInsSth
- | SparcInsStq
- | SparcInsStx
- | SparcInsSubcc
- | SparcInsSubx
- | SparcInsSubxcc
- | SparcInsSub
- | SparcInsSwap
- | SparcInsTaddcctv
- | SparcInsTaddcc
- | SparcInsT
- | SparcInsTsubcctv
- | SparcInsTsubcc
- | SparcInsUdivcc
- | SparcInsUdivx
- | SparcInsUdiv
- | SparcInsUmulcc
- | SparcInsUmulxhi
- | SparcInsUmul
- | SparcInsUnimp
- | SparcInsFcmped
- | SparcInsFcmpeq
- | SparcInsFcmpes
- | SparcInsWr
- | SparcInsXmulx
- | SparcInsXmulxhi
- | SparcInsXnorcc
- | SparcInsXnor
- | SparcInsXorcc
- | SparcInsXor
- | SparcInsRet
- | SparcInsRetl
- | SparcInsEnding
- data SparcInsnGroup
Documentation
SPARC condition codes
Constructors
Instances
| Bounded SparcCc Source # | |
| Enum SparcCc Source # | instruction operand |
| Eq SparcCc Source # | |
| Show SparcCc Source # | |
SPARC branch hint
Constructors
| SparcHintInvalid | |
| SparcHintA | |
| SparcHintPt | |
| SparcHintPn |
Instances
| Bounded SparcHint Source # | |
| Enum SparcHint Source # | |
Defined in Hapstone.Internal.Sparc Methods succ :: SparcHint -> SparcHint # pred :: SparcHint -> SparcHint # fromEnum :: SparcHint -> Int # enumFrom :: SparcHint -> [SparcHint] # enumFromThen :: SparcHint -> SparcHint -> [SparcHint] # enumFromTo :: SparcHint -> SparcHint -> [SparcHint] # enumFromThenTo :: SparcHint -> SparcHint -> SparcHint -> [SparcHint] # | |
| Eq SparcHint Source # | |
| Show SparcHint Source # | |
data SparcOpType Source #
operand type for instruction's operands
Constructors
| SparcOpInvalid | |
| SparcOpReg | |
| SparcOpImm | |
| SparcOpMem |
Instances
| Bounded SparcOpType Source # | |
Defined in Hapstone.Internal.Sparc | |
| Enum SparcOpType Source # | |
Defined in Hapstone.Internal.Sparc Methods succ :: SparcOpType -> SparcOpType # pred :: SparcOpType -> SparcOpType # toEnum :: Int -> SparcOpType # fromEnum :: SparcOpType -> Int # enumFrom :: SparcOpType -> [SparcOpType] # enumFromThen :: SparcOpType -> SparcOpType -> [SparcOpType] # enumFromTo :: SparcOpType -> SparcOpType -> [SparcOpType] # enumFromThenTo :: SparcOpType -> SparcOpType -> SparcOpType -> [SparcOpType] # | |
| Eq SparcOpType Source # | |
Defined in Hapstone.Internal.Sparc | |
| Show SparcOpType Source # | |
Defined in Hapstone.Internal.Sparc Methods showsPrec :: Int -> SparcOpType -> ShowS # show :: SparcOpType -> String # showList :: [SparcOpType] -> ShowS # | |
SPARC registers
Constructors
Instances
| Bounded SparcReg Source # | |
| Enum SparcReg Source # | |
Defined in Hapstone.Internal.Sparc | |
| Eq SparcReg Source # | |
| Show SparcReg Source # | |
data SparcOpMemStruct Source #
memory access operand
associated with SparcOpMem operand type
Constructors
| SparcOpMemStruct | |
Instances
| Eq SparcOpMemStruct Source # | |
Defined in Hapstone.Internal.Sparc Methods (==) :: SparcOpMemStruct -> SparcOpMemStruct -> Bool # (/=) :: SparcOpMemStruct -> SparcOpMemStruct -> Bool # | |
| Show SparcOpMemStruct Source # | |
Defined in Hapstone.Internal.Sparc Methods showsPrec :: Int -> SparcOpMemStruct -> ShowS # show :: SparcOpMemStruct -> String # showList :: [SparcOpMemStruct] -> ShowS # | |
| Storable SparcOpMemStruct Source # | |
Defined in Hapstone.Internal.Sparc Methods sizeOf :: SparcOpMemStruct -> Int # alignment :: SparcOpMemStruct -> Int # peekElemOff :: Ptr SparcOpMemStruct -> Int -> IO SparcOpMemStruct # pokeElemOff :: Ptr SparcOpMemStruct -> Int -> SparcOpMemStruct -> IO () # peekByteOff :: Ptr b -> Int -> IO SparcOpMemStruct # pokeByteOff :: Ptr b -> Int -> SparcOpMemStruct -> IO () # peek :: Ptr SparcOpMemStruct -> IO SparcOpMemStruct # poke :: Ptr SparcOpMemStruct -> SparcOpMemStruct -> IO () # | |
Constructors
| Reg Word32 | register value for |
| Imm Int32 | immediate value for |
| Mem SparcOpMemStruct | base,index,disp value for |
| Undefined | invalid operand value, for |
Instances
| Eq CsSparcOp Source # | |
| Show CsSparcOp Source # | |
| Storable CsSparcOp Source # | |
Defined in Hapstone.Internal.Sparc | |
instruction datatype
Constructors
| CsSparc | |
Instances
| Eq CsSparc Source # | |
| Show CsSparc Source # | |
| Storable CsSparc Source # | |
SPARC instructions
Constructors
Instances
| Bounded SparcInsn Source # | |
| Enum SparcInsn Source # | |
Defined in Hapstone.Internal.Sparc Methods succ :: SparcInsn -> SparcInsn # pred :: SparcInsn -> SparcInsn # fromEnum :: SparcInsn -> Int # enumFrom :: SparcInsn -> [SparcInsn] # enumFromThen :: SparcInsn -> SparcInsn -> [SparcInsn] # enumFromTo :: SparcInsn -> SparcInsn -> [SparcInsn] # enumFromThenTo :: SparcInsn -> SparcInsn -> SparcInsn -> [SparcInsn] # | |
| Eq SparcInsn Source # | |
| Show SparcInsn Source # | |
data SparcInsnGroup Source #
SPARC instruction groups
Constructors
| SparcGrpInvalid | |
| SparcGrpJump | |
| SparcGrpHardquad | |
| SparcGrpV9 | |
| SparcGrpVis | |
| SparcGrpVis2 | |
| SparcGrpVis3 | |
| SparcGrp32bit | |
| SparcGrp64bit | |
| SparcGrpEnding |
Instances
| Bounded SparcInsnGroup Source # | |
Defined in Hapstone.Internal.Sparc | |
| Enum SparcInsnGroup Source # | |
Defined in Hapstone.Internal.Sparc Methods succ :: SparcInsnGroup -> SparcInsnGroup # pred :: SparcInsnGroup -> SparcInsnGroup # toEnum :: Int -> SparcInsnGroup # fromEnum :: SparcInsnGroup -> Int # enumFrom :: SparcInsnGroup -> [SparcInsnGroup] # enumFromThen :: SparcInsnGroup -> SparcInsnGroup -> [SparcInsnGroup] # enumFromTo :: SparcInsnGroup -> SparcInsnGroup -> [SparcInsnGroup] # enumFromThenTo :: SparcInsnGroup -> SparcInsnGroup -> SparcInsnGroup -> [SparcInsnGroup] # | |
| Eq SparcInsnGroup Source # | |
Defined in Hapstone.Internal.Sparc Methods (==) :: SparcInsnGroup -> SparcInsnGroup -> Bool # (/=) :: SparcInsnGroup -> SparcInsnGroup -> Bool # | |
| Show SparcInsnGroup Source # | |
Defined in Hapstone.Internal.Sparc Methods showsPrec :: Int -> SparcInsnGroup -> ShowS # show :: SparcInsnGroup -> String # showList :: [SparcInsnGroup] -> ShowS # | |