0 | module System.Linux.Signalfd.Prim
2 | import System.Posix.File.Prim
3 | import System.Posix.Signal.Prim
5 | import public Data.C.Ptr
6 | import public System.Linux.Signalfd.Flags
7 | import public System.Linux.Signalfd.Struct
15 | %foreign "C:li_signalfd, linux-idris"
16 | prim__signalfd : AnyPtr -> Bits32 -> PrimIO CInt
29 | signalfd_ : (set : SigsetT) -> SignalfdFlags -> EPrim Signalfd
30 | signalfd_ set (F f) = toVal cast $
prim__signalfd (unwrap set) f
38 | signalfd : List Signal -> SignalfdFlags -> EPrim Signalfd
39 | signalfd ss fs = withSignals ss $
\set => signalfd_ set fs
43 | readSignalfd : Signalfd -> Nat -> EPrim (List Siginfo)
44 | readSignalfd fd n = read fd _ (cast n * sizeof SiginfoT)