module Bindings.C.Signal where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
c'SIG_DFL = (castPtrToFunPtr . wordPtrToPtr) 0
c'SIG_DFL :: FunPtr a
c'SIG_ERR = (castPtrToFunPtr . wordPtrToPtr) 4294967295
c'SIG_ERR :: FunPtr a
c'SIG_IGN = (castPtrToFunPtr . wordPtrToPtr) 1
c'SIG_IGN :: FunPtr a
c'SIGABRT = 6
c'SIGABRT :: (Num a) => a
c'SIGFPE = 8
c'SIGFPE :: (Num a) => a
c'SIGILL = 4
c'SIGILL :: (Num a) => a
c'SIGINT = 2
c'SIGINT :: (Num a) => a
c'SIGSEGV = 11
c'SIGSEGV :: (Num a) => a
c'SIGTERM = 15
c'SIGTERM :: (Num a) => a
foreign import ccall "raise" c'raise
:: CInt -> IO CInt
foreign import ccall "&raise" p'raise
:: FunPtr (CInt -> IO CInt)
foreign import ccall "signal" c'signal
:: CInt -> FunPtr (CInt -> IO ()) -> IO (FunPtr (CInt -> IO ()))
foreign import ccall "&signal" p'signal
:: FunPtr (CInt -> FunPtr (CInt -> IO ()) -> IO (FunPtr (CInt -> IO ())))