{-# INCLUDE <signal.h> #-}
{-# INCLUDE <bindings.macros.h> #-}
{-# LINE 1 "src/Bindings/C/Signal.hsc" #-}

{-# LINE 2 "src/Bindings/C/Signal.hsc" #-}

{-# LINE 3 "src/Bindings/C/Signal.hsc" #-}

-- | <http://www.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html>

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

{-# LINE 8 "src/Bindings/C/Signal.hsc" #-}

c'SIG_DFL = (castPtrToFunPtr . wordPtrToPtr) 0
c'SIG_DFL :: FunPtr a

{-# LINE 10 "src/Bindings/C/Signal.hsc" #-}
c'SIG_ERR = (castPtrToFunPtr . wordPtrToPtr) 4294967295
c'SIG_ERR :: FunPtr a

{-# LINE 11 "src/Bindings/C/Signal.hsc" #-}
c'SIG_IGN = (castPtrToFunPtr . wordPtrToPtr) 1
c'SIG_IGN :: FunPtr a

{-# LINE 12 "src/Bindings/C/Signal.hsc" #-}

c'SIGABRT = 6
c'SIGABRT :: (Num a) => a

{-# LINE 14 "src/Bindings/C/Signal.hsc" #-}
c'SIGFPE = 8
c'SIGFPE :: (Num a) => a

{-# LINE 15 "src/Bindings/C/Signal.hsc" #-}
c'SIGILL = 4
c'SIGILL :: (Num a) => a

{-# LINE 16 "src/Bindings/C/Signal.hsc" #-}
c'SIGINT = 2
c'SIGINT :: (Num a) => a

{-# LINE 17 "src/Bindings/C/Signal.hsc" #-}
c'SIGSEGV = 11
c'SIGSEGV :: (Num a) => a

{-# LINE 18 "src/Bindings/C/Signal.hsc" #-}
c'SIGTERM = 15
c'SIGTERM :: (Num a) => a

{-# LINE 19 "src/Bindings/C/Signal.hsc" #-}

foreign import ccall "raise" c'raise
  :: CInt -> IO CInt
foreign import ccall "&raise" p'raise
  :: FunPtr (CInt -> IO CInt)

{-# LINE 21 "src/Bindings/C/Signal.hsc" #-}
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 ())))

{-# LINE 23 "src/Bindings/C/Signal.hsc" #-}