X.25 may produce a wide range of buffer status codes and unsolicited status
messages, apart from the standard communications statuses. Most
of the messages are received by the zx25d driver. The ACC X.25 driver (zx25d) may
also produce error messages which will be logged to the system error
logging device by zmlog. Refer
to the Multiprotocol ACC Utilities Reference Guide for
more information on zmlog.
The messages logged by the zx25d driver are explained in Multiprotocol
ACC Error Guide.
Status messages are retrieved by an application using the zread() routine. To determine whether
the message retrieved is a data message or a status message, you
must examine the ZCOM message header returned. For example, if the
variable mhdp is a pointer
to the ZCOM message header returned by zread(),
then you should examine the following fields to determine if the
message read was an unsolicited status message from the X.25 subsystem:
- mhdp->mid.mstype
will contain the value ZCOM_MSTYPE_RSLT to indicate
a response message from a local terminal. The mhdp->mrq.mrqcode field
will further indicate what kind of response message was read.
- mhdp->mrq.mrqcode
will contain the value ZCOM_MRQCODE_STATUS to indicate
the response message contains unsolicited status data.
- mhdp->mrq.mrqcode
will contain the value ZCOM_MRQCODE_CNTWR to indicate
the response message contains buffer completion status for a control
write request (zcntl). Usually,
this indicates an error condition.
- mhdp->mrq.mrqcode
will contain the value ZCOM_MRQCODE_WRITE to indicate
the response message contains buffer completion status for a write
request (zsend). Usually, this indicates
an error condition.
- mhdp->mid.mzsrce.zlu
will contain the ZLU number of the X.25 link or
Virtual Circuit the status message is associated with.
- mhdp->mrq.mrqstat
will contain one of the status codes listed below
in the lower seven bits of the field (e.g. bits 0-6).