ajhc-0.8.0.1: drift_processed/C/FFI.hs
{- Generated by DrIFT (Automatic class derivations for Haskell) -}
{-# LINE 1 "src/C/FFI.hs" #-}
module C.FFI(
CallConv(..),
Safety(..),
FfiType(..),
FfiExport(..),
FfiSpec(..),
Requires(..)
) where
import C.Prims
import Data.Binary
import Data.Typeable
type CName = String
data FfiType = Import CName Requires
| ImportAddr CName Requires
| Wrapper
| Dynamic
deriving(Eq,Ord,Show)
data FfiSpec = FfiSpec FfiType Safety CallConv
deriving(Eq,Ord,Show)
data FfiExport = FfiExport {
ffiExportCName :: CName,
ffiExportSafety :: Safety,
ffiExportCallConv :: CallConv,
ffiExportArgTypes :: [ExtType],
ffiExportRetType :: ExtType
}
deriving(Eq,Ord,Show,Typeable)
{-! derive: Binary !-}
{-* Generated by DrIFT : Look, but Don't Touch. *-}
instance Data.Binary.Binary FfiExport where
put (FfiExport aa ab ac ad ae) = do
Data.Binary.put aa
Data.Binary.put ab
Data.Binary.put ac
Data.Binary.put ad
Data.Binary.put ae
get = do
aa <- get
ab <- get
ac <- get
ad <- get
ae <- get
return (FfiExport aa ab ac ad ae)
-- Imported from other files :-