Reference Guide
ZCOM Message Handling
Multiplexing
Chapter 232
If the ZCOM_LTFLAG_OMX bit is set in the LTFLAG word of the logical
terminal table, then a logical terminal is enabled for outbound
multiplexing. This means that any message sent (by zsend) to this
terminal ZLU will be formatted as normal (type 4,
ZCOM_MSTYPE_LPLT, message with request descriptor block), but
instead of being queued to the physical terminal transmit queue, it will
be queued to the program ZLU defined by LTZMXP. These fields must
have been defined to the system for each terminal by a prior zset_rcvr
call (mode 2, ZcOUTB_MLTPLX) by the outbound multiplexing program
during its initialization.
The zcntl call works in a similar way to zsend. For example, an enable of
a multiplexed logical terminal ZLU will queue an enable request (type 4,
ZCOM_MSTYPE_LPLT, request code 7, ZCOM_MRQCODE_ENB) to the
outbound multiplexing program’s input queue. These messages would
normally be used to maintain the flags for the logical terminal in
LTSTAT. They may also generate a control command to the physical
terminal from the multiplexing program.
Inbound Multiplexing
If the ZCOM_LTFLAG_IMX bit is set in the LTFLAG word of the logical
terminal table, then the logical terminal is enabled for inbound
multiplexing. This means that when an application program selects the
terminal for input (using zset_rcvr default mode 0), zset_rcvr will
insert the application program’s ZLU into LTZRVR (rather than
PTZRVR for a terminal without inbound multiplexing).
It is up to the inbound multiplexing program to define itself to the ZCOM
subsystem as the receiver for messages from the physical terminal using
the zset_rcvr (mode 1, ZcINB_MLTPLX) call. This sets PTZRVR in the
physical terminal table.