HDLC/LAP-B (ABM) makes use of a range of message status codes
and unsolicited status messages, other than the standard status
codes described in the ACC Error Guide.
The definitions for these status codes are located in /usr/include/zcomstatus.h and /usr/include/zcom/zx25status.h.
Terminal Request Status Codes |
 |
The following statuses are returned in response to a request
to create, delete, enable, disable, activate or deactivate a terminal.
Although these are a part of the standard status set, they are not
used by all protocols, and have a particular significance within
HDLC/LAP-B (ABM).
- 0 TM_OK
No error detected
The request was successfully processed. In the case of enabling
or disabling the terminal, this does not mean that the link has
been established or disconnected. The link status is reported via
unsolicited status messages.
- 1 TM_MUST_DSBL
Terminal must be disabled
This status code is returned in response to a terminal delete
request. Before deleting a terminal, it must be disabled and the ST25DSBL unsolicited status message must have been received.
- 12 TM_PROT_REJ
Protocol detected error
TM_PROT_REJ is returned in response to a terminal enable request
when the configuration specified by the poll, select and option
words is invalid. In addition to returning TM_PROT_REJ, the protocol
generates a ST25ENF unsolicited status message. For configuration
information, see Chapter 4 “Protocol Specific Configuration”
- 14 TM_TABLE_SIZE
Protocol table sizes too small
The configured terminal table size is too small to allow LAP-B
to run. This status is returned in response to a terminal creation
request.
Unsolicited Status Messages |
 |
This section describes the unsolicited status messages which
may be received on the ZLU which is set as the receiver for a terminal
using this protocol. The status codes received may or may not have
bit 7 set. Bit 7 is the down bit (masked by IO_DOWN_MASK). The down bit is used as an indicator of the
link status. When an error occurs on the link or the link is enabled
after being disabled, the protocol attempts to enter multiple frame
acknowledged operation. Until the attempt succeeds or fails, the down
bit is clear (i.e. the terminal is considered to be up until proven otherwise).
If the attempt subsequently fails, the down bit is set; otherwise
the down bit is left cleared.
The following status messages are generated in response to
terminal enable and disable requests:
- 0 IO_OK
No error detected
This status message is generated in response to a terminal
enable request after multiple frame acknowledged operation is established.
Note that the down bit will always be clear (bit 7 = 0).
- 41 IO_ALRDY_ENBL
Terminal already enabled
This status message is generated in response to a terminal
enable request when the terminal is already enabled and the protocol
is not currently trying to establish multiple frame acknowledged
operation. If the protocol is currently trying to establish multiple frame
acknowledged operation, this status message will not be sent. Instead,
either a ST25ENBL with the down bit set or an IO_OK status message will be sent.
- 42 IO_ALRDY_DSBL
Terminal already disabled
This status message is generated in response to a terminal
disable request when the terminal is already disabled. The down
bit will always be set.
- 64 ST25ENBL
Link NOT established on ENABLE
This status message is generated in response to a terminal
enable request after it is determined that multiple frame acknowledged
operation can not be established. The down bit will always be set.
- 65 ST25DSBL
Link disconnected on DISABLE
This status message is generated in response to a terminal
disable request after multiple frame acknowledged operation has
terminated. The down bit will always be set.
- 77 ST25ENF
ENABLE failed - bad config
This status message is generated in response to a terminal
enable request when the terminal's configuration is invalid.
The down bit will always be set.
The following unsolicited status messages are sent after an
error occurs when the link is in multiple frame acknowledged operation.
The error conditions include cable faults, inability to receive
acknowledgment of transmitted frames or receiving frames that are
inconsistent with multiple frame acknowledged operation. When one
of these error conditions occurs, the protocol attempts to re-establish
multiple frame acknowledged operation. After the attempt has either
succeeded or failed, the unsolicited status message that reflects
the original error condition is sent. If the attempt fails, the
link is considered disconnected and the down bit will be set in
the status; otherwise the link has only been reset and the down
bit will be clear.
- 66 ST25XDCD
Link disc. on loss of carrier
The card is no longer receiving the required communications
signals. This can be caused by incorrect port configuration or disconnected/faulty cabling.
- 68 ST25RTRY
Exceeded retransmit limit
A frame was transmitted N2 times without receiving an acknowledgment
from the remote device.
- 69 ST25TXFR
Reset/Disc. due to transmitted FRMR
A frame containing an error was received by the protocol;
this causes LAP-B to reset the link by sending a FRMR. For consistent
error handling between LAP-B and LAP-D (which sends a SABME instead
of a FRMR), the latter protocol sends this status message. (The
data buffer contains the information field of the FRMR that LAP-B
would send.)
- 70 ST25RXFR
Reset/Disc. due to received FRMR
A frame reject response was received. A copy of the received
FRMR's information field is in the data buffer of the unsolicited
status message.
- 71 ST25RXDM
Reset/Disc. due to received DM
The protocol received a Disconnected Mode response.
- 72 ST25RXSA
Reset/Disc. due to recvd SABM/SABME
A Set Asynchronous Balanced Mode (or SABME) command was received
by the protocol.
- 73 ST25RXDI
Reset/Disc. due to received DISC
The protocol received a DISConnect command.
- 74 ST25RXUA
Reset/Disc. due to received UA
An Unnumbered Acknowledgment response was received by the
protocol when the protocol had not solicited a UA.
- 75 ST25RUFR
Reset/Disc. due to unsol final resp
The protocol received a response with the Final bit set which
had not been solicited by the transmission of a command with the
Poll bit set.
The following status messages are used by the protocol on
E1/T1 hardware to return data in response to a control write:
- 88 ST25L2STAT
Statistics upload
This message is sent in response to a CW_STATS control write. The data buffer contains a x25l2stat_type structure (defined in /usr/include/zcom/zcomx25.h).
- 89 ST25REVCD
Revision code upload
This message is sent in response to a CW_REVCODE control write. The data buffer contains a single
byte which is the current protocol version. Currently, this is 11.
Write Completion Status Codes |
 |
