Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 6e204a966e8c42d976f99a1700ce5f20 > files > 4221

ghc-7.4.2-4.mga5.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>System.Posix.Terminal.ByteString</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_System-Posix-Terminal-ByteString.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">unix-2.5.1.1: POSIX functionality</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>non-portable (requires POSIX)</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Maintainer</th><td>libraries@haskell.org</td></tr><tr><th>Safe Haskell</th><td>Trustworthy</td></tr></table><p class="caption">System.Posix.Terminal.ByteString</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Terminal support
</a><ul><li><a href="#g:2">Terminal attributes
</a></li><li><a href="#g:3">Terminal operations
</a></li><li><a href="#g:4">Process groups
</a></li><li><a href="#g:5">Testing a file descriptor
</a></li><li><a href="#g:6">Pseudoterminal operations
</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>POSIX Terminal support
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span>  <a href="#t:TerminalAttributes">TerminalAttributes</a> </li><li class="src short"><a href="#v:getTerminalAttributes">getTerminalAttributes</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:TerminalState">TerminalState</a> <ul class="subs"><li>= <a href="#v:Immediately">Immediately</a>  </li><li>| <a href="#v:WhenDrained">WhenDrained</a>  </li><li>| <a href="#v:WhenFlushed">WhenFlushed</a>  </li></ul></li><li class="src short"><a href="#v:setTerminalAttributes">setTerminalAttributes</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalState">TerminalState</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><span class="keyword">data</span>  <a href="#t:TerminalMode">TerminalMode</a> <ul class="subs"><li>= <a href="#v:InterruptOnBreak">InterruptOnBreak</a>  </li><li>| <a href="#v:MapCRtoLF">MapCRtoLF</a>  </li><li>| <a href="#v:IgnoreBreak">IgnoreBreak</a>  </li><li>| <a href="#v:IgnoreCR">IgnoreCR</a>  </li><li>| <a href="#v:IgnoreParityErrors">IgnoreParityErrors</a>  </li><li>| <a href="#v:MapLFtoCR">MapLFtoCR</a>  </li><li>| <a href="#v:CheckParity">CheckParity</a>  </li><li>| <a href="#v:StripHighBit">StripHighBit</a>  </li><li>| <a href="#v:StartStopInput">StartStopInput</a>  </li><li>| <a href="#v:StartStopOutput">StartStopOutput</a>  </li><li>| <a href="#v:MarkParityErrors">MarkParityErrors</a>  </li><li>| <a href="#v:ProcessOutput">ProcessOutput</a>  </li><li>| <a href="#v:LocalMode">LocalMode</a>  </li><li>| <a href="#v:ReadEnable">ReadEnable</a>  </li><li>| <a href="#v:TwoStopBits">TwoStopBits</a>  </li><li>| <a href="#v:HangupOnClose">HangupOnClose</a>  </li><li>| <a href="#v:EnableParity">EnableParity</a>  </li><li>| <a href="#v:OddParity">OddParity</a>  </li><li>| <a href="#v:EnableEcho">EnableEcho</a>  </li><li>| <a href="#v:EchoErase">EchoErase</a>  </li><li>| <a href="#v:EchoKill">EchoKill</a>  </li><li>| <a href="#v:EchoLF">EchoLF</a>  </li><li>| <a href="#v:ProcessInput">ProcessInput</a>  </li><li>| <a href="#v:ExtendedFunctions">ExtendedFunctions</a>  </li><li>| <a href="#v:KeyboardInterrupts">KeyboardInterrupts</a>  </li><li>| <a href="#v:NoFlushOnInterrupt">NoFlushOnInterrupt</a>  </li><li>| <a href="#v:BackgroundWriteInterrupt">BackgroundWriteInterrupt</a>  </li></ul></li><li class="src short"><a href="#v:withoutMode">withoutMode</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalMode">TerminalMode</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></li><li class="src short"><a href="#v:withMode">withMode</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalMode">TerminalMode</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></li><li class="src short"><a href="#v:terminalMode">terminalMode</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalMode">TerminalMode</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:bitsPerByte">bitsPerByte</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:withBits">withBits</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ControlCharacter">ControlCharacter</a> <ul class="subs"><li>= <a href="#v:EndOfFile">EndOfFile</a>  </li><li>| <a href="#v:EndOfLine">EndOfLine</a>  </li><li>| <a href="#v:Erase">Erase</a>  </li><li>| <a href="#v:Interrupt">Interrupt</a>  </li><li>| <a href="#v:Kill">Kill</a>  </li><li>| <a href="#v:Quit">Quit</a>  </li><li>| <a href="#v:Start">Start</a>  </li><li>| <a href="#v:Stop">Stop</a>  </li><li>| <a href="#v:Suspend">Suspend</a>  </li></ul></li><li class="src short"><a href="#v:controlChar">controlChar</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:ControlCharacter">ControlCharacter</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a></li><li class="src short"><a href="#v:withCC">withCC</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; (<a href="System-Posix-Terminal-ByteString.html#t:ControlCharacter">ControlCharacter</a>, <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a>) -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></li><li class="src short"><a href="#v:withoutCC">withoutCC</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:ControlCharacter">ControlCharacter</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></li><li class="src short"><a href="#v:inputTime">inputTime</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:withTime">withTime</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></li><li class="src short"><a href="#v:minInput">minInput</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:withMinInput">withMinInput</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:BaudRate">BaudRate</a> <ul class="subs"><li>= <a href="#v:B0">B0</a>  </li><li>| <a href="#v:B50">B50</a>  </li><li>| <a href="#v:B75">B75</a>  </li><li>| <a href="#v:B110">B110</a>  </li><li>| <a href="#v:B134">B134</a>  </li><li>| <a href="#v:B150">B150</a>  </li><li>| <a href="#v:B200">B200</a>  </li><li>| <a href="#v:B300">B300</a>  </li><li>| <a href="#v:B600">B600</a>  </li><li>| <a href="#v:B1200">B1200</a>  </li><li>| <a href="#v:B1800">B1800</a>  </li><li>| <a href="#v:B2400">B2400</a>  </li><li>| <a href="#v:B4800">B4800</a>  </li><li>| <a href="#v:B9600">B9600</a>  </li><li>| <a href="#v:B19200">B19200</a>  </li><li>| <a href="#v:B38400">B38400</a>  </li><li>| <a href="#v:B57600">B57600</a>  </li><li>| <a href="#v:B115200">B115200</a>  </li></ul></li><li class="src short"><a href="#v:inputSpeed">inputSpeed</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:BaudRate">BaudRate</a></li><li class="src short"><a href="#v:withInputSpeed">withInputSpeed</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:BaudRate">BaudRate</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></li><li class="src short"><a href="#v:outputSpeed">outputSpeed</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:BaudRate">BaudRate</a></li><li class="src short"><a href="#v:withOutputSpeed">withOutputSpeed</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:BaudRate">BaudRate</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></li><li class="src short"><a href="#v:sendBreak">sendBreak</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:drainOutput">drainOutput</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><span class="keyword">data</span>  <a href="#t:QueueSelector">QueueSelector</a> <ul class="subs"><li>= <a href="#v:InputQueue">InputQueue</a>  </li><li>| <a href="#v:OutputQueue">OutputQueue</a>  </li><li>| <a href="#v:BothQueues">BothQueues</a>  </li></ul></li><li class="src short"><a href="#v:discardData">discardData</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:QueueSelector">QueueSelector</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><span class="keyword">data</span>  <a href="#t:FlowAction">FlowAction</a> <ul class="subs"><li>= <a href="#v:SuspendOutput">SuspendOutput</a>  </li><li>| <a href="#v:RestartOutput">RestartOutput</a>  </li><li>| <a href="#v:TransmitStop">TransmitStop</a>  </li><li>| <a href="#v:TransmitStart">TransmitStart</a>  </li></ul></li><li class="src short"><a href="#v:controlFlow">controlFlow</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:FlowAction">FlowAction</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:getTerminalProcessGroupID">getTerminalProcessGroupID</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="../base-4.5.1.0/System-Posix-Types.html#t:ProcessGroupID">ProcessGroupID</a></li><li class="src short"><a href="#v:setTerminalProcessGroupID">setTerminalProcessGroupID</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-Posix-Types.html#t:ProcessGroupID">ProcessGroupID</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:queryTerminal">queryTerminal</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:getTerminalName">getTerminalName</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="System-Posix-ByteString-FilePath.html#t:RawFilePath">RawFilePath</a></li><li class="src short"><a href="#v:getControllingTerminalName">getControllingTerminalName</a> :: <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="System-Posix-ByteString-FilePath.html#t:RawFilePath">RawFilePath</a></li><li class="src short"><a href="#v:openPseudoTerminal">openPseudoTerminal</a> :: <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> (<a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a>, <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a>)</li><li class="src short"><a href="#v:getSlaveTerminalName">getSlaveTerminalName</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="System-Posix-ByteString-FilePath.html#t:RawFilePath">RawFilePath</a></li></ul></div><div id="interface"><h1 id="g:1">Terminal support
</h1><h2 id="g:2">Terminal attributes
</h2><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TerminalAttributes" class="def">TerminalAttributes</a>  </p></div><div class="top"><p class="src"><a name="v:getTerminalAttributes" class="def">getTerminalAttributes</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></p><div class="doc"><p><code>getTerminalAttributes fd</code> calls <code>tcgetattr</code> to obtain
   the <code>TerminalAttributes</code> associated with <code>Fd</code> <code>fd</code>.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TerminalState" class="def">TerminalState</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Immediately" class="def">Immediately</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WhenDrained" class="def">WhenDrained</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WhenFlushed" class="def">WhenFlushed</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a name="v:setTerminalAttributes" class="def">setTerminalAttributes</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalState">TerminalState</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p><code>setTerminalAttributes fd attr ts</code> calls <code>tcsetattr</code> to change
   the <code>TerminalAttributes</code> associated with <code>Fd</code> <code>fd</code> to
   <code>attr</code>, when the terminal is in the state indicated by <code>ts</code>.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TerminalMode" class="def">TerminalMode</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:InterruptOnBreak" class="def">InterruptOnBreak</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:MapCRtoLF" class="def">MapCRtoLF</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IgnoreBreak" class="def">IgnoreBreak</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IgnoreCR" class="def">IgnoreCR</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IgnoreParityErrors" class="def">IgnoreParityErrors</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:MapLFtoCR" class="def">MapLFtoCR</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckParity" class="def">CheckParity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StripHighBit" class="def">StripHighBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StartStopInput" class="def">StartStopInput</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StartStopOutput" class="def">StartStopOutput</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:MarkParityErrors" class="def">MarkParityErrors</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ProcessOutput" class="def">ProcessOutput</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:LocalMode" class="def">LocalMode</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ReadEnable" class="def">ReadEnable</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TwoStopBits" class="def">TwoStopBits</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HangupOnClose" class="def">HangupOnClose</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EnableParity" class="def">EnableParity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:OddParity" class="def">OddParity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EnableEcho" class="def">EnableEcho</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EchoErase" class="def">EchoErase</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EchoKill" class="def">EchoKill</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EchoLF" class="def">EchoLF</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ProcessInput" class="def">ProcessInput</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ExtendedFunctions" class="def">ExtendedFunctions</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:KeyboardInterrupts" class="def">KeyboardInterrupts</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NoFlushOnInterrupt" class="def">NoFlushOnInterrupt</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BackgroundWriteInterrupt" class="def">BackgroundWriteInterrupt</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a name="v:withoutMode" class="def">withoutMode</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalMode">TerminalMode</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></p></div><div class="top"><p class="src"><a name="v:withMode" class="def">withMode</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalMode">TerminalMode</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></p></div><div class="top"><p class="src"><a name="v:terminalMode" class="def">terminalMode</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalMode">TerminalMode</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:bitsPerByte" class="def">bitsPerByte</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><div class="top"><p class="src"><a name="v:withBits" class="def">withBits</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ControlCharacter" class="def">ControlCharacter</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:EndOfFile" class="def">EndOfFile</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EndOfLine" class="def">EndOfLine</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Erase" class="def">Erase</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Interrupt" class="def">Interrupt</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Kill" class="def">Kill</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Quit" class="def">Quit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Start" class="def">Start</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Stop" class="def">Stop</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Suspend" class="def">Suspend</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a name="v:controlChar" class="def">controlChar</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:ControlCharacter">ControlCharacter</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a></p></div><div class="top"><p class="src"><a name="v:withCC" class="def">withCC</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; (<a href="System-Posix-Terminal-ByteString.html#t:ControlCharacter">ControlCharacter</a>, <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a>) -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></p></div><div class="top"><p class="src"><a name="v:withoutCC" class="def">withoutCC</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:ControlCharacter">ControlCharacter</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></p></div><div class="top"><p class="src"><a name="v:inputTime" class="def">inputTime</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><div class="top"><p class="src"><a name="v:withTime" class="def">withTime</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></p></div><div class="top"><p class="src"><a name="v:minInput" class="def">minInput</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><div class="top"><p class="src"><a name="v:withMinInput" class="def">withMinInput</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:BaudRate" class="def">BaudRate</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:B0" class="def">B0</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B50" class="def">B50</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B75" class="def">B75</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B110" class="def">B110</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B134" class="def">B134</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B150" class="def">B150</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B200" class="def">B200</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B300" class="def">B300</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B600" class="def">B600</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B1200" class="def">B1200</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B1800" class="def">B1800</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B2400" class="def">B2400</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B4800" class="def">B4800</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B9600" class="def">B9600</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B19200" class="def">B19200</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B38400" class="def">B38400</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B57600" class="def">B57600</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B115200" class="def">B115200</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a name="v:inputSpeed" class="def">inputSpeed</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:BaudRate">BaudRate</a></p></div><div class="top"><p class="src"><a name="v:withInputSpeed" class="def">withInputSpeed</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:BaudRate">BaudRate</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></p></div><div class="top"><p class="src"><a name="v:outputSpeed" class="def">outputSpeed</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:BaudRate">BaudRate</a></p></div><div class="top"><p class="src"><a name="v:withOutputSpeed" class="def">withOutputSpeed</a> :: <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:BaudRate">BaudRate</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:TerminalAttributes">TerminalAttributes</a></p></div><h2 id="g:3">Terminal operations
