beluga
Safe HaskellNone
LanguageHaskell2010

Binja.Types

Synopsis

Documentation

newtype CSize #

Haskell type representing the C size_t type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CSize Word64 

Instances

Instances details
Bits CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

FiniteBits CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Storable CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

sizeOf :: CSize -> Int #

alignment :: CSize -> Int #

peekElemOff :: Ptr CSize -> Int -> IO CSize #

pokeElemOff :: Ptr CSize -> Int -> CSize -> IO () #

peekByteOff :: Ptr b -> Int -> IO CSize #

pokeByteOff :: Ptr b -> Int -> CSize -> IO () #

peek :: Ptr CSize -> IO CSize #

poke :: Ptr CSize -> CSize -> IO () #

Ix CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Num CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Read CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Integral CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Real CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

toRational :: CSize -> Rational #

Show CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

showsPrec :: Int -> CSize -> ShowS #

show :: CSize -> String #

showList :: [CSize] -> ShowS #

Eq CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

(==) :: CSize -> CSize -> Bool #

(/=) :: CSize -> CSize -> Bool #

Ord CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

compare :: CSize -> CSize -> Ordering #

(<) :: CSize -> CSize -> Bool #

(<=) :: CSize -> CSize -> Bool #

(>) :: CSize -> CSize -> Bool #

(>=) :: CSize -> CSize -> Bool #

max :: CSize -> CSize -> CSize #

min :: CSize -> CSize -> CSize #

newtype CBool #

Haskell type representing the C bool type. (The concrete types of Foreign.C.Types are platform-specific.)

Since: base-4.10.0.0

Constructors

CBool Word8 

Instances

Instances details
Bits CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

FiniteBits CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Storable CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

sizeOf :: CBool -> Int #

alignment :: CBool -> Int #

peekElemOff :: Ptr CBool -> Int -> IO CBool #

pokeElemOff :: Ptr CBool -> Int -> CBool -> IO () #

peekByteOff :: Ptr b -> Int -> IO CBool #

pokeByteOff :: Ptr b -> Int -> CBool -> IO () #

peek :: Ptr CBool -> IO CBool #

poke :: Ptr CBool -> CBool -> IO () #

Ix CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Num CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Read CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Integral CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Real CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

toRational :: CBool -> Rational #

Show CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

showsPrec :: Int -> CBool -> ShowS #

show :: CBool -> String #

showList :: [CBool] -> ShowS #

Eq CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

(==) :: CBool -> CBool -> Bool #

(/=) :: CBool -> CBool -> Bool #

Ord CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

compare :: CBool -> CBool -> Ordering #

(<) :: CBool -> CBool -> Bool #

(<=) :: CBool -> CBool -> Bool #

(>) :: CBool -> CBool -> Bool #

(>=) :: CBool -> CBool -> Bool #

max :: CBool -> CBool -> CBool #

min :: CBool -> CBool -> CBool #

newtype CInt #

Haskell type representing the C int type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CInt Int32 

Instances

Instances details
Bits CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

FiniteBits CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

succ :: CInt -> CInt #

pred :: CInt -> CInt #

toEnum :: Int -> CInt #

fromEnum :: CInt -> Int #

enumFrom :: CInt -> [CInt] #

enumFromThen :: CInt -> CInt -> [CInt] #

enumFromTo :: CInt -> CInt -> [CInt] #

enumFromThenTo :: CInt -> CInt -> CInt -> [CInt] #

Storable CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

sizeOf :: CInt -> Int #

alignment :: CInt -> Int #

peekElemOff :: Ptr CInt -> Int -> IO CInt #

pokeElemOff :: Ptr CInt -> Int -> CInt -> IO () #

peekByteOff :: Ptr b -> Int -> IO CInt #

pokeByteOff :: Ptr b -> Int -> CInt -> IO () #

peek :: Ptr CInt -> IO CInt #

poke :: Ptr CInt -> CInt -> IO () #

Ix CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

range :: (CInt, CInt) -> [CInt] #

index :: (CInt, CInt) -> CInt -> Int #

unsafeIndex :: (CInt, CInt) -> CInt -> Int #

inRange :: (CInt, CInt) -> CInt -> Bool #

rangeSize :: (CInt, CInt) -> Int #

unsafeRangeSize :: (CInt, CInt) -> Int #

Num CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

(+) :: CInt -> CInt -> CInt #

(-) :: CInt -> CInt -> CInt #

(*) :: CInt -> CInt -> CInt #

negate :: CInt -> CInt #

abs :: CInt -> CInt #

signum :: CInt -> CInt #

fromInteger :: Integer -> CInt #

Read CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Integral CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

quot :: CInt -> CInt -> CInt #

rem :: CInt -> CInt -> CInt #

div :: CInt -> CInt -> CInt #

mod :: CInt -> CInt -> CInt #

quotRem :: CInt -> CInt -> (CInt, CInt) #

divMod :: CInt -> CInt -> (CInt, CInt) #

toInteger :: CInt -> Integer #

Real CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

toRational :: CInt -> Rational #

Show CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

showsPrec :: Int -> CInt -> ShowS #

show :: CInt -> String #

showList :: [CInt] -> ShowS #

Eq CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

(==) :: CInt -> CInt -> Bool #

(/=) :: CInt -> CInt -> Bool #

Ord CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

compare :: CInt -> CInt -> Ordering #

(<) :: CInt -> CInt -> Bool #

(<=) :: CInt -> CInt -> Bool #

(>) :: CInt -> CInt -> Bool #

(>=) :: CInt -> CInt -> Bool #

max :: CInt -> CInt -> CInt #

min :: CInt -> CInt -> CInt #

