ZCOM Tables and Data Structures

Queue Header

Queue Header

The queue header area contains the descriptor block for all the ZCOM subsystem queues. The first queue is used to link the free buffers in the buffer pool.

Figure 3-7 Queue Header Area

Queue Header 0 (Free Queue)

Queue Header 1

Queue Header n

Free Queue Header (zfqh_type), queue 0, basically is the same as the other buffer queues. However, its fields are viewed and used slightly differently from the other queues. Its size is the same as a buffer queue.

Table 3-27

Free Queue Header Structure (zfqh_type)

 

 

 

 

 

Field Name

Field Description

Field Type

Size

(Bytes)

 

 

 

 

 

 

 

QNMSG

Number of messages on queue

uns.int

4

 

 

 

 

QALLOC

Number of allocated messages

uns.int

4

 

 

 

 

QHEAD

Pointer to first message on queue

pointer

8

 

 

 

 

QTAIL

Pointer to last message on queue

pointer

8

 

 

 

 

QMMAX

Historical max number of messages

uns.int

4

 

 

 

 

QTMSG

Total messages through queue

uns.int

4

 

 

 

 

QBYTES

Number of bytes on queue

uns.int

4

 

 

 

 

QWAITER

Number of waiters on this queue

uns.short

2

 

 

 

 

QFLAG

Queue flags

uns.short

2

 

 

 

 

 

 

 

 

Chapter 3

101