</h2><div class="top"><p class="src"><a name="v:sendBreak" class="def">sendBreak</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p><code>sendBreak fd duration</code> calls <code>tcsendbreak</code> to transmit a
   continuous stream of zero-valued bits on <code>Fd</code> <code>fd</code> for the
   specified implementation-dependent <code>duration</code>.
</p></div></div><div class="top"><p class="src"><a name="v:drainOutput" class="def">drainOutput</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p><code>drainOutput fd</code> calls <code>tcdrain</code> to block until all output
   written to <code>Fd</code> <code>fd</code> has been transmitted.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:QueueSelector" class="def">QueueSelector</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:InputQueue" class="def">InputQueue</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:OutputQueue" class="def">OutputQueue</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BothQueues" class="def">BothQueues</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a name="v:discardData" class="def">discardData</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:QueueSelector">QueueSelector</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p><code>discardData fd queues</code> calls <code>tcflush</code> to discard
   pending input and/or output for <code>Fd</code> <code>fd</code>,
   as indicated by the <code>QueueSelector</code> <code>queues</code>.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:FlowAction" class="def">FlowAction</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:SuspendOutput" class="def">SuspendOutput</a></td><td class="doc"><p>TCOOFF
</p></td></tr><tr><td class="src"><a name="v:RestartOutput" class="def">RestartOutput</a></td><td class="doc"><p>TCOON
</p></td></tr><tr><td class="src"><a name="v:TransmitStop" class="def">TransmitStop</a></td><td class="doc"><p>TCIOFF
</p></td></tr><tr><td class="src"><a name="v:TransmitStart" class="def">TransmitStart</a></td><td class="doc"><p>TCION
</p></td></tr></table></div></div><div class="top"><p class="src"><a name="v:controlFlow" class="def">controlFlow</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="System-Posix-Terminal-ByteString.html#t:FlowAction">FlowAction</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p><code>controlFlow fd action</code> calls <code>tcflow</code> to control the 
   flow of data on <code>Fd</code> <code>fd</code>, as indicated by
   <code>action</code>.
