8 | module System.Posix.Signal.Types
11 | import Data.C.Integer
12 | import Data.SortedMap
13 | import Derive.Prelude
16 | %language ElabReflection
19 | data How : Type where
24 | %runElab derive "How" [Show,Eq,Ord]
31 | %runElab derive "Signal" [Show,Eq,Ord,FromInteger]
35 | howCode : How -> Bits8
36 | howCode SIG_BLOCK = 0
37 | howCode SIG_UNBLOCK = 1
38 | howCode SIG_SETMASK = 2
48 | public export %inline
52 | public export %inline
56 | public export %inline
60 | public export %inline
64 | public export %inline
68 | public export %inline
72 | public export %inline
76 | public export %inline
80 | public export %inline
84 | public export %inline
88 | public export %inline
92 | public export %inline
96 | public export %inline
100 | public export %inline
104 | public export %inline
108 | public export %inline
112 | public export %inline
116 | public export %inline
120 | public export %inline
124 | public export %inline
128 | public export %inline
132 | public export %inline
136 | public export %inline
140 | public export %inline
144 | public export %inline
148 | public export %inline
152 | public export %inline
156 | public export %inline
160 | public export %inline
165 | sigName : SortedMap Signal String
168 | [ (SIGHUP, "SIGHUP")
169 | , (SIGINT, "SIGINT")
170 | , (SIGQUIT, "SIGQUIT")
171 | , (SIGILL, "SIGILL")
172 | , (SIGTRAP, "SIGTRAP")
173 | , (SIGABRT, "SIGABRT")
174 | , (SIGBUS, "SIGBUS")
175 | , (SIGFPE, "SIGFPE")
176 | , (SIGKILL, "SIGKILL")
177 | , (SIGUSR1, "SIGUSR1")
178 | , (SIGSEGV, "SIGSEGV")
179 | , (SIGUSR2, "SIGUSR2")
180 | , (SIGPIPE, "SIGPIPE")
181 | , (SIGALRM, "SIGALRM")
182 | , (SIGTERM, "SIGTERM")
183 | , (SIGCHLD, "SIGCHLD")
184 | , (SIGCONT, "SIGCONT")
185 | , (SIGSTOP, "SIGSTOP")
186 | , (SIGTSTP, "SIGTSTP")
187 | , (SIGTTIN, "SIGTTIN")
188 | , (SIGTTOU, "SIGTTOU")
189 | , (SIGURG, "SIGURG")
190 | , (SIGXCPU, "SIGXCPU")
191 | , (SIGXFSZ, "SIGXFSZ")
192 | , (SIGVTALRM, "SIGVTALRM")
193 | , (SIGPROF, "SIGPROF")
194 | , (SIGWINCH, "SIGWINCH")
195 | , (SIGSYS, "SIGSYS")
196 | , (SIGPOLL, "SIGPOLL")
199 | public export %inline
200 | siginfo_t_size : Bits32
201 | siginfo_t_size = 128