An FCONTROL call with a controlcode
value of 26 or 27 determines whether or not a terminal is operating
in binary editing mode for the file specified in filenum.
Use 26 to disable binary editing, 27 to enable binary editing.
These calls are not supported for terminals connected via
DTC Telnet or via VT from an HP-UX local client (VT3K). If FCONTROL(26)
is issued to a device connected by DTC Telnet, it will be ignored.
If FCONTROL(27) is issued to a device connected via DTC Telnet the
next FREAD posted to the device will return an error condition,
until binary mode is disabled with FCONTROL(26). Binary editing
should not be used on a terminal connected via DTC Telnet or VT
from an HP-UX local client. The call will return a CCE condition
code but all subsequent reads will return an error until binary
editing is disabled. If FCONTROL(27) is issued to a Telnet/iX device
when the local device is an HP-UX Telnet client, the user must set
the HP-UX client into binary (using the HP-UX Telnet client toggle
command) before the FCONTROL(27) is issued to the Telnet/iX Server.
If the HP-UX client is not set into binary before the FCONTROL(27)
is issued, the FCONTROL will return with CCL. The user must disable
binary on the HP-UX client before binary is disabled on the Telnet/iX
Server with FCONTROL(28).
When binary editing is enabled, no special characters are
recognized, and no special character processing is done. All characters
are considered to be data and are passed through without any terminal
control actions being taken. No carriage return or linefeed is sent
to the terminal following a binary read. On writes, all carriage
control directives are ignored. Binary editing mode is initially
disabled by default.
Unlike most FCONTROL calls, binary mode does not actually
take effect until a read is posted to the device following the FCONTROL
call. If you are setting binary mode for both reads and writes you
should post a 0-byte read immediately after the call to make sure
binary mode is set.
Because no special character processing occurs in binary mode,
any ASCII DC3 (XOFF) character passed in the data will be echoed
to the terminal, and the terminal will be suspended as if an XOFF
were sent from the DTC. This problem can be avoided by calling FCONTROL(13)
to disable character echoing prior to entering binary mode. Alternatively,
you can turn off XON/XOFF flow control at the terminal by sending
the appropriate escape sequences. You should be aware, however,
that disabling flow control may result in data being lost.
Binary editing is useful for transferring 8-bit data to and
from a terminal. Because all 8 bits are considered to be data, binary
editing is not compatible with parity checking, and parity must
be disabled. In addition, since no special character processing
is possible in binary mode, it cannot be used for block mode transfers.
In session mode, system break restores standard editing at
the terminal. If :RESUME is entered following
the break binary mode will be restored when the first read is posted
following the :RESUME. FCONTROL(26) must be called
to disable binary editing.
Binary reads are terminated by byte count, read timeouts,
and error conditions. CCE status is returned for reads terminated
on the byte count as specified in the FREAD, READ, or READX call.
CCL status will be returned on timeouts and errors. Reads terminated
on timeout will return data entered before the timeout occurred.
For reads terminated on error, no data will be returned.