Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 70ec89744a04da80369b4702b2c37256 > files > 1818

ghc-doc-6.10.4-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>System.Posix.Terminal</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_System-Posix-Terminal.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>unix-2.3.2.0: POSIX functionality</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>System.Posix.Terminal</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>non-portable (requires POSIX)</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>provisional</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>libraries@haskell.org</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Terminal support
</A
></DT
><DD
><DL
><DT
><A HREF="#2"
>Terminal attributes
</A
></DT
><DT
><A HREF="#3"
>Terminal operations
</A
></DT
><DT
><A HREF="#4"
>Process groups
</A
></DT
><DT
><A HREF="#5"
>Testing a file descriptor
</A
></DT
><DT
><A HREF="#6"
>Pseudoterminal operations
</A
></DT
></DL
></DD
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>POSIX Terminal support
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATerminalAttributes"
>TerminalAttributes</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetTerminalAttributes"
>getTerminalAttributes</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATerminalState"
>TerminalState</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AImmediately"
>Immediately</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AWhenDrained"
>WhenDrained</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AWhenFlushed"
>WhenFlushed</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetTerminalAttributes"
>setTerminalAttributes</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalState"
>TerminalState</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATerminalMode"
>TerminalMode</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AInterruptOnBreak"
>InterruptOnBreak</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AMapCRtoLF"
>MapCRtoLF</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIgnoreBreak"
>IgnoreBreak</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIgnoreCR"
>IgnoreCR</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIgnoreParityErrors"
>IgnoreParityErrors</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AMapLFtoCR"
>MapLFtoCR</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACheckParity"
>CheckParity</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AStripHighBit"
>StripHighBit</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AStartStopInput"
>StartStopInput</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AStartStopOutput"
>StartStopOutput</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AMarkParityErrors"
>MarkParityErrors</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AProcessOutput"
>ProcessOutput</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALocalMode"
>LocalMode</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AReadEnable"
>ReadEnable</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATwoStopBits"
>TwoStopBits</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AHangupOnClose"
>HangupOnClose</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEnableParity"
>EnableParity</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOddParity"
>OddParity</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEnableEcho"
>EnableEcho</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEchoErase"
>EchoErase</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEchoKill"
>EchoKill</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEchoLF"
>EchoLF</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AProcessInput"
>ProcessInput</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AExtendedFunctions"
>ExtendedFunctions</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AKeyboardInterrupts"
>KeyboardInterrupts</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ANoFlushOnInterrupt"
>NoFlushOnInterrupt</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ABackgroundWriteInterrupt"
>BackgroundWriteInterrupt</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithoutMode"
>withoutMode</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalMode"
>TerminalMode</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithMode"
>withMode</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalMode"
>TerminalMode</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AterminalMode"
>terminalMode</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalMode"
>TerminalMode</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AbitsPerByte"
>bitsPerByte</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithBits"
>withBits</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AControlCharacter"
>ControlCharacter</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AEndOfFile"
>EndOfFile</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEndOfLine"
>EndOfLine</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AErase"
>Erase</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInterrupt"
>Interrupt</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AKill"
>Kill</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AQuit"
>Quit</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AStart"
>Start</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AStop"
>Stop</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASuspend"
>Suspend</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcontrolChar"
>controlChar</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3AControlCharacter"
>ControlCharacter</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithCC"
>withCC</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; (<A HREF="System-Posix-Terminal.html#t%3AControlCharacter"
>ControlCharacter</A
>, <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
>) -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithoutCC"
>withoutCC</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3AControlCharacter"
>ControlCharacter</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinputTime"
>inputTime</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithTime"
>withTime</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminInput"
>minInput</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithMinInput"
>withMinInput</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ABaudRate"
>BaudRate</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AB0"
>B0</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB50"
>B50</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB75"
>B75</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB110"
>B110</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB134"
>B134</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB150"
>B150</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB200"
>B200</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB300"
>B300</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB600"
>B600</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB1200"
>B1200</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB1800"
>B1800</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB2400"
>B2400</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB4800"
>B4800</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB9600"
>B9600</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB19200"
>B19200</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB38400"
>B38400</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB57600"
>B57600</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AB115200"
>B115200</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinputSpeed"
>inputSpeed</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ABaudRate"
>BaudRate</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithInputSpeed"
>withInputSpeed</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ABaudRate"
>BaudRate</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AoutputSpeed"
>outputSpeed</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ABaudRate"
>BaudRate</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithOutputSpeed"
>withOutputSpeed</A
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ABaudRate"
>BaudRate</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsendBreak"
>sendBreak</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdrainOutput"
>drainOutput</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AQueueSelector"
>QueueSelector</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AInputQueue"
>InputQueue</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOutputQueue"
>OutputQueue</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ABothQueues"
>BothQueues</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdiscardData"
>discardData</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3AQueueSelector"
>QueueSelector</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AFlowAction"
>FlowAction</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ASuspendOutput"
>SuspendOutput</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARestartOutput"
>RestartOutput</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATransmitStop"
>TransmitStop</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATransmitStart"
>TransmitStart</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcontrolFlow"
>controlFlow</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3AFlowAction"
>FlowAction</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetTerminalProcessGroupID"
>getTerminalProcessGroupID</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base/System-Posix-Types.html#t%3AProcessGroupID"
>ProcessGroupID</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetTerminalProcessGroupID"
>setTerminalProcessGroupID</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-Posix-Types.html#t%3AProcessGroupID"
>ProcessGroupID</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AqueryTerminal"
>queryTerminal</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetTerminalName"
>getTerminalName</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetControllingTerminalName"
>getControllingTerminalName</A
> :: <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AopenPseudoTerminal"
>openPseudoTerminal</A
> :: <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
>, <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetSlaveTerminalName"
>getSlaveTerminalName</A
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Terminal support
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="2"
><A NAME="2"
>Terminal attributes
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TerminalAttributes"
><A NAME="t%3ATerminalAttributes"
></A
></A
><B
>TerminalAttributes</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getTerminalAttributes"
><A NAME="v%3AgetTerminalAttributes"
></A
></A
><B
>getTerminalAttributes</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>getTerminalAttributes fd</TT
> calls <TT
>tcgetattr</TT
> to obtain
   the <TT
