Initialize the terminal keyboard interface
int SLang_init_tty (int intr_ch, int no_flow_ctrl, int opost)
SLang_init_tty initializes the terminal for single character
input. If the first parameter intr_ch is in the range 0-255,
it will be used as the interrupt character, e.g., under Unix this
character will generate a SIGINT signal. Otherwise, if it is
-1, the interrupt character will be left unchanged.
If the second parameter no_flow_ctrl is non-zero, flow control
(XON/XOFF) processing will be
enabled.
If the last parmeter opost is non-zero, output processing by the
terminal will be enabled. If one intends to use this function in
conjunction with the S-lang screen management routines
(SLsmg), this paramete shold be set to zero.
SLang_init_tty returns zero upon success, or -1 upon error.
Terminal I/O is a complex subject. The S-lang interface presents a
simplification that the author has found useful in practice. For
example, the only special character processing that
SLang_init_tty enables is that of the SIGINT character,
and the generation of other signals via the keyboard is disabled.
However, generation of the job control signal SIGTSTP is possible
via the SLtty_set_suspend_state function.
Under Unix, the integer variable SLang_TT_Read_FD is used to
specify the input descriptor for the terminal. If
SLang_TT_Read_FD represents a terminal device as determined
via the isatty system call, then it will be used as the
terminal file descriptor. Otherwise, the terminal device
/dev/tty will used as the input device. The default value of
SLang_TT_Read_FD is -1 which causes /dev/tty to be
used. So, if you prefer to use stdin for input, then set
SLang_TT_Read_FD to fileno(stdin) before calling
SLang_init_tty.
If the variable SLang_TT_Baud_Rate is zero when this function
is called, the function will attempt to determine the baud rate by
querying the terminal driver and set SLang_TT_Baud_Rate to
that value.
SLang_reset_tty, SLang_getkey, SLtty_set_suspend_state