{-# LINE 1 "GHC/Exts/Heap/InfoTable/Types.hsc" #-}
{-# LANGUAGE DeriveGeneric #-}
module GHC.Exts.Heap.InfoTable.Types
( StgInfoTable(..)
, EntryFunPtr
, HalfWord
, ItblCodes
) where
import Prelude
import GHC.Generics
import GHC.Exts.Heap.ClosureTypes
import Foreign
type ItblCodes = Either [Word8] [Word32]
{-# LINE 21 "GHC/Exts/Heap/InfoTable/Types.hsc" #-}
type HalfWord = Word32
{-# LINE 27 "GHC/Exts/Heap/InfoTable/Types.hsc" #-}
type EntryFunPtr = FunPtr (Ptr () -> IO (Ptr ()))
data StgInfoTable = StgInfoTable {
entry :: Maybe EntryFunPtr,
ptrs :: HalfWord,
nptrs :: HalfWord,
tipe :: ClosureType,
srtlen :: HalfWord,
code :: Maybe ItblCodes
} deriving (Show, Generic)