| Copyright | (c) The University of Glasgow 2002 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | [email protected] |
| Stability | provisional |
| Portability | non-portable (requires POSIX) |
| Safe Haskell | Safe |
| Language | Haskell2010 |
POSIX Terminal support
data TerminalAttributes Source
getTerminalAttributes :: Fd -> IO TerminalAttributes Source
getTerminalAttributes fd calls tcgetattr to obtain the TerminalAttributes associated with Fd fd.
data TerminalState Source
| Immediately | |
| WhenDrained | |
| WhenFlushed |
setTerminalAttributes :: Fd -> TerminalAttributes -> TerminalState -> IO () Source
setTerminalAttributes fd attr ts calls tcsetattr to change the TerminalAttributes associated with Fd fd to attr, when the terminal is in the state indicated by ts.
data TerminalMode Source
| InterruptOnBreak |
|
| MapCRtoLF |
|
| IgnoreBreak |
|
| IgnoreCR |
|
| IgnoreParityErrors |
|
| MapLFtoCR |
|
| CheckParity |
|
| StripHighBit |
|
| RestartOnAny |
|
| StartStopInput |
|
| StartStopOutput |
|
| MarkParityErrors |
|
| ProcessOutput |
|
| MapLFtoCRLF |
Since: unix-2.8.0.0 |
| OutputMapCRtoLF |
Since: unix-2.8.0.0 |
| NoCRAtColumnZero |
Since: unix-2.8.0.0 |
| ReturnMeansLF |
Since: unix-2.8.0.0 |
| TabDelayMask0 |
Since: unix-2.8.0.0 |
| TabDelayMask3 |
Since: unix-2.8.0.0 |
| LocalMode |
|
| ReadEnable |
|
| TwoStopBits |
|
| HangupOnClose |
|
| EnableParity |
|
| OddParity |
|
| EnableEcho |
|
| EchoErase |
|
| EchoKill |
|
| EchoLF |
|
| ProcessInput |
|
| ExtendedFunctions |
|
| KeyboardInterrupts |
|
| NoFlushOnInterrupt |
|
| BackgroundWriteInterrupt |
|
withoutMode :: TerminalAttributes -> TerminalMode -> TerminalAttributes Source
withMode :: TerminalAttributes -> TerminalMode -> TerminalAttributes Source
terminalMode :: TerminalMode -> TerminalAttributes -> Bool Source
bitsPerByte :: TerminalAttributes -> Int Source
withBits :: TerminalAttributes -> Int -> TerminalAttributes Source
data ControlCharacter Source
controlChar :: TerminalAttributes -> ControlCharacter -> Maybe Char Source
withCC :: TerminalAttributes -> (ControlCharacter, Char) -> TerminalAttributes Source
withoutCC :: TerminalAttributes -> ControlCharacter -> TerminalAttributes Source
inputTime :: TerminalAttributes -> Int Source
withTime :: TerminalAttributes -> Int -> TerminalAttributes Source
minInput :: TerminalAttributes -> Int Source
withMinInput :: TerminalAttributes -> Int -> TerminalAttributes Source
Serial line baudrate. The set of supported speeds is system-dependent. Portable use of the provided pattern synonyms that are outside the list mandated by POSIX requires #ifdef guards.
Applications may need to be prepared to encounter speeds not known at compile time, these can be handled generically via the BaudRate constructor. In other words, the provided pattern synonyms are not necessarily a COMPLETE set.
All non-zero pseudo-terminal baud rates are functionally equivalent, and the pty driver may accept any speed within a suitable range. Requested speeds may be rounded up or down to fit into the supported range.
| BaudRate CSpeed |
| pattern B0 :: BaudRate | Hang up |
| pattern B1000000 :: BaudRate | 1000000 baud, non-POSIX system-dependent extension |
| pattern B110 :: BaudRate | 110 baud |
| pattern B115200 :: BaudRate | 115200 baud, non-POSIX system-dependent extension |
| pattern B1152000 :: BaudRate | 1152000 baud, non-POSIX system-dependent extension |
| pattern B1200 :: BaudRate | 1200 baud |
| pattern B134 :: BaudRate |
|
| pattern B150 :: BaudRate | 150 baud |
| pattern B1500000 :: BaudRate | 1500000 baud, non-POSIX system-dependent extension |
| pattern B1800 :: BaudRate | 1800 baud |
| pattern B19200 :: BaudRate | 19200 baud |
| pattern B200 :: BaudRate | 200 baud |
| pattern B2000000 :: BaudRate | 2000000 baud, non-POSIX system-dependent extension |
| pattern B230400 :: BaudRate | 230400 baud, non-POSIX system-dependent extension |
| pattern B2400 :: BaudRate | 2400 baud |
| pattern B2500000 :: BaudRate | 2500000 baud, non-POSIX system-dependent extension |
| pattern B300 :: BaudRate | 300 baud |
| pattern B3000000 :: BaudRate | 3000000 baud, non-POSIX system-dependent extension |
| pattern B3500000 :: BaudRate | 3500000 baud, non-POSIX system-dependent extension |
| pattern B38400 :: BaudRate | 38400 baud |
| pattern B4000000 :: BaudRate | 4000000 baud, non-POSIX system-dependent extension |
| pattern B460800 :: BaudRate | 460800 baud, non-POSIX system-dependent extension |
| pattern B4800 :: BaudRate | 4800 baud |
| pattern B50 :: BaudRate | 50 baud |
| pattern B500000 :: BaudRate | 500000 baud, non-POSIX system-dependent extension |
| pattern B57600 :: BaudRate | 57600 baud, non-POSIX system-dependent extension |
| pattern B576000 :: BaudRate | 576000 baud, non-POSIX system-dependent extension |
| pattern B600 :: BaudRate | 600 baud |
| pattern B75 :: BaudRate | 75 baud |
| pattern B921600 :: BaudRate | 921600 baud, non-POSIX system-dependent extension |
| pattern B9600 :: BaudRate | 9600 baud |
| Enum BaudRate Source | |
Defined in System.Posix.Terminal.Common | |
| Num BaudRate Source | |
| Real BaudRate Source | |
Defined in System.Posix.Terminal.Common MethodstoRational :: BaudRate -> Rational | |
| Show BaudRate Source | |
| Eq BaudRate Source | |
| Ord BaudRate Source | |
Defined in System.Posix.Terminal.Common | |
inputSpeed :: TerminalAttributes -> BaudRate Source
withInputSpeed :: TerminalAttributes -> BaudRate -> TerminalAttributes Source
outputSpeed :: TerminalAttributes -> BaudRate Source
withOutputSpeed :: TerminalAttributes -> BaudRate -> TerminalAttributes Source
sendBreak :: Fd -> Int -> IO () Source
sendBreak fd duration calls tcsendbreak to transmit a continuous stream of zero-valued bits on Fd fd for the specified implementation-dependent duration.
drainOutput :: Fd -> IO () Source
drainOutput fd calls tcdrain to block until all output written to Fd fd has been transmitted.
Throws IOError ("unsupported operation") if platform does not provide tcdrain(3) (use #if HAVE_TCDRAIN CPP guard to detect availability).
data QueueSelector Source
| InputQueue | |
| OutputQueue | |
| BothQueues |
discardData :: Fd -> QueueSelector -> IO () Source
discardData fd queues calls tcflush to discard pending input and/or output for Fd fd, as indicated by the QueueSelector queues.
data FlowAction Source
| SuspendOutput | TCOOFF |
| RestartOutput | TCOON |
| TransmitStop | TCIOFF |
| TransmitStart | TCION |
controlFlow :: Fd -> FlowAction -> IO () Source
controlFlow fd action calls tcflow to control the flow of data on Fd fd, as indicated by action.
getTerminalProcessGroupID :: Fd -> IO ProcessGroupID Source
getTerminalProcessGroupID fd calls tcgetpgrp to obtain the ProcessGroupID of the foreground process group associated with the terminal attached to Fd fd.
setTerminalProcessGroupID :: Fd -> ProcessGroupID -> IO () Source
setTerminalProcessGroupID fd pgid calls tcsetpgrp to set the ProcessGroupID of the foreground process group associated with the terminal attached to Fd fd to pgid.
queryTerminal :: Fd -> IO Bool Source
queryTerminal fd calls isatty to determine whether or not Fd fd is associated with a terminal.
getTerminalName :: Fd -> IO RawFilePath Source
getTerminalName fd calls ttyname to obtain a name associated with the terminal for Fd fd. If fd is associated with a terminal, getTerminalName returns the name of the terminal.
getControllingTerminalName :: IO RawFilePath Source
getControllingTerminalName calls ctermid to obtain a name associated with the controlling terminal for the process. If a controlling terminal exists, getControllingTerminalName returns the name of the controlling terminal.
Throws IOError ("unsupported operation") if platform does not provide ctermid(3) (use #if HAVE_CTERMID CPP guard to detect availability).
openPseudoTerminal :: IO (Fd, Fd) Source
openPseudoTerminal creates a pseudoterminal (pty) pair, and returns the newly created pair as a (master, slave) tuple.
getSlaveTerminalName :: Fd -> IO RawFilePath Source
getSlaveTerminalName calls ptsname 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.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/unix-2.8.6.0-e212/System-Posix-Terminal-ByteString.html