</p></div></div><h2 id="g:4">Process groups
</h2><div class="top"><p class="src"><a name="v:getTerminalProcessGroupID" class="def">getTerminalProcessGroupID</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="../base-4.5.1.0/System-Posix-Types.html#t:ProcessGroupID">ProcessGroupID</a></p><div class="doc"><p><code>getTerminalProcessGroupID fd</code> calls <code>tcgetpgrp</code> to
   obtain the <code>ProcessGroupID</code> of the foreground process group 
   associated with the terminal attached to <code>Fd</code> <code>fd</code>.
</p></div></div><div class="top"><p class="src"><a name="v:setTerminalProcessGroupID" class="def">setTerminalProcessGroupID</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-Posix-Types.html#t:ProcessGroupID">ProcessGroupID</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p><code>setTerminalProcessGroupID fd pgid</code> calls <code>tcsetpgrp</code> to
   set the <code>ProcessGroupID</code> of the foreground process group 
   associated with the terminal attached to <code>Fd</code> 
   <code>fd</code> to <code>pgid</code>.
</p></div></div><h2 id="g:5">Testing a file descriptor
</h2><div class="top"><p class="src"><a name="v:queryTerminal" class="def">queryTerminal</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p><code>queryTerminal fd</code> calls <code>isatty</code> to determine whether or
   not <code>Fd</code> <code>fd</code> is associated with a terminal.
