Reference Guide
ZCOM C I/F Library Routines
ZSETQL (3X)
Chapter 4 319
NOTES 1. Queue limit does not affect data messages that are already in a
queue. If the new limit is below the amount of queued data, no new
data is accepted until the queued data drops below the limit. Setting
a queue limit to zero will prevent the queue from accepting new
messages. The queue is still readable, but new data can’t be added to
the queue.
2. Under the current implementation, the terminal unacknowledged
queue uses a “byte limit”, i.e. the limit for this queue indicates the
maximum number of bytes allowed on the queue. The other queues
use a “message limit”, which means the maximum number of
messages allowed on the queue. However, the limit type may be
changed by setting the ZCOM_QLIM_MFLAG or
ZCOM_QLIM_BFLAG bit in the mode parameter.
3. The system initializes the express transmit queue (mode 2, qnum 3)
with the maximum limit (0x7FFFFFFF). A low limit may affect
critical data getting to the interface card and result in terminal
control problems. Therefore, it is strongly recommended that the
limit not be changed unless it is absolutely necessary. With some
protocol options (e.g. X.25), changing this limit is unsupported!
EXAMPLE
#include <zcom/zcomsys.h>
#include <zcom/zcomcall.h>
int32 ierr;
zaddr_type zaddr;
uint32 mode;
uint32 qnum;
uint32 limit;
if (ierr = zsetql (&zaddr, mode, qnum, limit)) {
/* error return code */
}
else {
/* good return code */
}