>TerminalAttributes</TT
> associated with <TT
>Fd</TT
> <TT
>fd</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TerminalState"
><A NAME="t%3ATerminalState"
></A
></A
><B
>TerminalState</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Immediately"
><A NAME="v%3AImmediately"
></A
></A
><B
>Immediately</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:WhenDrained"
><A NAME="v%3AWhenDrained"
></A
></A
><B
>WhenDrained</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:WhenFlushed"
><A NAME="v%3AWhenFlushed"
></A
></A
><B
>WhenFlushed</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setTerminalAttributes"
><A NAME="v%3AsetTerminalAttributes"
></A
></A
><B
>setTerminalAttributes</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalState"
>TerminalState</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>setTerminalAttributes fd attr ts</TT
> calls <TT
>tcsetattr</TT
> to change
   the <TT
>TerminalAttributes</TT
> associated with <TT
>Fd</TT
> <TT
>fd</TT
> to
   <TT
>attr</TT
>, when the terminal is in the state indicated by <TT
>ts</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TerminalMode"
><A NAME="t%3ATerminalMode"
></A
></A
><B
>TerminalMode</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:InterruptOnBreak"
><A NAME="v%3AInterruptOnBreak"
></A
></A
><B
>InterruptOnBreak</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:MapCRtoLF"
><A NAME="v%3AMapCRtoLF"
></A
></A
><B
>MapCRtoLF</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IgnoreBreak"
><A NAME="v%3AIgnoreBreak"
></A
></A
><B
>IgnoreBreak</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IgnoreCR"
><A NAME="v%3AIgnoreCR"
></A
></A
><B
>IgnoreCR</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IgnoreParityErrors"
><A NAME="v%3AIgnoreParityErrors"
></A
></A
><B
>IgnoreParityErrors</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:MapLFtoCR"
><A NAME="v%3AMapLFtoCR"
></A
></A
><B
>MapLFtoCR</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CheckParity"
><A NAME="v%3ACheckParity"
></A
></A
><B
>CheckParity</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:StripHighBit"
><A NAME="v%3AStripHighBit"
></A
></A
><B
>StripHighBit</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:StartStopInput"
><A NAME="v%3AStartStopInput"
></A
></A
><B
>StartStopInput</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:StartStopOutput"
><A NAME="v%3AStartStopOutput"
></A
></A
><B
>StartStopOutput</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:MarkParityErrors"
><A NAME="v%3AMarkParityErrors"
></A
></A
><B
>MarkParityErrors</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ProcessOutput"
><A NAME="v%3AProcessOutput"
></A
></A
><B
>ProcessOutput</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LocalMode"
><A NAME="v%3ALocalMode"
></A
></A
><B
>LocalMode</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ReadEnable"
><A NAME="v%3AReadEnable"
></A
></A
><B
>ReadEnable</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TwoStopBits"
><A NAME="v%3ATwoStopBits"
></A
></A
><B
>TwoStopBits</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:HangupOnClose"
><A NAME="v%3AHangupOnClose"
></A
></A
><B
>HangupOnClose</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EnableParity"
><A NAME="v%3AEnableParity"
></A
></A
><B
>EnableParity</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:OddParity"
><A NAME="v%3AOddParity"
></A
></A
><B
>OddParity</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EnableEcho"
><A NAME="v%3AEnableEcho"
></A
></A
><B
>EnableEcho</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EchoErase"
><A NAME="v%3AEchoErase"
></A
></A
><B
>EchoErase</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EchoKill"
><A NAME="v%3AEchoKill"
></A
></A
><B
>EchoKill</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EchoLF"
><A NAME="v%3AEchoLF"
></A
></A
><B
>EchoLF</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ProcessInput"
><A NAME="v%3AProcessInput"
></A
></A
><B
>ProcessInput</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ExtendedFunctions"
><A NAME="v%3AExtendedFunctions"
></A
></A
><B
>ExtendedFunctions</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:KeyboardInterrupts"
><A NAME="v%3AKeyboardInterrupts"
></A
></A
><B
>KeyboardInterrupts</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:NoFlushOnInterrupt"
><A NAME="v%3ANoFlushOnInterrupt"
></A
></A
><B
>NoFlushOnInterrupt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:BackgroundWriteInterrupt"
><A NAME="v%3ABackgroundWriteInterrupt"
></A
></A
><B
>BackgroundWriteInterrupt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withoutMode"
><A NAME="v%3AwithoutMode"
></A
></A
><B
>withoutMode</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalMode"
>TerminalMode</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withMode"
><A NAME="v%3AwithMode"
></A
></A
><B
>withMode</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalMode"
>TerminalMode</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:terminalMode"
><A NAME="v%3AterminalMode"
></A
></A
><B
>terminalMode</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalMode"
>TerminalMode</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:bitsPerByte"
><A NAME="v%3AbitsPerByte"
></A
></A
><B
>bitsPerByte</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withBits"
><A NAME="v%3AwithBits"
></A
></A
><B
>withBits</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ControlCharacter"
><A NAME="t%3AControlCharacter"
></A
></A
><B
>ControlCharacter</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:EndOfFile"
><A NAME="v%3AEndOfFile"
></A
></A
><B
>EndOfFile</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EndOfLine"
><A NAME="v%3AEndOfLine"
></A
></A
><B
>EndOfLine</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Erase"
><A NAME="v%3AErase"
></A
></A
><B
>Erase</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Interrupt"
><A NAME="v%3AInterrupt"
></A
></A
><B
>Interrupt</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Kill"
><A NAME="v%3AKill"
></A
></A
><B
>Kill</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Quit"
><A NAME="v%3AQuit"
></A
></A
><B
>Quit</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Start"
><A NAME="v%3AStart"
></A
></A
><B
>Start</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Stop"
><A NAME="v%3AStop"
></A
></A
><B
>Stop</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Suspend"
><A NAME="v%3ASuspend"
></A
></A
><B
>Suspend</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:controlChar"
><A NAME="v%3AcontrolChar"
></A
></A
><B
>controlChar</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3AControlCharacter"
>ControlCharacter</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withCC"
><A NAME="v%3AwithCC"
></A
></A
><B
>withCC</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; (<A HREF="System-Posix-Terminal.html#t%3AControlCharacter"
>ControlCharacter</A
>, <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
>) -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withoutCC"
><A NAME="v%3AwithoutCC"
></A
></A
><B
>withoutCC</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3AControlCharacter"
>ControlCharacter</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:inputTime"
><A NAME="v%3AinputTime"
></A
></A
><B
>inputTime</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withTime"
><A NAME="v%3AwithTime"
></A
></A
><B
>withTime</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minInput"
><A NAME="v%3AminInput"
></A
></A
><B
>minInput</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withMinInput"
><A NAME="v%3AwithMinInput"
></A
></A
><B
>withMinInput</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:BaudRate"
><A NAME="t%3ABaudRate"
></A
></A
><B
>BaudRate</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:B0"
><A NAME="v%3AB0"
></A
></A
><B
>B0</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B50"
><A NAME="v%3AB50"
></A
></A
><B
>B50</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B75"
><A NAME="v%3AB75"
></A
></A
><B
>B75</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B110"
><A NAME="v%3AB110"
></A
></A
><B
>B110</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B134"
><A NAME="v%3AB134"
></A
></A
><B
>B134</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B150"
><A NAME="v%3AB150"
></A
></A
><B
>B150</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B200"
><A NAME="v%3AB200"
></A
></A
><B
>B200</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B300"
><A NAME="v%3AB300"
></A
></A
><B
>B300</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B600"
><A NAME="v%3AB600"
></A
></A
><B
>B600</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B1200"
><A NAME="v%3AB1200"
></A
></A
><B
>B1200</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B1800"
><A NAME="v%3AB1800"
></A
></A
><B
>B1800</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B2400"
><A NAME="v%3AB2400"
></A
></A
><B
>B2400</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B4800"
><A NAME="v%3AB4800"
></A
></A
><B
>B4800</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B9600"
><A NAME="v%3AB9600"
></A
></A
><B
>B9600</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B19200"
><A NAME="v%3AB19200"
></A
></A
><B
>B19200</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B38400"
><A NAME="v%3AB38400"
></A
></A
><B
>B38400</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B57600"
><A NAME="v%3AB57600"
></A
></A
><B
>B57600</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:B115200"
><A NAME="v%3AB115200"
></A
></A
><B
>B115200</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:inputSpeed"
><A NAME="v%3AinputSpeed"
></A
></A
><B
>inputSpeed</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ABaudRate"
>BaudRate</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withInputSpeed"
><A NAME="v%3AwithInputSpeed"
></A
></A
><B
>withInputSpeed</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ABaudRate"
>BaudRate</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:outputSpeed"
><A NAME="v%3AoutputSpeed"
></A
></A
><B
>outputSpeed</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ABaudRate"
>BaudRate</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withOutputSpeed"
><A NAME="v%3AwithOutputSpeed"
></A
></A
><B
>withOutputSpeed</B
> :: <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ABaudRate"
>BaudRate</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3ATerminalAttributes"
>TerminalAttributes</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="3"
><A NAME="3"
>Terminal operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sendBreak"
><A NAME="v%3AsendBreak"
></A
></A
><B
>sendBreak</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>sendBreak fd duration</TT
> calls <TT
>tcsendbreak</TT
> to transmit a
   continuous stream of zero-valued bits on <TT