</p></div></div><div class="top"><p class="src"><a name="v:getTerminalName" class="def">getTerminalName</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="System-Posix-ByteString-FilePath.html#t:RawFilePath">RawFilePath</a></p><div class="doc"><p><code>getTerminalName fd</code> calls <code>ttyname</code> to obtain a name associated
   with the terminal for <code>Fd</code> <code>fd</code>. If <code>fd</code> is associated
   with a terminal, <code>getTerminalName</code> returns the name of the
   terminal.
</p></div></div><div class="top"><p class="src"><a name="v:getControllingTerminalName" class="def">getControllingTerminalName</a> :: <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="System-Posix-ByteString-FilePath.html#t:RawFilePath">RawFilePath</a></p><div class="doc"><p><code>getControllingTerminalName</code> calls <code>ctermid</code> to obtain
   a name associated with the controlling terminal for the process.  If a
   controlling terminal exists,
   <code>getControllingTerminalName</code> returns the name of the
   controlling terminal.
</p></div></div><h2 id="g:6">Pseudoterminal operations
</h2><div class="top"><p class="src"><a name="v:openPseudoTerminal" class="def">openPseudoTerminal</a> :: <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> (<a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a>, <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a>)</p><div class="doc"><p><code>openPseudoTerminal</code> creates a pseudoterminal (pty) pair, and
 returns the newly created pair as a (<code>master</code>, <code>slave</code>) tuple.
</p></div></div><div class="top"><p class="src"><a name="v:getSlaveTerminalName" class="def">getSlaveTerminalName</a> :: <a href="../base-4.5.1.0/System-Posix-Types.html#t:Fd">Fd</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="System-Posix-ByteString-FilePath.html#t:RawFilePath">RawFilePath</a></p><div class="doc"><p><code>getSlaveTerminalName</code> calls <code>ptsname</code> 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.
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>