Asynchronous Serial Communications Programmer's Reference Manual (32022-90052)
Chapter 8 187
Intrinsics Reference
FCONTROL(28, 29)
FCONTROL(28, 29)
Parameters
controlcode 28 — Disables User Block Mode.
29 — Enables User Block Mode.
param 16-bit unsigned integer by reference
(required)
This parameter has no meaning for these controlcode
values. Enter a dummy value of 0 to satisfy the internal
requirements of the intrinsic.
Notes 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.