>Fd</TT
> <TT
>fd</TT
> for the
   specified implementation-dependent <TT
>duration</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:drainOutput"
><A NAME="v%3AdrainOutput"
></A
></A
><B
>drainOutput</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>drainOutput fd</TT
> calls <TT
>tcdrain</TT
> to block until all output
   written to <TT
>Fd</TT
> <TT
>fd</TT
> has been transmitted.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:QueueSelector"
><A NAME="t%3AQueueSelector"
></A
></A
><B
>QueueSelector</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:InputQueue"
><A NAME="v%3AInputQueue"
></A
></A
><B
>InputQueue</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:OutputQueue"
><A NAME="v%3AOutputQueue"
></A
></A
><B
>OutputQueue</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:BothQueues"
><A NAME="v%3ABothQueues"
></A
></A
><B
>BothQueues</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:discardData"
><A NAME="v%3AdiscardData"
></A
></A
><B
>discardData</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3AQueueSelector"
>QueueSelector</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>discardData fd queues</TT
> calls <TT
>tcflush</TT
> to discard
   pending input and/or output for <TT
>Fd</TT
> <TT
>fd</TT
>,
   as indicated by the <TT
>QueueSelector</TT
> <TT
>queues</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:FlowAction"
><A NAME="t%3AFlowAction"
></A
></A
><B
>FlowAction</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:SuspendOutput"
><A NAME="v%3ASuspendOutput"
></A
></A
><B
>SuspendOutput</B
></TD
><TD CLASS="rdoc"
>TCOOFF
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RestartOutput"
><A NAME="v%3ARestartOutput"
></A
></A
><B
>RestartOutput</B
></TD
><TD CLASS="rdoc"
>TCOON
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TransmitStop"
><A NAME="v%3ATransmitStop"
></A
></A
><B
>TransmitStop</B
></TD
><TD CLASS="rdoc"
>TCIOFF
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TransmitStart"
><A NAME="v%3ATransmitStart"
></A
></A
><B
>TransmitStart</B
></TD
><TD CLASS="rdoc"
>TCION
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:controlFlow"
><A NAME="v%3AcontrolFlow"
></A
></A
><B
>controlFlow</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="System-Posix-Terminal.html#t%3AFlowAction"
>FlowAction</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>controlFlow fd action</TT
> calls <TT
>tcflow</TT
> to control the 
   flow of data on <TT
