{-# LINE 1 "src/Sound/ALSA/Sequencer/Marshal/Sequencer.hsc" #-}
module Sound.ALSA.Sequencer.Marshal.Sequencer where
import qualified Foreign.C.Types as C
import Foreign.Ptr (Ptr, )
class OpenMode mode where expOpenMode :: mode -> C.CInt
class OpenMode mode => AllowInput mode where
class OpenMode mode => AllowOutput mode where
data OutputMode = OutputMode deriving (Show)
data InputMode = InputMode deriving (Show)
data DuplexMode = DuplexMode deriving (Show)
instance OpenMode OutputMode where expOpenMode _ = 1
{-# LINE 37 "src/Sound/ALSA/Sequencer/Marshal/Sequencer.hsc" #-}
instance OpenMode InputMode where expOpenMode _ = 2
{-# LINE 38 "src/Sound/ALSA/Sequencer/Marshal/Sequencer.hsc" #-}
instance OpenMode DuplexMode where expOpenMode _ = 3
{-# LINE 39 "src/Sound/ALSA/Sequencer/Marshal/Sequencer.hsc" #-}
instance AllowOutput OutputMode where
instance AllowOutput DuplexMode where
instance AllowInput InputMode where
instance AllowInput DuplexMode where
data BlockMode = Block
| Nonblock
deriving (Show,Eq)
expBlockMode :: BlockMode -> C.CInt
expBlockMode x = case x of
Block -> 0
Nonblock -> 1
{-# LINE 55 "src/Sound/ALSA/Sequencer/Marshal/Sequencer.hsc" #-}
newtype T mode = Cons (Ptr Core) deriving Eq
data Core