User guide
134 DC 900-1338I
Protocol Software Toolkit Programmer Guide
Protogate implementations, provisions exist for read request queues for these nodes;
however, they are not used in the Freeway implementation. In addition, for any node, a
host request queue element posted to either the read or write queue must contain a
matching ICP node number in the
inode field of the host request header. The snode field
should be set as defined for the particular application. (This field is passed to the host,
but is not interpreted by XIO. In general, it is used on a write request to specify the des-
tination of the data, and is not used on a read request.)
As the data transfer address for the request, XIO passes to the host the address that is
stored in the
sb_nxtb field of the data buffer’s system buffer header. If this value is zero,
XIO uses the beginning address of the data buffer plus the length of the system buffer
header instead. (The system buffer header itself, as well as any portion of the buffer that
separates the system buffer header from the data, are never transferred to or from the
host.) For a write request, the
dlen field of the host request header should be set to the
actual number of bytes of data in the data buffer, excluding the system buffer header
and any portion of the buffer that separates the header from the data. For a read
request, the
dlen field should be set to the maximum length of the data buffer, excluding
the system buffer header and any portion of the buffer that separates the header from
the data.
No other fields of the host request header require initialization.
7.2.4.3 Completion Status
Before processing the completion of the queue element, XIO stores a completion code
in the
status field of the host request header, as follows:
If the completion status is good, XIO also returns the node numbers supplied by the
host and the actual number of bytes transferred. The ICP node number is returned in
the
i_node field, and always matches the ICP node number supplied by the requesting
SPS task in the
inode field. The host node number is returned in the s_node field. For a
write, this value always matches the node number supplied by the requesting SPS task