|
| ZCOM C I/F Library Routines |
|
| ZSETQL (3X) |
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 */
}
Chapter 4 | 319 |