>Fd</TT
> <TT
>fd</TT
>, as indicated by
   <TT
>action</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="4"
><A NAME="4"
>Process groups
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getTerminalProcessGroupID"
><A NAME="v%3AgetTerminalProcessGroupID"
></A
></A
><B
>getTerminalProcessGroupID</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base/System-Posix-Types.html#t%3AProcessGroupID"
>ProcessGroupID</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>getTerminalProcessGroupID fd</TT
> calls <TT
>tcgetpgrp</TT
> to
   obtain the <TT
>ProcessGroupID</TT
> of the foreground process group 
   associated with the terminal attached to <TT
>Fd</TT
> <TT
>fd</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setTerminalProcessGroupID"
><A NAME="v%3AsetTerminalProcessGroupID"
></A
></A
><B
>setTerminalProcessGroupID</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-Posix-Types.html#t%3AProcessGroupID"
>ProcessGroupID</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>setTerminalProcessGroupID fd pgid</TT
> calls <TT
>tcsetpgrp</TT
> to
   set the <TT
>ProcessGroupID</TT
> of the foreground process group 
   associated with the terminal attached to <TT
>Fd</TT
> 
   <TT
>fd</TT
> to <TT
>pgid</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="5"
><A NAME="5"
>Testing a file descriptor
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:queryTerminal"
><A NAME="v%3AqueryTerminal"
></A
></A
><B
>queryTerminal</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>queryTerminal fd</TT
> calls <TT
>isatty</TT
> to determine whether or
   not <TT
>Fd</TT
> <TT
>fd</TT
> is associated with a terminal.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getTerminalName"
><A NAME="v%3AgetTerminalName"
></A
></A
><B
>getTerminalName</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>getTerminalName fd</TT
> calls <TT
>ttyname</TT
> to obtain a name associated
   with the terminal for <TT
>Fd</TT
> <TT
>fd</TT
>. If <TT
>fd</TT
> is associated
   with a terminal, <TT
>getTerminalName</TT
> returns the name of the
   terminal.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getControllingTerminalName"
><A NAME="v%3AgetControllingTerminalName"
></A
></A
><B
>getControllingTerminalName</B
> :: <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>getControllingTerminalName</TT
> calls <TT
>ctermid</TT
> to obtain
   a name associated with the controlling terminal for the process.  If a
   controlling terminal exists,
   <TT
>getControllingTerminalName</TT
> returns the name of the
   controlling terminal.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="6"
><A NAME="6"
>Pseudoterminal operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:openPseudoTerminal"
><A NAME="v%3AopenPseudoTerminal"
></A
></A
><B
>openPseudoTerminal</B
> :: <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
>, <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
>)</TD
></TR
><TR
><TD CLASS="doc"
><TT
>openPseudoTerminal</TT
> creates a pseudoterminal (pty) pair, and
 returns the newly created pair as a (<TT
>master</TT
>, <TT
>slave</TT
>) tuple.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getSlaveTerminalName"
><A NAME="v%3AgetSlaveTerminalName"
></A
></A
><B
>getSlaveTerminalName</B
> :: <A HREF="../base/System-Posix-Types.html#t%3AFd"
>Fd</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
>getSlaveTerminalName</TT
> calls <TT
>ptsname</TT
> to obtain the name of the
 slave terminal associated with a pseudoterminal pair.  The file
 descriptor to pass in must be that of the master.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>