User guide

96 DC 900-1338I
Protocol Software Toolkit Programmer Guide
level. Completed received data messages are sent to the links board-to-server queue to
await processing by the utility task.
When all links have been processed, the protocol task suspends. It continues when a
message is posted to any of its queues or when an interrupt service routine notifies it
that a transmit or receive operation has completed. The interface between the protocol
task and its interrupt service routines is described in Section 6.2.
The SPS utility task,
spshio, sets up an interface to XIO during its initialization, then
enters a loop. Within the loop, it checks its input queue for returned header buffers as
well as messages from the ICPs host that have arrived on node 1 and node 2. It also
checks the protocol tasks board-to-server queues for messages to be sent to the host. It
then suspends, and will be unsuspended by the protocol task or when a message is
posted to its input queue. The operation of the utility task is described more completely
in Section 6.1.3.
6.1.3 Utility Task (spshio)
The ICP-resident software communicates indirectly with the ICPs host through the
part of the system services module called the XIO interface. The utility task,
spshio, han-
dles the interface between the protocol task,
spstsk, and XIO. This section describes the
utility task and its relationship with the protocol task. Chapter 7 provides a more
detailed explanation of the ICP/host protocol used for communication between the
utility task and XIO.
As described in Section 6.1.2, the protocol task,
spstsk, creates an board-to-server queue
and a server-to-board queue for each link during its initialization. These queues hold
messages to be transferred to and from the ICPs host by the utility task. (Section 7.2.3
on page 124 describes the node declaration queues.) The protocol task is also responsi-
ble for creating the buffer partition that contains data buffers to be used for passing data
to and from the ICPs host. The size of the buffers created for this partition depends on