ZCOM Tables and Data Structures
Data Buffer Pool
These pointers are used to link all the free blocks within the memory pool, to form a circular list. The free queue contains the initial pointer to the first and last free block. The value in the pointer is the address of the buffer flag (i.e., the address of the next block pointer in the block).
BFLEN - Buffer length in bytes (data portion)
This field contains the usable memory size (in bytes) within the buffer. The usable area of a buffer is indicated by its location, BFDATA, and its size, BFLEN.
BFLINK - Pointer to the next buffer on queue
This is the buffer linkage to the next buffer in the chain. It contains the address of the first field (i.e., BFFLAG) of the next buffer. If this is the last buffer on the list, it contains NULL.
BFDATA - Pointer to the buffer data area
This field contains the memory address where the message header resides within the current buffer. This memory address is set up such that the message data, which follows the message header, will be aligned properly depending on its uses (e.g. for inbound DMA, it must be on a
This field is set up by the ZCOM subsystem when a buffer is allocated from the buffer pool and will not be modified until the buffer is released to the buffer pool.
BFRESP - Pointer to response record
This field is valid only when the buffer is associated with a
For other types of operation, this field contains invalid data.
Chapter 3 | 111 |