newtype CUInt #

Haskell type representing the C unsigned int type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CUInt Word32 

Instances

Instances details
Bits CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

FiniteBits CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Storable CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

sizeOf :: CUInt -> Int #

alignment :: CUInt -> Int #

peekElemOff :: Ptr CUInt -> Int -> IO CUInt #

pokeElemOff :: Ptr CUInt -> Int -> CUInt -> IO () #

peekByteOff :: Ptr b -> Int -> IO CUInt #

pokeByteOff :: Ptr b -> Int -> CUInt -> IO () #

peek :: Ptr CUInt -> IO CUInt #

poke :: Ptr CUInt -> CUInt -> IO () #

Ix CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Num CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Read CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Integral CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Real CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

toRational :: CUInt -> Rational #

Show CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

showsPrec :: Int -> CUInt -> ShowS #

show :: CUInt -> String #

showList :: [CUInt] -> ShowS #

Eq CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

(==) :: CUInt -> CUInt -> Bool #

(/=) :: CUInt -> CUInt -> Bool #

Ord CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

compare :: CUInt -> CUInt -> Ordering #

(<) :: CUInt -> CUInt -> Bool #

(<=) :: CUInt -> CUInt -> Bool #

(>) :: CUInt -> CUInt -> Bool #

(>=) :: CUInt -> CUInt -> Bool #

max :: CUInt -> CUInt -> CUInt #

min :: CUInt -> CUInt -> CUInt #

newtype CULLong #

Haskell type representing the C unsigned long long type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CULLong Word64 

Instances

Instances details
Bits CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

FiniteBits CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Storable CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Ix CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Num CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Read CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Integral CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Real CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Show CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Eq CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

(==) :: CULLong -> CULLong -> Bool #

(/=) :: CULLong -> CULLong -> Bool #

Ord CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

data Word8 #

8-bit unsigned integer type

Instances

Instances details
PrintfArg Word8 #

Since: base-2.1

Instance details

Defined in Text.Printf

Bits Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

FiniteBits Word8 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Word

Bounded Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Storable Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Word8 -> Int #

alignment :: Word8 -> Int #

peekElemOff :: Ptr Word8 -> Int -> IO Word8 #

pokeElemOff :: Ptr Word8 -> Int -> Word8 -> IO () #

peekByteOff :: Ptr b -> Int -> IO Word8 #

pokeByteOff :: Ptr b -> Int -> Word8 -> IO () #

peek :: Ptr Word8 -> IO Word8 #

poke :: Ptr Word8 -> Word8 -> IO () #

Ix Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Num Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Integral Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Real Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

toRational :: Word8 -> Rational #

Show Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

showsPrec :: Int -> Word8 -> ShowS #

show :: Word8 -> String #

showList :: [Word8] -> ShowS #

Eq Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

(==) :: Word8 -> Word8 -> Bool #

(/=) :: Word8 -> Word8 -> Bool #

Ord Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

compare :: Word8 -> Word8 -> Ordering #

(<) :: Word8 -> Word8 -> Bool #

(<=) :: Word8 -> Word8 -> Bool #

(>) :: Word8 -> Word8 -> Bool #

(>=) :: Word8 -> Word8 -> Bool #

max :: Word8 -> Word8 -> Word8 #

min :: Word8 -> Word8 -> Word8 #

data Word32 #

32-bit unsigned integer type

Instances

Instances details
PrintfArg Word32 #

Since: base-2.1

Instance details

Defined in Text.Printf

Bits Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

FiniteBits Word32 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Word

Bounded Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Storable Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Ix Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Num Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Integral Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Real Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Show Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Eq Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

(==) :: Word32 -> Word32 -> Bool #

(/=) :: Word32 -> Word32 -> Bool #

Ord Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

data Word64 #

64-bit unsigned integer type

Instances

Instances details
PrintfArg Word64 #

Since: base-2.1

Instance details

Defined in Text.Printf

Bits Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

FiniteBits Word64 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Word

Bounded Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Storable Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Ix Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Num Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Integral Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Real Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Show Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Eq Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

(==) :: Word64 -> Word64 -> Bool #

(/=) :: Word64 -> Word64 -> Bool #

Ord Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

data Int64 #

64-bit signed integer type

Instances

Instances details
PrintfArg Int64 #

Since: base-2.1

Instance details

Defined in Text.Printf

Bits Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

FiniteBits Int64 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Int

Bounded Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Enum Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Storable Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Int64 -> Int #

alignment :: Int64 -> Int #

peekElemOff :: Ptr Int64 -> Int -> IO Int64 #

pokeElemOff :: Ptr Int64 -> Int -> Int64 -> IO () #

peekByteOff :: Ptr b -> Int -> IO Int64 #

pokeByteOff :: Ptr b -> Int -> Int64 -> IO () #

peek :: Ptr Int64 -> IO Int64 #

poke :: Ptr Int64 -> Int64 -> IO () #

Ix Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Num Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Read Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Integral Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Real Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

toRational :: Int64 -> Rational #

Show Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

showsPrec :: Int -> Int64 -> ShowS #

show :: Int64 -> String #

showList :: [Int64] -> ShowS #

Eq Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

(==) :: Int64 -> Int64 -> Bool #

(/=) :: Int64 -> Int64 -> Bool #

Ord Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

compare :: Int64 -> Int64 -> Ordering #

(<) :: Int64 -> Int64 -> Bool #

(<=) :: Int64 -> Int64 -> Bool #

(>) :: Int64 -> Int64 -> Bool #

(>=) :: Int64 -> Int64 -> Bool #

max :: Int64 -> Int64 -> Int64 #

min :: Int64 -> Int64 -> Int64 #

data CChar #

Haskell type representing the C char type. (The concrete types of Foreign.C.Types are platform-specific.)

