Tty-hacking procs now default to stdio when a tty isn't specified.
You may now apply them to a file-name as well as a port or fdes.
This commit is contained in:
parent
61cdf20586
commit
2baee835a2
|
@ -213,20 +213,22 @@ being copied, so you may mutate it freely.
|
|||
\end{desc}
|
||||
|
||||
|
||||
\defun{tty-info}{fd/port}{tty-info-record}
|
||||
\defun{tty-info}{[fd/port/fname]}{tty-info-record}
|
||||
\begin{desc}
|
||||
The \var{fd/port} parameter is an integer file descriptor or Scheme I/O port
|
||||
opened on a terminal device.
|
||||
The \var{fd/port/fname} parameter is an integer file descriptor or
|
||||
Scheme I/O port opened on a terminal device,
|
||||
or a file-name for a terminal device; it defaults to the current input port.
|
||||
This procedure returns a \ex{tty-info} record describing the terminal's
|
||||
current mode.
|
||||
\end{desc}
|
||||
|
||||
\defun {set-tty-info/now} {fd/port info}{no-value}
|
||||
\defunx{set-tty-info/drain}{fd/port info}{no-value}
|
||||
\defunx{set-tty-info/flush}{fd/port info}{no-value}
|
||||
\defun {set-tty-info/now} {fd/port/fname info}{no-value}
|
||||
\defunx{set-tty-info/drain}{fd/port/fname info}{no-value}
|
||||
\defunx{set-tty-info/flush}{fd/port/fname info}{no-value}
|
||||
\begin{desc}
|
||||
The \var{fd/port} parameter is an integer file descriptor or Scheme I/O port
|
||||
opened on a terminal device.
|
||||
The \var{fd/port/fname} parameter is an integer file descriptor or
|
||||
Scheme I/O port opened on a terminal device,
|
||||
or a file-name for a terminal device.
|
||||
The procedure chosen determines when and how the terminal's mode is altered:
|
||||
\begin{center}
|
||||
\begin{tabular}{|ll|} \hline
|
||||
|
@ -236,13 +238,17 @@ Procedure & Meaning \\ \hline \hline
|
|||
\ex{set-tty-info/flush} & Drain output, flush input, then change. \\ \hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\oops{If I had defined these with the parameters in the reverse order,
|
||||
I could have made \var{fd/port/fname} optional. Too late now.}
|
||||
\end{desc}
|
||||
|
||||
\subsection{Other terminal-device procedures}
|
||||
\defun{send-tty-break}{fd/port [duration]}{no-value}
|
||||
\defun{send-tty-break}{[fd/port/fname duration]}{no-value}
|
||||
\begin{desc}
|
||||
Send a break signal on the terminal associated with file descriptor
|
||||
or Scheme I/O port \var{fd/port}.
|
||||
The \var{fd/port/fname} parameter is an integer file descriptor or
|
||||
Scheme I/O port opened on a terminal device,
|
||||
or a file-name for a terminal device; it defaults to the current output port.
|
||||
Send a break signal to the designated terminal.
|
||||
A break signal is a sequence of continuous zeros on the terminal's transmission
|
||||
line.
|
||||
|
||||
|
@ -253,29 +259,44 @@ other values determine a period in a manner that will depend upon local
|
|||
community standards.
|
||||
\end{desc}
|
||||
|
||||
\defun{drain-tty}{fd/port}{no-value}
|
||||
\defun{drain-tty}{[fd/port/fname]}{no-value}
|
||||
\begin{desc}
|
||||
The \var{fd/port/fname} parameter is an integer file descriptor or
|
||||
Scheme I/O port opened on a terminal device,
|
||||
or a file-name for a terminal device; it defaults to the current output port.
|
||||
|
||||
This procedure waits until all the output written to the
|
||||
terminal device has been transmitted to the device.
|
||||
If \var{fd/port} is an output port with buffered I/O
|
||||
If \var{fd/port/fname} is an output port with buffered I/O
|
||||
enabled, then the port's buffered characters are flushed before
|
||||
waiting for the device to drain.
|
||||
\end{desc}
|
||||
|
||||
\defun {flush-tty/input} {fd/port}{no-value}
|
||||
\defunx{flush-tty/output}{fd/port}{no-value}
|
||||
\defunx{flush-tty/both} {fd/port}{no-value}
|
||||
\defun {flush-tty/input} {[fd/port/fname]}{no-value}
|
||||
\defunx{flush-tty/output}{[fd/port/fname]}{no-value}
|
||||
\defunx{flush-tty/both} {[fd/port/fname]}{no-value}
|
||||
\begin{desc}
|
||||
The \var{fd/port/fname} parameter is an integer file descriptor or
|
||||
Scheme I/O port opened on a terminal device,
|
||||
or a file-name for a terminal device; it defaults to the current input
|
||||
port (\ex{flush-tty/input} and \ex{flush-tty/both}),
|
||||
or output port (\ex{flush-tty/output}).
|
||||
|
||||
These procedures discard the unread input chars or unwritten
|
||||
output chars in the tty's kernel buffers.
|
||||
\end{desc}
|
||||
|
||||
\defun {start-tty-output}{fd/port} {no-value}
|
||||
\defunx{stop-tty-output} {fd/port} {no-value}
|
||||
\defunx{start-tty-input} {fd/port} {no-value}
|
||||
\defunx{stop-tty-input} {fd/port} {no-value}
|
||||
\defun {start-tty-output}{[fd/port/fname]} {no-value}
|
||||
\defunx{stop-tty-output} {[fd/port/fname]} {no-value}
|
||||
\defunx{start-tty-input} {[fd/port/fname]} {no-value}
|
||||
\defunx{stop-tty-input} {[fd/port/fname]} {no-value}
|
||||
\begin{desc}
|
||||
These procedures can be used to control a terminal's input and output flow.
|
||||
The \var{fd/port/fname} parameter is an integer file descriptor or
|
||||
Scheme I/O port opened on a terminal device,
|
||||
or a file-name for a terminal device; it defaults to the current input
|
||||
or output port.
|
||||
|
||||
The \ex{stop-tty-output} and \ex{start-tty-output} procedures suspend
|
||||
and resume output from a terminal device.
|
||||
The \ex{stop-tty-input} and \ex{start-tty-input} procedures transmit
|
||||
|
@ -283,6 +304,7 @@ the special STOP and START characters to the terminal with the intention
|
|||
of stopping and starting terminal input flow.
|
||||
\end{desc}
|
||||
|
||||
% --- Obsolete ---
|
||||
% \defun {encode-baud-rate}{speed}{code}
|
||||
% \defunx{decode-baud-rate}{code}{speed}
|
||||
% \begin{desc}
|
||||
|
@ -357,8 +379,8 @@ after forking.
|
|||
\end{desc}
|
||||
|
||||
|
||||
\defun {tty-process-group}{fd/port}{\integer}
|
||||
\defunx{set-tty-process-group}{fd/port pgrp}{\undefined}
|
||||
\defun {tty-process-group}{fd/port/fname}{\integer}
|
||||
\defunx{set-tty-process-group}{fd/port/fname pgrp}{\undefined}
|
||||
\begin{desc}
|
||||
This pair of procedures gets and sets the process group of a given
|
||||
terminal.
|
||||
|
|
Loading…
Reference in New Issue