A call to FCONTROL with a controlcode
value of 29 enables user block mode processing, while a call using
controlcode 28 disables user block mode processing.
Under system default conditions block mode processing occurs
through a method called HP block mode. In HP block mode the system
controls the block mode handshake and the user program need not
concern itself with data transfer protocol. The MPE/iX host transmits
the normal read trigger character, a DC1, to inform the terminal
that the system is ready to receive data. The terminal responds
by sending a DC2 character, which informs the system that the next
data transfer will be a block mode transmission. The terminal then
waits for the host to send back a second DC1 to trigger the read.
When user block mode is enabled it becomes possible for your
program to intervene in the handshake. A user block mode transaction
begins in the same way an HP block mode transaction begins, with
host transmission of a DC1. At this point, the user application
takes over control of the handshake and waits for the DC2. Your
program can then perform additional terminal control functions,
such as positioning the terminal cursor, performing status requests,
or allocating additional space for buffers before continuing with
the data transfer. When your program is ready to receive the block
mode data, it must issue an additional read. This read will actually
result in a DC1 being sent, thereby completing the handshake.
Some additional considerations apply when transmitting data
in block mode. The terminal must be configured to perform in a manner
compatible with the expectations of the system and the application
requesting the block mode transfers. You should pay particular attention
to how Line/Page(D), InhHndShk(G)
and Inh DC2(H) are set when configuring
a terminal for block mode processing.
Block mode processing is not supported with terminal type
18.
User block mode is not supported on terminals connected through
DTC Telnet, Telnet/iX (from an HP-UX Telnet client) or VT (from
an HP-UX local client (VT3K)). If posted to a device connected via
DTC Telnet, these calls will return a CCE condition code, but no
device control action will occur.