System.Posix.Terminal.ByteString
| Copyright | (c) The University of Glasgow 2002 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | libraries@haskell.org |
| Stability | provisional |
| Portability | non-portable (requires POSIX) |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Содержание
Описание
Поддержка POSIX терминала
Поддержка терминала
Атрибуты терминала
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
Конструкторы
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
Конструкторы
| B0 | |
| B50 | |
| B75 | |
| B110 | |
| B134 | |
| B150 | |
| B200 | |
| B300 | |
| B600 | |
| B1200 | |
| B1800 | |
| B2400 | |
| B4800 | |
| B9600 | |
| B19200 | |
| B38400 | |
| B57600 | |
| B115200 |
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 вызывает tcsendbreak для передачи непрерывного потока нулевых битов на Fd fd в соответствии со спецификацией реализации duration.
drainOutput :: Fd -> IO () Source
drainOutput fd вызывает tcdrain для блокирования до тех пор, пока весь вывод, отправленный на Fd fd, не будет передан.
data QueueSelector Source
Конструкторы
| InputQueue | |
| OutputQueue | |
| BothQueues |
discardData :: Fd -> QueueSelector -> IO () Source
discardData fd queues вызывает tcflush для удаления ожидающего ввода и/или вывода для Fd fd, как указано QueueSelector queues.
data FlowAction Source
Конструкторы
| SuspendOutput | TCOOFF |
| RestartOutput | TCOON |
| TransmitStop | TCIOFF |
| TransmitStart | TCION |
controlFlow :: Fd -> FlowAction -> IO () Source
controlFlow fd action вызывает tcflow для управления потоком данных на Fd fd, как указано в action.
Группы процессов
getTerminalProcessGroupID :: Fd -> IO ProcessGroupID Source
getTerminalProcessGroupID fd вызывает tcgetpgrp для получения ProcessGroupID группы процессов переднего плана, связанной с терминалом, подключенным к Fd fd.
setTerminalProcessGroupID :: Fd -> ProcessGroupID -> IO () Source
setTerminalProcessGroupID fd pgid вызывает tcsetpgrp для установки ProcessGroupID группы процессов переднего плана, связанной с терминалом, подключенным к Fd fd на значение pgid.
Тестирование дескриптора файла
queryTerminal :: Fd -> IO Bool Source
queryTerminal fd вызывает isatty для определения, связан ли Fd fd с терминалом.
getTerminalName :: Fd -> IO RawFilePath Source
getTerminalName fd вызывает ttyname для получения имени, связанного с терминалом для Fd fd. Если fd ассоциирован с терминалом, getTerminalName возвращает имя терминала.
getControllingTerminalName :: IO RawFilePath Source
getControllingTerminalName вызывает ctermid для получения имени, связанного с управляющим терминалом для процесса. Если управляющий терминал существует, getControllingTerminalName возвращает имя управляющего терминала.
Операции с псевдотерминалами
openPseudoTerminal :: IO (Fd, Fd) Source
openPseudoTerminal создаёт пару псевдотерминалов (pty) и возвращает созданную пару в виде кортежа (master, slave).
getSlaveTerminalName :: Fd -> IO RawFilePath Source
getSlaveTerminalName вызывает ptsname для получения имени подчиненного терминала, связанного с парой псевдотерминалов. Дескриптор файла, который необходимо передать, должен быть дескриптором мастера.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/unix-2.7.1.0/System-Posix-Terminal-ByteString.html