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}
|
\end{desc}
|
||||||
|
|
||||||
|
|
||||||
\defun{tty-info}{fd/port}{tty-info-record}
|
\defun{tty-info}{[fd/port/fname]}{tty-info-record}
|
||||||
\begin{desc}
|
\begin{desc}
|
||||||
The \var{fd/port} parameter is an integer file descriptor or Scheme I/O port
|
The \var{fd/port/fname} parameter is an integer file descriptor or
|
||||||
opened on a terminal device.
|
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
|
This procedure returns a \ex{tty-info} record describing the terminal's
|
||||||
current mode.
|
current mode.
|
||||||
\end{desc}
|
\end{desc}
|
||||||
|
|
||||||
\defun {set-tty-info/now} {fd/port info}{no-value}
|
\defun {set-tty-info/now} {fd/port/fname info}{no-value}
|
||||||
\defunx{set-tty-info/drain}{fd/port info}{no-value}
|
\defunx{set-tty-info/drain}{fd/port/fname info}{no-value}
|
||||||
\defunx{set-tty-info/flush}{fd/port info}{no-value}
|
\defunx{set-tty-info/flush}{fd/port/fname info}{no-value}
|
||||||
\begin{desc}
|
\begin{desc}
|
||||||
The \var{fd/port} parameter is an integer file descriptor or Scheme I/O port
|
The \var{fd/port/fname} parameter is an integer file descriptor or
|
||||||
opened on a terminal device.
|
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:
|
The procedure chosen determines when and how the terminal's mode is altered:
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{tabular}{|ll|} \hline
|
\begin{tabular}{|ll|} \hline
|
||||||
|
@ -236,13 +238,17 @@ Procedure & Meaning \\ \hline \hline
|
||||||
\ex{set-tty-info/flush} & Drain output, flush input, then change. \\ \hline
|
\ex{set-tty-info/flush} & Drain output, flush input, then change. \\ \hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{center}
|
\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}
|
\end{desc}
|
||||||
|
|
||||||
\subsection{Other terminal-device procedures}
|
\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}
|
\begin{desc}
|
||||||
Send a break signal on the terminal associated with file descriptor
|
The \var{fd/port/fname} parameter is an integer file descriptor or
|
||||||
or Scheme I/O port \var{fd/port}.
|
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
|
A break signal is a sequence of continuous zeros on the terminal's transmission
|
||||||
line.
|
line.
|
||||||
|
|
||||||
|
@ -253,29 +259,44 @@ other values determine a period in a manner that will depend upon local
|
||||||
community standards.
|
community standards.
|
||||||
\end{desc}
|
\end{desc}
|
||||||
|
|
||||||
\defun{drain-tty}{fd/port}{no-value}
|
\defun{drain-tty}{[fd/port/fname]}{no-value}
|
||||||
\begin{desc}
|
\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
|
This procedure waits until all the output written to the
|
||||||
terminal device has been transmitted to the device.
|
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
|
enabled, then the port's buffered characters are flushed before
|
||||||
waiting for the device to drain.
|
waiting for the device to drain.
|
||||||
\end{desc}
|
\end{desc}
|
||||||
|
|
||||||
\defun {flush-tty/input} {fd/port}{no-value}
|
\defun {flush-tty/input} {[fd/port/fname]}{no-value}
|
||||||
\defunx{flush-tty/output}{fd/port}{no-value}
|
\defunx{flush-tty/output}{[fd/port/fname]}{no-value}
|
||||||
\defunx{flush-tty/both} {fd/port}{no-value}
|
\defunx{flush-tty/both} {[fd/port/fname]}{no-value}
|
||||||
\begin{desc}
|
\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
|
These procedures discard the unread input chars or unwritten
|
||||||
output chars in the tty's kernel buffers.
|
output chars in the tty's kernel buffers.
|
||||||
\end{desc}
|
\end{desc}
|
||||||
|
|
||||||
\defun {start-tty-output}{fd/port} {no-value}
|
\defun {start-tty-output}{[fd/port/fname]} {no-value}
|
||||||
\defunx{stop-tty-output} {fd/port} {no-value}
|
\defunx{stop-tty-output} {[fd/port/fname]} {no-value}
|
||||||
\defunx{start-tty-input} {fd/port} {no-value}
|
\defunx{start-tty-input} {[fd/port/fname]} {no-value}
|
||||||
\defunx{stop-tty-input} {fd/port} {no-value}
|
\defunx{stop-tty-input} {[fd/port/fname]} {no-value}
|
||||||
\begin{desc}
|
\begin{desc}
|
||||||
These procedures can be used to control a terminal's input and output flow.
|
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
|
The \ex{stop-tty-output} and \ex{start-tty-output} procedures suspend
|
||||||
and resume output from a terminal device.
|
and resume output from a terminal device.
|
||||||
The \ex{stop-tty-input} and \ex{start-tty-input} procedures transmit
|
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.
|
of stopping and starting terminal input flow.
|
||||||
\end{desc}
|
\end{desc}
|
||||||
|
|
||||||
|
% --- Obsolete ---
|
||||||
% \defun {encode-baud-rate}{speed}{code}
|
% \defun {encode-baud-rate}{speed}{code}
|
||||||
% \defunx{decode-baud-rate}{code}{speed}
|
% \defunx{decode-baud-rate}{code}{speed}
|
||||||
% \begin{desc}
|
% \begin{desc}
|
||||||
|
@ -357,8 +379,8 @@ after forking.
|
||||||
\end{desc}
|
\end{desc}
|
||||||
|
|
||||||
|
|
||||||
\defun {tty-process-group}{fd/port}{\integer}
|
\defun {tty-process-group}{fd/port/fname}{\integer}
|
||||||
\defunx{set-tty-process-group}{fd/port pgrp}{\undefined}
|
\defunx{set-tty-process-group}{fd/port/fname pgrp}{\undefined}
|
||||||
\begin{desc}
|
\begin{desc}
|
||||||
This pair of procedures gets and sets the process group of a given
|
This pair of procedures gets and sets the process group of a given
|
||||||
terminal.
|
terminal.
|
||||||
|
|
Loading…
Reference in New Issue