The I/O PCB status code is set by IMS™ in response to the IMS calls that the Assist module makes on behalf
of the server. For example, GU and GN calls usually result in
bb,
QC,
or
QD status codes. However, when the Assist module
detects a TCP/IP error, it sets the status code field of the I/O PCB
to
ZZ with further information about the error in
the
reserved field of the I/O PCB. This field should be initially
tested as a signed, fixed binary halfword:
- If the halfword is positive, then a socket error has occurred,
and the field should continue to be treated as a signed fixed binary
halfword. The field contains the 2 low-order bytes from the ERRNO
resulting from the socket call. (See Return codes).
- If the halfword is negative, then an IMS or
other type of error has occurred, and the field should be treated
as a fixed-length, 2-byte character string containing one of the following
information:
- Code
- Meaning
- EA
- A call that used the AIB interface to determine the I/O PCB address
failed.
- EB
- The output buffer is full. An attempt was made to insert (ISRT)
more than 32KB (including the segment length and reserved bytes) to
be sent to the client.
- EC
- A QD status code was received in response to
a GU or ROLB call when attempting to retrieve the first segment of
data after the transaction-initiation message (TIM) segment. This
implies that the client sent only the TIM segment followed by an end-of-message
segment with no actual data segments.