{-# LINE 1 "src/Sound/ALSA/Sequencer/Marshal/QuerySubscribe.hsc" #-}
module Sound.ALSA.Sequencer.Marshal.QuerySubscribe where
{-# LINE 2 "src/Sound/ALSA/Sequencer/Marshal/QuerySubscribe.hsc" #-}


{-# LINE 4 "src/Sound/ALSA/Sequencer/Marshal/QuerySubscribe.hsc" #-}
import Foreign.C.Types (CInt, )


data Type =
     Read
   | Write
   deriving (Show, Eq, Ord, Enum)

expType :: Type -> CInt
expType t  = case t of
  Read  -> 0
{-# LINE 15 "src/Sound/ALSA/Sequencer/Marshal/QuerySubscribe.hsc" #-}
  Write	-> 1
{-# LINE 16 "src/Sound/ALSA/Sequencer/Marshal/QuerySubscribe.hsc" #-}

impType :: CInt -> Type
impType t  = case t of
  0  -> Read
{-# LINE 20 "src/Sound/ALSA/Sequencer/Marshal/QuerySubscribe.hsc" #-}
  1 -> Write
{-# LINE 21 "src/Sound/ALSA/Sequencer/Marshal/QuerySubscribe.hsc" #-}
  _ -> error ("QuerySubscribe.impType: unknown subscription type (" ++ show t ++ ")")