{-# LINE 1 "src/Posix/MessageQueue/Types.hsc" #-}
module Posix.MessageQueue.Types
( OpenMode(..)
, OpenFlags(..)
, nonblocking
) where
import Data.Bits ((.|.))
import Foreign.C.Types (CInt(..))
newtype OpenMode = OpenMode CInt
newtype OpenFlags = OpenFlags CInt
instance Semigroup OpenFlags where
OpenFlags CInt
x <> :: OpenFlags -> OpenFlags -> OpenFlags
<> OpenFlags CInt
y = CInt -> OpenFlags
OpenFlags (CInt
x CInt -> CInt -> CInt
forall a. Bits a => a -> a -> a
.|. CInt
y)
instance Monoid OpenFlags where mempty :: OpenFlags
mempty = CInt -> OpenFlags
OpenFlags CInt
0
nonblocking :: OpenFlags
nonblocking :: OpenFlags
nonblocking = CInt -> OpenFlags
OpenFlags CInt
2048
{-# LINE 25 "src/Posix/MessageQueue/Types.hsc" #-}