Instances

Instances details
Bits CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

FiniteBits CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Storable CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

sizeOf :: CChar -> Int #

alignment :: CChar -> Int #

peekElemOff :: Ptr CChar -> Int -> IO CChar #

pokeElemOff :: Ptr CChar -> Int -> CChar -> IO () #

peekByteOff :: Ptr b -> Int -> IO CChar #

pokeByteOff :: Ptr b -> Int -> CChar -> IO () #

peek :: Ptr CChar -> IO CChar #

poke :: Ptr CChar -> CChar -> IO () #

Ix CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Num CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Read CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Integral CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Real CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

toRational :: CChar -> Rational #

Show CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

showsPrec :: Int -> CChar -> ShowS #

show :: CChar -> String #

showList :: [CChar] -> ShowS #

Eq CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

(==) :: CChar -> CChar -> Bool #

(/=) :: CChar -> CChar -> Bool #

Ord CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

compare :: CChar -> CChar -> Ordering #

(<) :: CChar -> CChar -> Bool #

(<=) :: CChar -> CChar -> Bool #

(>) :: CChar -> CChar -> Bool #

(>=) :: CChar -> CChar -> Bool #

max :: CChar -> CChar -> CChar #

min :: CChar -> CChar -> CChar #

data Ptr a #

A value of type Ptr a represents a pointer to an object, or an array of objects, which may be marshalled to or from Haskell values of type a.

The type a will often be an instance of class Storable which provides the marshalling operations. However this is not essential, and you can provide your own operations to access the pointer. For example you might write small foreign functions to get or set the fields of a C struct.

Instances

Instances details
Eq1 (UAddr :: Type -> Type) #

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftEq :: (a -> b -> Bool) -> UAddr a -> UAddr b -> Bool #

Ord1 (UAddr :: Type -> Type) #

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftCompare :: (a -> b -> Ordering) -> UAddr a -> UAddr b -> Ordering #

Show1 (UAddr :: Type -> Type) #

Since: base-4.21.0.0

Instance details

Defined in Data.Functor.Classes

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UAddr a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UAddr a] -> ShowS #

Foldable (UAddr :: Type -> Type) #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Foldable

Methods

fold :: Monoid m => UAddr m -> m #

foldMap :: Monoid m => (a -> m) -> UAddr a -> m #

foldMap' :: Monoid m => (a -> m) -> UAddr a -> m #

foldr :: (a -> b -> b) -> b -> UAddr a -> b #

foldr' :: (a -> b -> b) -> b -> UAddr a -> b #

foldl :: (b -> a -> b) -> b -> UAddr a -> b #

foldl' :: (b -> a -> b) -> b -> UAddr a -> b #

foldr1 :: (a -> a -> a) -> UAddr a -> a #

foldl1 :: (a -> a -> a) -> UAddr a -> a #

toList :: UAddr a -> [a] #

null :: UAddr a -> Bool #

length :: UAddr a -> Int #

elem :: Eq a => a -> UAddr a -> Bool #

maximum :: Ord a => UAddr a -> a #

minimum :: Ord a => UAddr a -> a #

sum :: Num a => UAddr a -> a #

product :: Num a => UAddr a -> a #

Traversable (UAddr :: Type -> Type) #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> UAddr a -> f (UAddr b) #

sequenceA :: Applicative f => UAddr (f a) -> f (UAddr a) #

mapM :: Monad m => (a -> m b) -> UAddr a -> m (UAddr b) #

sequence :: Monad m => UAddr (m a) -> m (UAddr a) #

