FCONTROL with a controlcode
value of 12 or 13 specifies whether or not input echo is enabled
at a terminal. Use 12 to turn echo on, 13 to turn echo off. You
may also need to use FSETMODE(4), to suppress linefeed on inputs,
to turn echo completely off.
When echo is enabled, all characters transmitted to the DTC
are "echoed" back and appear on the terminal screen.
This is referred to as DTC echo, and is initially
enabled for all terminals when the MPE/iX system is brought up.
All characters are echoed, with the exception of XON, XOFF, NULL,
DEL, and DC2.
During binary reads, however, all characters, including XON
and XOFF, are passed through as data. Since these characters are
not recognized and acted upon as protocol characters, they will
be echoed. An XOFF will result in the terminal being suspended as
if the XOFF had been sent from the DTC. For this reason, you should
make sure that echo is disabled while in binary mode. (An alternative
is to disable XON/XOFF flow control at the terminal, but this could
result in a loss of data.)
Echo should also be disabled during block mode processing,
and local echo should be used to cause the
terminal itself to write data to the screen. If you are using VPLUS
for your block mode applications, this is handled for you automatically.
For any other type of block mode, you need to disable echo before
the block mode read begins.
You may also want to disable echo if the terminal user is
asked to enter data that you do not want to appear on the screen,
such as a password or lockword. Additionally, it may be necessary
to disable echo if you are connecting certain non-supported devices
to an asynchronous port.
Echo is not reset at FCLOSE, so your program should always
restore the original echo setting before it ends.
If either of these FCONTROL calls is issued against a terminal
connected via DTC Telnet, the call will return a CCE condition code
but the echoing of read data will continue.
Echo may be changed locally without the remote host's
knowledge in a VT connection. Applications run on the remote side
will then receive inconsistent information about echo status. Hence,
altering the echo state locally in a VT connection is discouraged.