The following statuses are returned in response to write requests. Although
these are a part of the standard status set, they are not used by all
protocols, and have a particular significance within this protocol.
- 0 IO_OK
No error detected
The request was successfully transmitted and acknowledged
by the remote side.
- 1 IO_DSBL
Terminal disabled
The terminal must be enabled before it will accept write or
control write requests.
- 22 IO_LNK_DSC
Link disconnected
An unrecoverable error occurred while this request was waiting
to be sent or to be acknowledged by the remote side. The transmit
request has been flushed.
- 23 IO_LNK_RST
Link reset
A recoverable error occurred while this request was waiting
to be acknowledged by the remote side. The transmit request has
been flushed.
Control Write Completion Status Codes |
 |
The following statuses are returned by the LAP-B protocol
on E1/T1 hardware in response to control write requests. Although
these are a part of the standard status set, they are not used by
all protocols, and have a particular significance within this protocol.
- 0 IO_OK
No error detected
The request was successfully transmitted and acknowledged
by the remote side.
- 1 IO_DSBL
Terminal disabled
The terminal must be enabled before it will accept write or
control write requests.
- 11 IO_LONG_MSG
Message too long
Indicates one of the following errors:
The packet length
in the header is not zero.
The control length in the header is not zero for
a CW_STATS or CW_REVCODE request.
The control length in the header is greater than
six for a CW_TIMERS request.
- 12 IO_SHRT_MSG
Message too short
Indicates one of the following errors:
The request length
is less than four (too short to contain the control write header).
The control length in the header is less than six
for a CW_TIMERS request.
- 24 IO_BAD_CTL
Bad control function or format
Indicates one of the following errors:
The control length
in the header does not equal the request length plus four.
The control code in the header contains a value other
than CW_STATS, CW_REVCODE or CW_TIMERS.
The value specified for a timer resolution in a
CW_TIMERS request is outside of the range zero to four.
Read Completion Status Codes |
 |
All receive completion messages will have the status IO_OK. Received messages that have errors are not returned
by the protocol.