--- /dev/null
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface LibPosixTTY where
+import PreludeArray(_ByteArray)
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludeStdIO(Maybe)
+data BaudRate = B0 | B50 | B75 | B110 | B134 | B150 | B200 | B300 | B600 | B1200 | B1800 | B2400 | B4800 | B9600 | B19200 | B38400
+data ControlCharacter = EndOfFile | EndOfLine | Erase | Interrupt | Kill | Quit | Suspend | Start | Stop
+data FlowAction = SuspendOutput | RestartOutput | TransmitStop | TransmitStart
+data QueueSelector = InputQueue | OutputQueue | BothQueues
+type TerminalAttributes = _ByteArray ()
+data TerminalMode = InterruptOnBreak | MapCRtoLF | IgnoreBreak | IgnoreCR | IgnoreParityErrors | MapLFtoCR | CheckParity | StripHighBit | StartStopInput | StartStopOutput | MarkParityErrors | ProcessOutput | LocalMode | ReadEnable | TwoStopBits | HangupOnClose | EnableParity | OddParity | EnableEcho | EchoErase | EchoKill | EchoLF | ProcessInput | ExtendedFunctions | KeyboardInterrupts | NoFlushOnInterrupt | BackgroundWriteInterrupt
+data TerminalState = Immediately | WhenDrained | WhenFlushed
+bitsPerByte :: _ByteArray () -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AP)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+controlChar :: _ByteArray () -> ControlCharacter -> Maybe Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)E" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+controlFlow :: Int -> FlowAction -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)EU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+discardData :: Int -> QueueSelector -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)EU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+drainOutput :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getTerminalAttributes :: Int -> _State _RealWorld -> (Either IOError13 (_ByteArray ()), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getTerminalProcessGroupID :: Int -> _State _RealWorld -> (Either IOError13 Int, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+inputSpeed :: _ByteArray () -> BaudRate
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AP)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+inputTime :: _ByteArray () -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AP)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+minInput :: _ByteArray () -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AP)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+outputSpeed :: _ByteArray () -> BaudRate
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AP)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+sendBreak :: Int -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)U(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+setTerminalAttributes :: Int -> _ByteArray () -> TerminalState -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)U(AP)EU(P)" {_A_ 4 _U_ 2212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+setTerminalProcessGroupID :: Int -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)U(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+terminalMode :: TerminalMode -> _ByteArray () -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "E" _N_ _N_ #-}
+withBits :: _ByteArray () -> Int -> _ByteArray ()
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+withCC :: _ByteArray () -> (ControlCharacter, Char) -> _ByteArray ()
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(EU(P))" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+withInputSpeed :: _ByteArray () -> BaudRate -> _ByteArray ()
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)E" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+withMinInput :: _ByteArray () -> Int -> _ByteArray ()
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+withMode :: _ByteArray () -> TerminalMode -> _ByteArray ()
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)E" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+withOutputSpeed :: _ByteArray () -> BaudRate -> _ByteArray ()
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)E" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+withTime :: _ByteArray () -> Int -> _ByteArray ()
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+withoutCC :: _ByteArray () -> ControlCharacter -> _ByteArray ()
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)E" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+withoutMode :: _ByteArray () -> TerminalMode -> _ByteArray ()
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)E" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+