Reference Guide
ZCOM Tables and Data Structures
Queue Header
Chapter 3 103
is initialized from the Queue-Limit parameter in the TTGEN
configuration file when the queue is initialized. The queue limit may be
modified dynamically by calling the zsetql routine.
QHEAD, QTAIL - Queue head and tail pointers (zbhd_type *)
These are pointers to the first and last messages attached to this queue.
If the queue is empty, these values are undefined. If the queue has only
one buffer, then the values are equal.
QMMAX - Number of messages on the queue
The largest number of outstanding messages ever linked to this queue at
any given point in time. This value is initialized to zero and is updated
any time QNMSG is larger than this field.
QTMSG - Total number of messages through this queue
Counter of all messages that have either passed through, or are still on,
this queue.
QBYTES - Number of bytes on the queue
The number of bytes on the queue is the actual number of bytes of all the
buffers (messages) linked to this queue. This includes the data length
and buffer header areas of each message in the queue. The sum of these
fields across all queues (including the free queue) at any instant will
equal the total amount of buffer space allocated in the ZCOM subsystem.
QWAITER - Number of processes waiting on this queue
This field is used to indicate whether any processes are waiting for data
from this queue. If a process reads from the queue and no data is
available, and it has not done a read without wait, the process is
suspended (put to sleep) by the LDM and this counter is incremented. At
a later time when a new message is added to this queue, the LDM or
DAM will wake up all processes suspended on this queue address and set
this field to zero.