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