Spec-Zone.ru › Haskell 7

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

Конструкторы

InterruptOnBreak
MapCRtoLF
IgnoreBreak
IgnoreCR
IgnoreParityErrors
MapLFtoCR
CheckParity
StripHighBit
StartStopInput
StartStopOutput
MarkParityErrors
ProcessOutput
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

Конструкторы

EndOfFile
EndOfLine
Erase
Interrupt
Kill
Quit
Start
Stop
Suspend

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

data BaudRate 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API