{-# LINE 1 "src/Bindings/Posix/Signal.hsc" #-}

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

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

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

module Bindings.Posix.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.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 8 "src/Bindings/Posix/Signal.hsc" #-}
import Bindings.Posix.Sys.Types

data C'sigset_t = C'sigset_t{
{-# LINE 11 "src/Bindings/Posix/Signal.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'sigset_t where
  sizeOf _ = 128
  alignment = sizeOf
  peek p = do
    return $ C'sigset_t
  poke p (C'sigset_t) = do
    return ()

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

data C'sigevent = C'sigevent{
{-# LINE 14 "src/Bindings/Posix/Signal.hsc" #-}

  c'sigevent'sigev_notify :: CInt
{-# LINE 15 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'sigevent'sigev_signo :: CInt
{-# LINE 16 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'sigevent'sigev_value :: C'sigval
{-# LINE 17 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'sigevent'sigev_notify_function :: FunPtr (C'sigval -> IO ())
{-# LINE 18 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'sigevent'sigev_notify_attributes :: Ptr C'pthread_attr_t
{-# LINE 19 "src/Bindings/Posix/Signal.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'sigevent where
  sizeOf _ = 64
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 8
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 0
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 16
    return $ C'sigevent v0 v1 v2 v3 v4
  poke p (C'sigevent v0 v1 v2 v3 v4) = do
    pokeByteOff p 8 v0
    pokeByteOff p 4 v1
    pokeByteOff p 0 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    return ()

{-# LINE 20 "src/Bindings/Posix/Signal.hsc" #-}

c'SIGEV_NONE = 1
c'SIGEV_NONE :: (Num a) => a

{-# LINE 22 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGEV_SIGNAL = 0
c'SIGEV_SIGNAL :: (Num a) => a

{-# LINE 23 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGEV_THREAD = 2
c'SIGEV_THREAD :: (Num a) => a

{-# LINE 24 "src/Bindings/Posix/Signal.hsc" #-}

data C'sigval = C'sigval{
{-# LINE 26 "src/Bindings/Posix/Signal.hsc" #-}

  c'sigval'sival_int :: CInt
{-# LINE 27 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'sigval'sival_ptr :: Ptr ()
{-# LINE 28 "src/Bindings/Posix/Signal.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'sigval where
  sizeOf _ = 4
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    return $ C'sigval v0 v1
  poke p (C'sigval v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    return ()

{-# LINE 29 "src/Bindings/Posix/Signal.hsc" #-}

c'SIGRTMIN = 34
c'SIGRTMIN :: (Num a) => a

{-# LINE 31 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGRTMAX = 64
c'SIGRTMAX :: (Num a) => a

{-# LINE 32 "src/Bindings/Posix/Signal.hsc" #-}

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

{-# LINE 34 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGALRM = 14
c'SIGALRM :: (Num a) => a

{-# LINE 35 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGBUS = 7
c'SIGBUS :: (Num a) => a

{-# LINE 36 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGCHLD = 17
c'SIGCHLD :: (Num a) => a

{-# LINE 37 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGCONT = 18
c'SIGCONT :: (Num a) => a

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

{-# LINE 39 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGHUP = 1
c'SIGHUP :: (Num a) => a

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

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

{-# LINE 42 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGKILL = 9
c'SIGKILL :: (Num a) => a

{-# LINE 43 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGPIPE = 13
c'SIGPIPE :: (Num a) => a

{-# LINE 44 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGQUIT = 3
c'SIGQUIT :: (Num a) => a

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

{-# LINE 46 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGSTOP = 19
c'SIGSTOP :: (Num a) => a

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

{-# LINE 48 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGTSTP = 20
c'SIGTSTP :: (Num a) => a

{-# LINE 49 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGTTIN = 21
c'SIGTTIN :: (Num a) => a

{-# LINE 50 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGTTOU = 22
c'SIGTTOU :: (Num a) => a

{-# LINE 51 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGUSR1 = 10
c'SIGUSR1 :: (Num a) => a

{-# LINE 52 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGUSR2 = 12
c'SIGUSR2 :: (Num a) => a

{-# LINE 53 "src/Bindings/Posix/Signal.hsc" #-}
c'SIGURG = 23
c'SIGURG :: (Num a) => a

{-# LINE 54 "src/Bindings/Posix/Signal.hsc" #-}

data C'sigaction = C'sigaction{
{-# LINE 56 "src/Bindings/Posix/Signal.hsc" #-}

  c'sigaction'sa_handler :: FunPtr (CInt -> IO ())
{-# LINE 57 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'sigaction'sa_mask :: C'sigset_t
{-# LINE 58 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'sigaction'sa_flags :: CInt
{-# LINE 59 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'sigaction'sa_sigaction :: FunPtr (CInt -> Ptr C'siginfo_t -> Ptr () -> IO ())
{-# LINE 60 "src/Bindings/Posix/Signal.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'sigaction where
  sizeOf _ = 140
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 132
    v3 <- peekByteOff p 0
    return $ C'sigaction v0 v1 v2 v3
  poke p (C'sigaction v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 132 v2
    pokeByteOff p 0 v3
    return ()

{-# LINE 61 "src/Bindings/Posix/Signal.hsc" #-}

c'SIG_BLOCK = 0
c'SIG_BLOCK :: (Num a) => a

{-# LINE 63 "src/Bindings/Posix/Signal.hsc" #-}
c'SIG_UNBLOCK = 1
c'SIG_UNBLOCK :: (Num a) => a

{-# LINE 64 "src/Bindings/Posix/Signal.hsc" #-}
c'SIG_SETMASK = 2
c'SIG_SETMASK :: (Num a) => a

{-# LINE 65 "src/Bindings/Posix/Signal.hsc" #-}
c'SA_NOCLDSTOP = 1
c'SA_NOCLDSTOP :: (Num a) => a

{-# LINE 66 "src/Bindings/Posix/Signal.hsc" #-}
c'SA_RESETHAND = 2147483648
c'SA_RESETHAND :: (Num a) => a

{-# LINE 67 "src/Bindings/Posix/Signal.hsc" #-}
c'SA_RESTART = 268435456
c'SA_RESTART :: (Num a) => a

{-# LINE 68 "src/Bindings/Posix/Signal.hsc" #-}
c'SA_SIGINFO = 4
c'SA_SIGINFO :: (Num a) => a

{-# LINE 69 "src/Bindings/Posix/Signal.hsc" #-}
c'SA_NOCLDWAIT = 2
c'SA_NOCLDWAIT :: (Num a) => a

{-# LINE 70 "src/Bindings/Posix/Signal.hsc" #-}
c'SA_NODEFER = 1073741824
c'SA_NODEFER :: (Num a) => a

{-# LINE 71 "src/Bindings/Posix/Signal.hsc" #-}

data C'mcontext_t = C'mcontext_t{
{-# LINE 73 "src/Bindings/Posix/Signal.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'mcontext_t where
  sizeOf _ = 88
  alignment = sizeOf
  peek p = do
    return $ C'mcontext_t
  poke p (C'mcontext_t) = do
    return ()

{-# LINE 74 "src/Bindings/Posix/Signal.hsc" #-}

data C'ucontext_t = C'ucontext_t{
{-# LINE 76 "src/Bindings/Posix/Signal.hsc" #-}

  c'ucontext_t'uc_link :: Ptr C'ucontext_t
{-# LINE 77 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'ucontext_t'uc_sigmask :: C'sigset_t
{-# LINE 78 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'ucontext_t'uc_stack :: C'stack_t
{-# LINE 79 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'ucontext_t'uc_mcontext :: C'mcontext_t
{-# LINE 80 "src/Bindings/Posix/Signal.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'ucontext_t where
  sizeOf _ = 348
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 4
    v1 <- peekByteOff p 108
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 20
    return $ C'ucontext_t v0 v1 v2 v3
  poke p (C'ucontext_t v0 v1 v2 v3) = do
    pokeByteOff p 4 v0
    pokeByteOff p 108 v1
    pokeByteOff p 8 v2
    pokeByteOff p 20 v3
    return ()

{-# LINE 81 "src/Bindings/Posix/Signal.hsc" #-}

data C'stack_t = C'stack_t{
{-# LINE 83 "src/Bindings/Posix/Signal.hsc" #-}

  c'stack_t'ss_sp :: Ptr ()
{-# LINE 84 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'stack_t'ss_size :: CSize
{-# LINE 85 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'stack_t'ss_flags :: CInt
{-# LINE 86 "src/Bindings/Posix/Signal.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'stack_t where
  sizeOf _ = 12
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 4
    return $ C'stack_t v0 v1 v2
  poke p (C'stack_t v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 4 v2
    return ()

{-# LINE 87 "src/Bindings/Posix/Signal.hsc" #-}

data C'siginfo_t = C'siginfo_t{
{-# LINE 89 "src/Bindings/Posix/Signal.hsc" #-}

  c'siginfo_t'si_signo :: CInt
{-# LINE 90 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'siginfo_t'si_code :: CInt
{-# LINE 91 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'siginfo_t'si_pid :: C'pid_t
{-# LINE 92 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'siginfo_t'si_uid :: C'uid_t
{-# LINE 93 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'siginfo_t'si_addr :: Ptr ()
{-# LINE 94 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'siginfo_t'si_status :: CInt
{-# LINE 95 "src/Bindings/Posix/Signal.hsc" #-}
,
  c'siginfo_t'si_value :: C'sigval
{-# LINE 96 "src/Bindings/Posix/Signal.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'siginfo_t where
  sizeOf _ = 128
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 12
    v3 <- peekByteOff p 16
    v4 <- peekByteOff p 12
    v5 <- peekByteOff p 20
    v6 <- peekByteOff p 20
    return $ C'siginfo_t v0 v1 v2 v3 v4 v5 v6
  poke p (C'siginfo_t v0 v1 v2 v3 v4 v5 v6) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 12 v2
    pokeByteOff p 16 v3
    pokeByteOff p 12 v4
    pokeByteOff p 20 v5
    pokeByteOff p 20 v6
    return ()

{-# LINE 97 "src/Bindings/Posix/Signal.hsc" #-}

c'ILL_ILLOPC = 1
c'ILL_ILLOPC :: (Num a) => a

{-# LINE 99 "src/Bindings/Posix/Signal.hsc" #-}
c'ILL_ILLOPN = 2
c'ILL_ILLOPN :: (Num a) => a

{-# LINE 100 "src/Bindings/Posix/Signal.hsc" #-}
c'ILL_ILLADR = 3
c'ILL_ILLADR :: (Num a) => a

{-# LINE 101 "src/Bindings/Posix/Signal.hsc" #-}
c'ILL_ILLTRP = 4
c'ILL_ILLTRP :: (Num a) => a

{-# LINE 102 "src/Bindings/Posix/Signal.hsc" #-}
c'ILL_PRVOPC = 5
c'ILL_PRVOPC :: (Num a) => a

{-# LINE 103 "src/Bindings/Posix/Signal.hsc" #-}
c'ILL_PRVREG = 6
c'ILL_PRVREG :: (Num a) => a

{-# LINE 104 "src/Bindings/Posix/Signal.hsc" #-}
c'ILL_COPROC = 7
c'ILL_COPROC :: (Num a) => a

{-# LINE 105 "src/Bindings/Posix/Signal.hsc" #-}
c'ILL_BADSTK = 8
c'ILL_BADSTK :: (Num a) => a

{-# LINE 106 "src/Bindings/Posix/Signal.hsc" #-}
c'FPE_INTDIV = 1
c'FPE_INTDIV :: (Num a) => a

{-# LINE 107 "src/Bindings/Posix/Signal.hsc" #-}
c'FPE_INTOVF = 2
c'FPE_INTOVF :: (Num a) => a

{-# LINE 108 "src/Bindings/Posix/Signal.hsc" #-}
c'FPE_FLTDIV = 3
c'FPE_FLTDIV :: (Num a) => a

{-# LINE 109 "src/Bindings/Posix/Signal.hsc" #-}
c'FPE_FLTOVF = 4
c'FPE_FLTOVF :: (Num a) => a

{-# LINE 110 "src/Bindings/Posix/Signal.hsc" #-}
c'FPE_FLTUND = 5
c'FPE_FLTUND :: (Num a) => a

{-# LINE 111 "src/Bindings/Posix/Signal.hsc" #-}
c'FPE_FLTRES = 6
c'FPE_FLTRES :: (Num a) => a

{-# LINE 112 "src/Bindings/Posix/Signal.hsc" #-}
c'FPE_FLTINV = 7
c'FPE_FLTINV :: (Num a) => a

{-# LINE 113 "src/Bindings/Posix/Signal.hsc" #-}
c'FPE_FLTSUB = 8
c'FPE_FLTSUB :: (Num a) => a

{-# LINE 114 "src/Bindings/Posix/Signal.hsc" #-}
c'SEGV_MAPERR = 1
c'SEGV_MAPERR :: (Num a) => a

{-# LINE 115 "src/Bindings/Posix/Signal.hsc" #-}
c'SEGV_ACCERR = 2
c'SEGV_ACCERR :: (Num a) => a

{-# LINE 116 "src/Bindings/Posix/Signal.hsc" #-}
c'BUS_ADRALN = 1
c'BUS_ADRALN :: (Num a) => a

{-# LINE 117 "src/Bindings/Posix/Signal.hsc" #-}
c'BUS_ADRERR = 2
c'BUS_ADRERR :: (Num a) => a

{-# LINE 118 "src/Bindings/Posix/Signal.hsc" #-}
c'BUS_OBJERR = 3
c'BUS_OBJERR :: (Num a) => a

{-# LINE 119 "src/Bindings/Posix/Signal.hsc" #-}
c'CLD_EXITED = 1
c'CLD_EXITED :: (Num a) => a

{-# LINE 120 "src/Bindings/Posix/Signal.hsc" #-}
c'CLD_KILLED = 2
c'CLD_KILLED :: (Num a) => a

{-# LINE 121 "src/Bindings/Posix/Signal.hsc" #-}
c'CLD_DUMPED = 3
c'CLD_DUMPED :: (Num a) => a

{-# LINE 122 "src/Bindings/Posix/Signal.hsc" #-}
c'CLD_TRAPPED = 4
c'CLD_TRAPPED :: (Num a) => a

{-# LINE 123 "src/Bindings/Posix/Signal.hsc" #-}
c'CLD_STOPPED = 5
c'CLD_STOPPED :: (Num a) => a

{-# LINE 124 "src/Bindings/Posix/Signal.hsc" #-}
c'CLD_CONTINUED = 6
c'CLD_CONTINUED :: (Num a) => a

{-# LINE 125 "src/Bindings/Posix/Signal.hsc" #-}
c'SI_USER = 0
c'SI_USER :: (Num a) => a

{-# LINE 126 "src/Bindings/Posix/Signal.hsc" #-}
c'SI_QUEUE = -1
c'SI_QUEUE :: (Num a) => a

{-# LINE 127 "src/Bindings/Posix/Signal.hsc" #-}
c'SI_TIMER = -2
c'SI_TIMER :: (Num a) => a

{-# LINE 128 "src/Bindings/Posix/Signal.hsc" #-}
c'SI_ASYNCIO = -4
c'SI_ASYNCIO :: (Num a) => a

{-# LINE 129 "src/Bindings/Posix/Signal.hsc" #-}
c'SI_MESGQ = -3
c'SI_MESGQ :: (Num a) => a

{-# LINE 130 "src/Bindings/Posix/Signal.hsc" #-}

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

{-# LINE 132 "src/Bindings/Posix/Signal.hsc" #-}
-- ccall psiginfo ,  Ptr <siginfo_t> -> CString -> IO ()
foreign import ccall "psignal" c'psignal
  :: CInt -> CString -> IO ()
foreign import ccall "&psignal" p'psignal
  :: FunPtr (CInt -> CString -> IO ())

{-# LINE 134 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "pthread_kill" c'pthread_kill
  :: C'pthread_t -> CInt -> IO CInt
foreign import ccall "&pthread_kill" p'pthread_kill
  :: FunPtr (C'pthread_t -> CInt -> IO CInt)

{-# LINE 135 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "pthread_sigmask" c'pthread_sigmask
  :: CInt -> Ptr C'sigset_t -> Ptr C'sigset_t -> IO CInt
foreign import ccall "&pthread_sigmask" p'pthread_sigmask
  :: FunPtr (CInt -> Ptr C'sigset_t -> Ptr C'sigset_t -> IO CInt)

{-# LINE 137 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "sigaction" c'sigaction
  :: CInt -> Ptr C'sigaction -> Ptr C'sigaction -> IO CInt
foreign import ccall "&sigaction" p'sigaction
  :: FunPtr (CInt -> Ptr C'sigaction -> Ptr C'sigaction -> IO CInt)

{-# LINE 139 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "sigaddset" c'sigaddset
  :: Ptr C'sigset_t -> CInt -> IO CInt
foreign import ccall "&sigaddset" p'sigaddset
  :: FunPtr (Ptr C'sigset_t -> CInt -> IO CInt)

{-# LINE 140 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "sigdelset" c'sigdelset
  :: Ptr C'sigset_t -> CInt -> IO CInt
foreign import ccall "&sigdelset" p'sigdelset
  :: FunPtr (Ptr C'sigset_t -> CInt -> IO CInt)

{-# LINE 141 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "sigemptyset" c'sigemptyset
  :: Ptr C'sigset_t -> IO CInt
foreign import ccall "&sigemptyset" p'sigemptyset
  :: FunPtr (Ptr C'sigset_t -> IO CInt)

{-# LINE 142 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "sigfillset" c'sigfillset
  :: Ptr C'sigset_t -> IO CInt
foreign import ccall "&sigfillset" p'sigfillset
  :: FunPtr (Ptr C'sigset_t -> IO CInt)

{-# LINE 143 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "sigismember" c'sigismember
  :: Ptr C'sigset_t -> CInt -> IO CInt
foreign import ccall "&sigismember" p'sigismember
  :: FunPtr (Ptr C'sigset_t -> CInt -> IO CInt)

{-# LINE 144 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "sigpending" c'sigpending
  :: Ptr C'sigset_t -> IO CInt
foreign import ccall "&sigpending" p'sigpending
  :: FunPtr (Ptr C'sigset_t -> IO CInt)

{-# LINE 145 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "sigprocmask" c'sigprocmask
  :: CInt -> Ptr C'sigset_t -> Ptr C'sigset_t -> IO CInt
foreign import ccall "&sigprocmask" p'sigprocmask
  :: FunPtr (CInt -> Ptr C'sigset_t -> Ptr C'sigset_t -> IO CInt)

{-# LINE 147 "src/Bindings/Posix/Signal.hsc" #-}
-- ccall sigqueue , <pid_t> -> CInt ->  <sigval> -> IO CInt
foreign import ccall "sigsuspend" c'sigsuspend
  :: Ptr C'sigset_t -> IO CInt
foreign import ccall "&sigsuspend" p'sigsuspend
  :: FunPtr (Ptr C'sigset_t -> IO CInt)

{-# LINE 149 "src/Bindings/Posix/Signal.hsc" #-}
-- ccall sigtimedwait ,  Ptr <sigset_t> -> \
--   Ptr <siginfo_t> ->  Ptr <timespec> -> IO CInt
foreign import ccall "sigwait" c'sigwait
  :: Ptr C'sigset_t -> Ptr CInt -> IO CInt
foreign import ccall "&sigwait" p'sigwait
  :: FunPtr (Ptr C'sigset_t -> Ptr CInt -> IO CInt)

{-# LINE 152 "src/Bindings/Posix/Signal.hsc" #-}
foreign import ccall "sigwaitinfo" c'sigwaitinfo
  :: Ptr C'sigset_t -> Ptr C'siginfo_t -> IO CInt
foreign import ccall "&sigwaitinfo" p'sigwaitinfo
  :: FunPtr (Ptr C'sigset_t -> Ptr C'siginfo_t -> IO CInt)

{-# LINE 154 "src/Bindings/Posix/Signal.hsc" #-}