{-# LANGUAGE PatternSynonyms #-}

module System.Posix.Signals.Patterns where

import System.Posix.Signals

-- Source: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/kill.html
-- Other signals are not defined by POSIX.

pattern SIGHUP :: Signal
pattern $mSIGHUP :: forall {r}. Signal -> ((# #) -> r) -> ((# #) -> r) -> r
$bSIGHUP :: Signal
SIGHUP = 1

pattern SIGINT :: Signal
pattern $mSIGINT :: forall {r}. Signal -> ((# #) -> r) -> ((# #) -> r) -> r
$bSIGINT :: Signal
SIGINT = 2

pattern SIGQUIT :: Signal
pattern $mSIGQUIT :: forall {r}. Signal -> ((# #) -> r) -> ((# #) -> r) -> r
$bSIGQUIT :: Signal
SIGQUIT = 3

pattern SIGABRT :: Signal
pattern $mSIGABRT :: forall {r}. Signal -> ((# #) -> r) -> ((# #) -> r) -> r
$bSIGABRT :: Signal
SIGABRT = 6

pattern SIGALRM :: Signal
pattern $mSIGALRM :: forall {r}. Signal -> ((# #) -> r) -> ((# #) -> r) -> r
$bSIGALRM :: Signal
SIGALRM = 14

pattern SIGTERM :: Signal
pattern $mSIGTERM :: forall {r}. Signal -> ((# #) -> r) -> ((# #) -> r) -> r
$bSIGTERM :: Signal
SIGTERM = 15