Storable (Ptr a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Ptr a -> Int #

alignment :: Ptr a -> Int #

peekElemOff :: Ptr (Ptr a) -> Int -> IO (Ptr a) #

pokeElemOff :: Ptr (Ptr a) -> Int -> Ptr a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (Ptr a) #

pokeByteOff :: Ptr b -> Int -> Ptr a -> IO () #

peek :: Ptr (Ptr a) -> IO (Ptr a) #

poke :: Ptr (Ptr a) -> Ptr a -> IO () #

Show (Ptr a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Ptr

Methods

showsPrec :: Int -> Ptr a -> ShowS #

show :: Ptr a -> String #

showList :: [Ptr a] -> ShowS #

Eq (Ptr a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Ptr

Methods

(==) :: Ptr a -> Ptr a -> Bool #

(/=) :: Ptr a -> Ptr a -> Bool #

Ord (Ptr a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Ptr

Methods

compare :: Ptr a -> Ptr a -> Ordering #

(<) :: Ptr a -> Ptr a -> Bool #

(<=) :: Ptr a -> Ptr a -> Bool #

(>) :: Ptr a -> Ptr a -> Bool #

(>=) :: Ptr a -> Ptr a -> Bool #

max :: Ptr a -> Ptr a -> Ptr a #

min :: Ptr a -> Ptr a -> Ptr a #

data FunPtr a #

A value of type FunPtr a is a pointer to a function callable from foreign code. The type a will normally be a foreign type, a function type with zero or more arguments where

A value of type FunPtr a may be a pointer to a foreign function, either returned by another foreign function or imported with a a static address import like

foreign import ccall "stdlib.h &free"
  p_free :: FunPtr (Ptr a -> IO ())

or a pointer to a Haskell function created using a wrapper stub declared to produce a FunPtr of the correct type. For example:

type Compare = Int -> Int -> Bool
foreign import ccall "wrapper"
  mkCompare :: Compare -> IO (FunPtr Compare)

Calls to wrapper stubs like mkCompare allocate storage, which should be released with freeHaskellFunPtr when no longer required.

To convert FunPtr values to corresponding Haskell functions, one can define a dynamic stub for the specific foreign type, e.g.

type IntFunction = CInt -> IO ()
foreign import ccall "dynamic"
  mkFun :: FunPtr IntFunction -> IntFunction

Instances

Instances details
Storable (FunPtr a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: FunPtr a -> Int #

alignment :: FunPtr a -> Int #

peekElemOff :: Ptr (FunPtr a) -> Int -> IO (FunPtr a) #

pokeElemOff :: Ptr (FunPtr a) -> Int -> FunPtr a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (FunPtr a) #

pokeByteOff :: Ptr b -> Int -> FunPtr a -> IO () #

peek :: Ptr (FunPtr a) -> IO (FunPtr a) #

poke :: Ptr (FunPtr a) -> FunPtr a -> IO () #

Show (FunPtr a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Ptr

Methods

showsPrec :: Int -> FunPtr a -> ShowS #

show :: FunPtr a -> String #

showList :: [FunPtr a] -> ShowS #

Eq (FunPtr a) # 
Instance details

Defined in GHC.Internal.Ptr

Methods

(==) :: FunPtr a -> FunPtr a -> Bool #

(/=) :: FunPtr a -> FunPtr a -> Bool #

Ord (FunPtr a) # 
Instance details

Defined in GHC.Internal.Ptr

Methods

compare :: FunPtr a -> FunPtr a -> Ordering #

(<) :: FunPtr a -> FunPtr a -> Bool #

(<=) :: FunPtr a -> FunPtr a -> Bool #

(>) :: FunPtr a -> FunPtr a -> Bool #

(>=) :: FunPtr a -> FunPtr a -> Bool #

max :: FunPtr a -> FunPtr a -> FunPtr a #

min :: FunPtr a -> FunPtr a -> FunPtr a #

nullFunPtr :: FunPtr a #

The constant nullFunPtr contains a distinguished value of FunPtr that is not associated with a valid memory location.

nullPtr :: Ptr a #

The constant nullPtr contains a distinguished value of Ptr that is not associated with a valid memory location.

type CString = Ptr CChar #

A C string is a reference to an array of C characters terminated by NUL.

withCString :: String -> (CString -> IO a) -> IO a #

Marshal a Haskell string into a NUL terminated C string using temporary storage.

  • the Haskell string may not contain any NUL characters
  • the memory is freed when the subcomputation terminates (either normally or via an exception), so the pointer to the temporary storage must not be used after this.

newCString :: String -> IO CString #

Marshal a Haskell string into a NUL terminated C string.

  • the Haskell string may not contain any NUL characters
  • new storage is allocated for the C string and must be explicitly freed using free or finalizerFree.

peekCString :: CString -> IO String #

Marshal a NUL terminated C string into a Haskell string.

data ForeignPtr a #

The type ForeignPtr represents references to objects that are maintained in a foreign language, i.e., that are not part of the data structures usually managed by the Haskell storage manager. The essential difference between ForeignPtrs and vanilla memory references of type Ptr a is that the former may be associated with finalizers. A finalizer is a routine that is invoked when the Haskell storage manager detects that - within the Haskell heap and stack - there are no more references left that are pointing to the ForeignPtr. Typically, the finalizer will, then, invoke routines in the foreign language that free the resources bound by the foreign object.

The ForeignPtr is parameterised in the same way as Ptr. The type argument of ForeignPtr should normally be an instance of class Storable.

Instances

Instances details
Show (ForeignPtr a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.ForeignPtr

Eq (ForeignPtr a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.ForeignPtr

Methods

(==) :: ForeignPtr a -> ForeignPtr a -> Bool #

(/=) :: ForeignPtr a -> ForeignPtr a -> Bool #

Ord (ForeignPtr a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.ForeignPtr

(.&.) :: Bits a => a -> a -> a infixl 7 #

Bitwise "and"

castWord32ToFloat :: Word32 -> Float #

castWord32ToFloat w does a bit-for-bit copy from an integral value to a floating-point value.

Since: base-4.11.0.0

castWord64ToDouble :: Word64 -> Double #

castWord64ToDouble w does a bit-for-bit copy from an integral value to a floating-point value.

Since: base-4.11.0.0

newForeignPtr :: Ptr a -> IO () -> IO (ForeignPtr a) #

Turns a plain memory reference into a foreign object by associating a finalizer - given by the monadic operation - with the reference.

When finalization is triggered by GC, the storage manager will start the finalizer, in a separate thread, some time after the last reference to the ForeignPtr is dropped. There is no guarantee of promptness, and in fact there is no guarantee that the finalizer will eventually run at all for GC-triggered finalization.

When finalization is triggered by explicitly calling finalizeForeignPtr, the finalizer will run immediately on the current Haskell thread.

Note that references from a finalizer do not necessarily prevent another object from being finalized. If A's finalizer refers to B (perhaps using touchForeignPtr, then the only guarantee is that B's finalizer will never be started before A's. If both A and B are unreachable, then both finalizers will start together. See touchForeignPtr for more on finalizer ordering.

peek :: Storable a => Ptr a -> IO a #

Read a value from the given memory location.

Note that the peek and poke functions might require properly aligned addresses to function correctly. This is architecture dependent; thus, portable code should ensure that when peeking or poking values of some type a, the alignment constraint for a, as given by the function alignment is fulfilled.

peekElemOff :: Storable a => Ptr a -> Int -> IO a #

Read a value from a memory area regarded as an array of values of the same kind. The first argument specifies the start address of the array and the second the index into the array (the first element of the array has index 0). The following equality holds,

peekElemOff addr idx = IOExts.fixIO $ \result ->
  peek (addr `plusPtr` (idx * sizeOf result))

Note that this is only a specification, not necessarily the concrete implementation of the function.

alloca :: Storable a => (Ptr a -> IO b) -> IO b #

alloca f executes the computation f, passing as argument a pointer to a temporarily allocated block of memory sufficient to hold values of type a.

The memory is freed when f terminates (either normally or via an exception), so the pointer passed to f must not be used after this.

castPtr :: Ptr a -> Ptr b #

The castPtr function casts a pointer from one type to another.

poke :: Storable a => Ptr a -> a -> IO () #

Write the given value to the given memory location. Alignment restrictions might apply; see peek.

peekArray :: Storable a => Int -> Ptr a -> IO [a] #

Convert an array of given length into a Haskell list. The implementation is tail-recursive and so uses constant stack space.

forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b) #

forM is mapM with its arguments flipped. For a version that ignores the results see forM_.

when :: Applicative f => Bool -> f () -> f () #

Conditional execution of Applicative expressions. For example,

Examples

Expand
when debug (putStrLn "Debugging")

will output the string Debugging if the Boolean value debug is True, and otherwise do nothing.

>>> putStr "pi:" >> when False (print 3.14159)
pi:

finally #

Arguments

:: IO a

computation to run first

-> IO b

computation to run afterward (even if an exception was raised)

-> IO a 

A specialised variant of bracket with just a computation to run afterward.

data BNBinaryView Source #

Greatest common ancestor of all other binary ninja types

type BNProgressFunction = Ptr () -> CSize -> CSize -> IO CBool Source #

Type for the BNProgressFunction callback: It is given a context pointer and two CSize values (e.g., current and total progress)

type BNFunctionPtr = Ptr BNFunction_ Source #

type BNSymbolPtr = Ptr BNSymbol_ Source #

data BNVariableSourceType Source #

Instances

Instances details
Enum BNVariableSourceType Source # 
Instance details

Defined in Binja.Types

Show BNVariableSourceType Source # 
Instance details

Defined in Binja.Types

Eq BNVariableSourceType Source # 
Instance details

Defined in Binja.Types

Ord BNVariableSourceType Source # 
Instance details

Defined in Binja.Types

type BNDataBufferPtr = Ptr BNDataBuffer_ Source #

type BNReferenceSourcePtr = Ptr BNReferenceSource_ Source #

type BNArchPtr = Ptr BNArch_ Source #

type BNMlilFunctionPtr = Ptr BNMlilFunction_ Source #

type BNMlilSSAFunctionPtr = Ptr BNMlilSSAFunction_ Source #

type BNLlilFunctionPtr = Ptr BNLlilFunction_ Source #

type BNBasicBlockPtr = Ptr BNBasicBlock_ Source #

data BNBasicBlockEdge Source #

data BasicBlockEdge Source #

Constructors

BasicBlockEdge 

Fields

type BNValueRangePtr = Ptr BNValueRange_ Source #

type BNLookupTableEntryPtr = Ptr BNLookupTableEntry_ Source #

data BNLowLevelILOperation Source #

Constructors

LLIL_NOP 
LLIL_SET_REG 
LLIL_SET_REG_SPLIT 
LLIL_SET_FLAG 
LLIL_SET_REG_STACK_REL 
LLIL_REG_STACK_PUSH 
LLIL_ASSERT 
LLIL_FORCE_VER 
LLIL_LOAD 
LLIL_STORE 
LLIL_PUSH 
LLIL_POP 
LLIL_REG 
LLIL_REG_SPLIT 
LLIL_REG_STACK_REL 
LLIL_REG_STACK_POP 
LLIL_REG_STACK_FREE_REG 
LLIL_REG_STACK_FREE_REL 
LLIL_CONST 
LLIL_CONST_PTR 
LLIL_EXTERN_PTR 
LLIL_FLOAT_CONST 
LLIL_FLAG 
LLIL_FLAG_BIT 
LLIL_ADD 
LLIL_ADC 
LLIL_SUB 
LLIL_SBB 
LLIL_AND 
LLIL_OR 
LLIL_XOR 
LLIL_LSL 
LLIL_LSR 
LLIL_ASR 
LLIL_ROL 
LLIL_RLC 
LLIL_ROR 
LLIL_RRC 
LLIL_MUL 
LLIL_MULU_DP 
LLIL_MULS_DP 
LLIL_DIVU 
LLIL_DIVU_DP 
LLIL_DIVS 
LLIL_DIVS_DP 
LLIL_MODU 
LLIL_MODU_DP 
LLIL_MODS 
LLIL_MODS_DP 
LLIL_NEG 
LLIL_NOT 
LLIL_SX 
LLIL_ZX 
LLIL_LOW_PART 
LLIL_JUMP 
LLIL_JUMP_TO 
LLIL_CALL 
LLIL_CALL_STACK_ADJUST 
LLIL_TAILCALL 
LLIL_RET 
LLIL_NORET 
LLIL_IF 
LLIL_GOTO 
LLIL_FLAG_COND 
LLIL_FLAG_GROUP 
LLIL_CMP_E 
LLIL_CMP_NE 
LLIL_CMP_SLT 
LLIL_CMP_ULT 
LLIL_CMP_SLE 
LLIL_CMP_ULE 
LLIL_CMP_SGE 
LLIL_CMP_UGE 
LLIL_CMP_SGT 
LLIL_CMP_UGT 
LLIL_TEST_BIT 
LLIL_BOOL_TO_INT 
LLIL_ADD_OVERFLOW 
LLIL_SYSCALL 
LLIL_BP 
LLIL_TRAP 
LLIL_INTRINSIC 
LLIL_UNDEF 
LLIL_UNIMPL 
LLIL_UNIMPL_MEM 
LLIL_FADD 
LLIL_FSUB 
LLIL_FMUL 
LLIL_FDIV 
LLIL_FSQRT 
LLIL_FNEG 
LLIL_FABS 
LLIL_FLOAT_TO_INT 
LLIL_INT_TO_FLOAT 
LLIL_FLOAT_CONV 
LLIL_ROUND_TO_INT 
LLIL_FLOOR 
LLIL_CEIL 
LLIL_FTRUNC 
LLIL_FCMP_E 
LLIL_FCMP_NE 
LLIL_FCMP_LT 
LLIL_FCMP_LE 
LLIL_FCMP_GE 
LLIL_FCMP_GT 
LLIL_FCMP_O 
LLIL_FCMP_UO 
LLIL_SET_REG_SSA 
LLIL_SET_REG_SSA_PARTIAL 
LLIL_SET_REG_SPLIT_SSA 
LLIL_SET_REG_STACK_REL_SSA 
LLIL_SET_REG_STACK_ABS_SSA 
LLIL_REG_SPLIT_DEST_SSA 
LLIL_REG_STACK_DEST_SSA 
LLIL_REG_SSA 
LLIL_REG_SSA_PARTIAL 
LLIL_REG_SPLIT_SSA 
LLIL_REG_STACK_REL_SSA 
LLIL_REG_STACK_ABS_SSA 
LLIL_REG_STACK_FREE_REL_SSA 
LLIL_REG_STACK_FREE_ABS_SSA 
LLIL_SET_FLAG_SSA 
LLIL_ASSERT_SSA 
LLIL_FORCE_VER_SSA 
LLIL_FLAG_SSA 
LLIL_FLAG_BIT_SSA 
LLIL_CALL_SSA 
LLIL_SYSCALL_SSA 
LLIL_TAILCALL_SSA 
LLIL_CALL_PARAM 
LLIL_CALL_STACK_SSA 
LLIL_CALL_OUTPUT_SSA 
LLIL_SEPARATE_PARAM_LIST_SSA 
LLIL_SHARED_PARAM_SLOT_SSA 
LLIL_MEMORY_INTRINSIC_OUTPUT_SSA 
LLIL_LOAD_SSA 
LLIL_STORE_SSA 
LLIL_INTRINSIC_SSA 
LLIL_MEMORY_INTRINSIC_SSA 
LLIL_REG_PHI 
LLIL_REG_STACK_PHI 
LLIL_FLAG_PHI 
LLIL_MEM_PHI 

data BNMediumLevelILInstruction Source #

Instances

Instances details
Storable BNMediumLevelILInstruction Source # 
Instance details

Defined in Binja.Types

Show BNMediumLevelILInstruction Source # 
Instance details

Defined in Binja.Types

Eq BNMediumLevelILInstruction Source # 
Instance details

Defined in Binja.Types

Ord BNMediumLevelILInstruction Source # 
Instance details

Defined in Binja.Types

data BNMediumLevelILOperation Source #

Constructors

MLIL_NOP 
MLIL_SET_VAR 
MLIL_SET_VAR_FIELD 
MLIL_SET_VAR_SPLIT 
MLIL_ASSERT 
MLIL_FORCE_VER 
MLIL_LOAD 
MLIL_LOAD_STRUCT 
MLIL_STORE 
MLIL_STORE_STRUCT 
MLIL_VAR 
MLIL_VAR_FIELD 
MLIL_VAR_SPLIT 
MLIL_ADDRESS_OF 
MLIL_ADDRESS_OF_FIELD 
MLIL_CONST 
MLIL_CONST_DATA 
MLIL_CONST_PTR 
MLIL_EXTERN_PTR 
MLIL_FLOAT_CONST 
MLIL_IMPORT 
MLIL_ADD 
MLIL_ADC 
MLIL_SUB 
MLIL_SBB 
MLIL_AND 
MLIL_OR 
MLIL_XOR 
MLIL_LSL 
MLIL_LSR 
MLIL_ASR 
MLIL_ROL 
MLIL_RLC 
MLIL_ROR 
MLIL_RRC 
MLIL_MUL 
MLIL_MULU_DP 
MLIL_MULS_DP 
MLIL_DIVU 
MLIL_DIVU_DP 
MLIL_DIVS 
MLIL_DIVS_DP 
MLIL_MODU 
MLIL_MODU_DP 
MLIL_MODS 
MLIL_MODS_DP 
MLIL_NEG 
MLIL_NOT 
MLIL_SX 
MLIL_ZX 
MLIL_LOW_PART 
MLIL_JUMP 
MLIL_JUMP_TO 
MLIL_RET_HINT 
MLIL_CALL 
MLIL_CALL_UNTYPED 
MLIL_CALL_OUTPUT 
MLIL_CALL_PARAM 
MLIL_SEPARATE_PARAM_LIST 
MLIL_SHARED_PARAM_SLOT 
MLIL_RET 
MLIL_NORET 
MLIL_IF 
MLIL_GOTO 
MLIL_CMP_E 
MLIL_CMP_NE 
MLIL_CMP_SLT 
MLIL_CMP_ULT 
MLIL_CMP_SLE 
MLIL_CMP_ULE 
MLIL_CMP_SGE 
MLIL_CMP_UGE 
MLIL_CMP_SGT 
MLIL_CMP_UGT 
MLIL_TEST_BIT 
MLIL_BOOL_TO_INT 
MLIL_ADD_OVERFLOW 
MLIL_SYSCALL 
MLIL_SYSCALL_UNTYPED 
MLIL_TAILCALL 
MLIL_TAILCALL_UNTYPED 
MLIL_INTRINSIC 
MLIL_FREE_VAR_SLOT 
MLIL_BP 
MLIL_TRAP 
MLIL_UNDEF 
MLIL_UNIMPL 
MLIL_UNIMPL_MEM 
MLIL_FADD 
MLIL_FSUB 
MLIL_FMUL 
MLIL_FDIV 
MLIL_FSQRT 
MLIL_FNEG 
MLIL_FABS 
MLIL_FLOAT_TO_INT 
MLIL_INT_TO_FLOAT 
MLIL_FLOAT_CONV 
MLIL_ROUND_TO_INT 
MLIL_FLOOR 
MLIL_CEIL 
MLIL_FTRUNC 
MLIL_FCMP_E 
MLIL_FCMP_NE 
MLIL_FCMP_LT 
MLIL_FCMP_LE 
MLIL_FCMP_GE 
MLIL_FCMP_GT 
MLIL_FCMP_O 
MLIL_FCMP_UO 
MLIL_SET_VAR_SSA 
MLIL_SET_VAR_SSA_FIELD 
MLIL_SET_VAR_SPLIT_SSA 
MLIL_SET_VAR_ALIASED 
MLIL_SET_VAR_ALIASED_FIELD 
MLIL_VAR_SSA 
MLIL_VAR_SSA_FIELD 
MLIL_VAR_ALIASED 
MLIL_VAR_ALIASED_FIELD 
MLIL_VAR_SPLIT_SSA 
MLIL_ASSERT_SSA 
MLIL_FORCE_VER_SSA 
MLIL_CALL_SSA 
MLIL_CALL_UNTYPED_SSA 
MLIL_SYSCALL_SSA 
MLIL_SYSCALL_UNTYPED_SSA 
MLIL_TAILCALL_SSA 
MLIL_TAILCALL_UNTYPED_SSA 
MLIL_CALL_PARAM_SSA 
MLIL_CALL_OUTPUT_SSA 
MLIL_MEMORY_INTRINSIC_OUTPUT_SSA 
MLIL_LOAD_SSA 
MLIL_LOAD_STRUCT_SSA 
MLIL_STORE_SSA 
MLIL_STORE_STRUCT_SSA 
MLIL_INTRINSIC_SSA 
MLIL_MEMORY_INTRINSIC_SSA 
MLIL_FREE_VAR_SLOT_SSA 
MLIL_VAR_PHI 
MLIL_MEM_PHI 

Instances

Instances details
Enum BNMediumLevelILOperation Source # 
Instance details

Defined in Binja.Types

Show BNMediumLevelILOperation Source # 
Instance details

Defined in Binja.Types

Eq BNMediumLevelILOperation Source # 
Instance details

Defined in Binja.Types

Ord BNMediumLevelILOperation Source # 
Instance details

Defined in Binja.Types

data BNPossibleValueSet Source #

data ParameterVars Source #

Constructors

ParameterVars 

Fields

Instances

Instances details
Show ParameterVars Source # 
Instance details

Defined in Binja.Types

data AnalysisContext Source #

Central abstraction of Beluga

Constructors

AnalysisContext 

Fields

Instances

Instances details
Show AnalysisContext Source # 
Instance details

Defined in Binja.Types

data FunctionContext Source #

Higher level abstraction of a medium level IL SSA variant function

Constructors

FunctionContext 

Fields

Instances

Instances details
Show FunctionContext Source # 
Instance details

Defined in Binja.Types

data SSAVariableContext Source #

Higher level abstract of ssa variable defintion site (if exists) and use sites

Instances

Instances details
Show SSAVariableContext Source # 
Instance details

Defined in Binja.Types

data Function Source #

Instances

Instances details
Show Function Source # 
Instance details

Defined in Binja.Types

Eq Function Source # 
Instance details

Defined in Binja.Types

data FunctionList Source #

Instances

Instances details
Show FunctionList Source # 
Instance details

Defined in Binja.Types

Eq FunctionList Source # 
Instance details

Defined in Binja.Types

data SymbolList Source #

Instances

Instances details
Show SymbolList Source # 
Instance details

Defined in Binja.Types

Eq SymbolList Source # 
Instance details

Defined in Binja.Types

data Symbol Source #

Constructors

Symbol 

Instances

Instances details
Show Symbol Source # 
Instance details

Defined in Binja.Types

Eq Symbol Source # 
Instance details

Defined in Binja.Types

Methods

(==) :: Symbol -> Symbol -> Bool #

(/=) :: Symbol -> Symbol -> Bool #

Ord Symbol Source # 
Instance details

Defined in Binja.Types

data BNRegisterValueType Source #

Instances

Instances details
Enum BNRegisterValueType Source # 
Instance details

Defined in Binja.Types

Show BNRegisterValueType Source # 
Instance details

Defined in Binja.Types

Eq BNRegisterValueType Source # 
Instance details

Defined in Binja.Types

Ord BNRegisterValueType Source # 
Instance details

Defined in Binja.Types

data MediumLevelILSSAInstruction Source #

Constructors

Localcall Localcall 
Constant Constant 
Comparison Comparison 
Arithmetic Arithmetic 
Terminal Terminal 
Syscall Syscall 
Tailcall Tailcall 
ControlFlow ControlFlow 
Return Return 
Load Load 
Store Store 
Memory Memory 
Carry Carry 
VariableInstruction VariableInstruction 
SetVar SetVar 
RegisterStack RegisterStack 
IntrinsicInstruction IntrinsicInstruction 
MediumLevelILCallOutputSsa MediumLevelILCallOutputSsaRec 
MediumLevelILCallOutput MediumLevelILCallOutputRec 
MediumLevelILMemoryIntrinsicOutputSsa MediumLevelILMemoryIntrinsicOutputSsaRec 
MediumLevelILCallParamSsa MediumLevelILCallParamSsaRec 
MediumLevelILCallParam MediumLevelILCallParamRec 
MediumLevelILNop MediumLevelILNopRec 
MediumLevelILAddressOf MediumLevelILAddressOfRec 
MediumLevelILAddressOfField MediumLevelILAddressOfFieldRec 
MediumLevelILMuluDp MediumLevelILMuluDpRec 
MediumLevelILMulsDp MediumLevelILMulsDpRec 
MediumLevelILDivuDp MediumLevelILDivuDpRec 
MediumLevelILDivsDp MediumLevelILDivsDpRec 
MediumLevelILModuDp MediumLevelILModuDpRec 
MediumLevelILModsDp MediumLevelILModsDpRec 
MediumLevelILBoolToInt MediumLevelILBoolToIntRec 
MediumLevelILAssert MediumLevelILAssertRec 
MediumLevelILAssertSsa MediumLevelILAssertSsaRec 
MediumLevelILForceVer MediumLevelILForceVerRec 
MediumLevelILForceVerSsa MediumLevelILForceVerSsaRec 
MediumLevelILVarField MediumLevelILVarFieldRec 
MediumLevelILVarSplit MediumLevelILVarSplitRec 
MediumLevelILUndef MediumLevelILUndefRec 
MediumLevelILUnimpl MediumLevelILUnimplRec 
MediumLevelILSeparateParamList MediumLevelILSeparateParamListRec 
MediumLevelILSharedParamSlot MediumLevelILSharedParamSlotRec 

data Comparison Source #

Instances

Instances details
Show Comparison Source # 
Instance details

Defined in Binja.Types

Eq Comparison Source # 
Instance details

Defined in Binja.Types

Ord Comparison Source # 
Instance details

Defined in Binja.Types

data Arithmetic Source #

Instances

Instances details
Show Arithmetic Source # 
Instance details

Defined in Binja.Types

Eq Arithmetic Source # 
Instance details

Defined in Binja.Types

Ord Arithmetic Source # 
Instance details

Defined in Binja.Types

data Return Source #

Instances

Instances details
Show Return Source # 
Instance details

Defined in Binja.Types

Eq Return Source # 
Instance details

Defined in Binja.Types

Methods

(==) :: Return -> Return -> Bool #

(/=) :: Return -> Return -> Bool #

Ord Return Source # 
Instance details

Defined in Binja.Types

data Load Source #

Instances

Instances details
Show Load Source # 
Instance details

Defined in Binja.Types

Methods

showsPrec :: Int -> Load -> ShowS #

show :: Load -> String #

showList :: [Load] -> ShowS #

Eq Load Source # 
Instance details

Defined in Binja.Types

Methods

(==) :: Load -> Load -> Bool #

(/=) :: Load -> Load -> Bool #

Ord Load Source # 
Instance details

Defined in Binja.Types

Methods

compare :: Load -> Load -> Ordering #

(<) :: Load -> Load -> Bool #

(<=) :: Load -> Load -> Bool #

(>) :: Load -> Load -> Bool #

(>=) :: Load -> Load -> Bool #

max :: Load -> Load -> Load #

min :: Load -> Load -> Load #

data Memory Source #

Instances

Instances details
Show Memory Source # 
Instance details

Defined in Binja.Types

Eq Memory Source # 
Instance details

Defined in Binja.Types

Methods

(==) :: Memory -> Memory -> Bool #

(/=) :: Memory -> Memory -> Bool #

Ord Memory Source # 
Instance details

Defined in Binja.Types

data Carry Source #

Instances

Instances details
Show Carry Source # 
Instance details

Defined in Binja.Types

Methods

showsPrec :: Int -> Carry -> ShowS #

show :: Carry -> String #

showList :: [Carry] -> ShowS #

Eq Carry Source # 
Instance details

Defined in Binja.Types

Methods

(==) :: Carry -> Carry -> Bool #

(/=) :: Carry -> Carry -> Bool #

Ord Carry Source # 
Instance details

Defined in Binja.Types

Methods

compare :: Carry -> Carry -> Ordering #

(<) :: Carry -> Carry -> Bool #

(<=) :: Carry -> Carry -> Bool #

(>) :: Carry -> Carry -> Bool #

(>=) :: Carry -> Carry -> Bool #

max :: Carry -> Carry -> Carry #

min :: Carry -> Carry -> Carry #

data MediumLevelILSetVarAliasedFieldRec Source #

data MediumLevelILStoreStructSsaRec Source #

data MediumLevelILCallUntypedSsaRec Source #

data MediumLevelILSeparateParamListRec Source #

data MediumLevelILTailcallUntypedRec Source #

data MediumLevelILSyscallUntypedSsaRec Source #

data MediumLevelILTailcallUntypedSsaRec Source #

data MediumLevelILMemoryIntrinsicOutputSsaRec Source #

Instances

Instances details
Show MediumLevelILMemoryIntrinsicOutputSsaRec Source # 
Instance details

Defined in Binja.Types

Eq MediumLevelILMemoryIntrinsicOutputSsaRec Source # 
Instance details

Defined in Binja.Types

Ord MediumLevelILMemoryIntrinsicOutputSsaRec Source # 
Instance details

Defined in Binja.Types

data MediumLevelILMemoryIntrinsicSsaRec Source #

data CFGContext Source #

Instances

Instances details
Show CFGContext Source # 
Instance details

Defined in Binja.Types