User guide

124 DC 900-1338I
Protocol Software Toolkit Programmer Guide
are used by your ICP-resident software to send information in the form of data and
command acknowledgments to the host processor.
Each node declaration queue element must contain a unique ICP node number and
unique queue IDs which will be used for the read and write queues for that node. After
this operation is complete, the utility task can begin posting host request queue ele-
ments, described in Section 7.2.4, to these queues. The following sections describe the
two types of queue elements.
7.2.3 Node Declaration Queue Element
The utility task, spshio, creates node declaration queue elements, generally during ini-
tialization, and posts them to XIO. These queue elements identify the ICP node number
that the task will use and queue IDs to which either read or write requests (or both) for
that node will be posted. (XIO creates the queues. Only the queue IDs are supplied by
the utility task.) In your code, you can declare several nodes (up to the maximum
allowed by the driver), but you must post a separate node declaration queue element for
each.
Since ICP node numbers must be unique throughout an ICP subsystem, a task can
declare a node number only once; no other tasks can make a declaration using that
node number. The queue IDs associated with declared node numbers must also be
unique. A single ID cannot be used as both the read and write queue for a node, nor can
it be used for other nodes or for any other purpose.
The node declaration queue element consists of a single buffer containing a system
buffer header followed by a node declaration header. The queue element is shown in
Figure 73 and has the following format: