System.Posix.Terminal
| 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 Выбор очереди Source
Конструкторы
| Очередь ввода | |
| Очередь вывода | |
| Обе очереди |
discardData :: Fd -> Выбор очереди -> IO () Source
discardData fd queues вызывает tcflush для удаления ожидающих данных ввода и/или вывода для Fd fd, как указано в QueueSelector queues.
data Действие потока Source
Конструкторы
| Приостановить вывод | TCOOFF |
| Возобновить вывод | TCOON |
| Остановить передачу | TCIOFF |
| Начать передачу | TCION |
controlFlow :: Fd -> Действие потока -> IO () Source
controlFlow fd action вызывает tcflow для управления потоком данных по Fd fd, как указано в action.
Группы процессов
getTerminalProcessGroupID :: Fd -> IO ProcessGroupID Source
getTerminalProcessGroupID fd вызывает tcgetpgrp для получения идентификатора группы процессов переднего плана, связанного с терминалом, подключенным к Fd fd.
setTerminalProcessGroupID :: Fd -> ProcessGroupID -> IO () Source
setTerminalProcessGroupID fd pgid вызывает tcsetpgrp для установки идентификатора группы процессов переднего плана, связанного с терминалом, подключенным к Fd fd на pgid.
Тестирование дескриптора файла
queryTerminal :: Fd -> IO Bool Source
queryTerminal fd вызывает isatty для определения, ассоциирован ли Fd fd с терминалом.
getTerminalName :: Fd -> IO FilePath Source
getTerminalName fd вызывает ttyname для получения имени, связанного с терминалом для Fd fd. Если fd ассоциирован с терминалом, getTerminalName возвращает имя терминала.
getControllingTerminalName :: IO FilePath Source
getControllingTerminalName вызывает ctermid для получения имени, связанного с управляющим терминалом для процесса. Если управляющий терминал существует, getControllingTerminalName возвращает имя управляющего терминала.
Операции с псевдотерминалами
openPseudoTerminal :: IO (Fd, Fd) Source
openPseudoTerminal создаёт пару псевдотерминалов (pty) и возвращает новую созданную пару как кортеж (master, slave).
getSlaveTerminalName :: Fd -> IO FilePath 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.html