Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HDLC-Frame Protocol User's Guide > Chapter 3 Using HDLC.FRAME Protocol

Status and Error Messages

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

Error conditions and important events are reported to the application program through three kinds of status codes. These are "Transmit completion", "Unsolicited" and "Receive completion" status codes.

The defines for these status codes are located in /usr/include/zcomstatus.h and /usr/include/zx25status.h.

Transmit Completion Status Codes

Transmit completion status is generated by the protocol on all transmit messages. Depending on the mode parameter selected when using the zsend call, the application will see either No transmit response messages, Error responses only, or All transmit response messages. The status code contained in the header of these messages indicates either the successful transmission of the message, or the reason why it could not be transmitted.

Non-E1/T1 Interface

The following transmit completion status codes may be generated by the HDLC.FRAME protocol on a non-E1/T1 interface.

Table 3-1 Non-E1/T1 Interface Transmit Completion Status Codes

Transmit Status Code

Description

IO_OK

No error detected.

This message was successfully transmitted to the receiving station.

IO_DSBL

Terminal disabled.

Messages cannot be transmitted by a disabled terminal.

IO_LONG_MSG
(Z7340A only)

There is a limit to the number of buffers which may be used for a single transmit frame. If this limit is exceeded, the frame is flushed with this status code, and is not transmitted. Note: The Z7340A card has a configurable buffer size. A buffer size of 128 bytes or larger will prevent this problem from occurring.

IO_SHRT_MSG
(Z7340A only)

A zero length frame cannot be transmitted by the Z7340A ACC.

IO_TX_TMOUT

Cable or local modem fault.

This message cannot be sent or acknowledged because of a bad clock or modem signal.

 

E1/T1 interface

The following transmit completion status codes may be generated by the HDLC.FRAME protocol on an E1/T1 interface.

Table 3-2 E1/T1 Interface Transmit Completion Status Codes

Transmit Status Code

Description

IO_OK

No error detected.

This message was successfully transmitted to the receiving station.

IO_DSBL

Terminal disabled.

Messages cannot be transmitted by a disabled terminal.

IO_DOWN

Terminal down.

This message could not be sent because the physical interface is not operational (usually when frame synchronization has been lost).

IO_LONG_MSG

There is a limit to the number of buffers which may be used for a single transmit frame. If this limit is exceeded, the frame is flushed with this status code, and is not transmitted. Note: This ACC has a configurable buffer size and a buffer size of 128 bytes or larger will prevent this problem from occurring.

IO_TX_URUN

Transmit underrun.

This frame could not be transmitted at this time due to excessive loading of the interface card.

 

Unsolicited Status Messages

The unsolicited status messages (mrq.mrqcode = = ZCOM_MRQCODE_STATUS) are used to inform the application program of events which occur affecting communications with the remote station. The status code "No error detected" is used to inform the application that the remote station is communicating normally. This could occur when an terminal has been enabled, or after an error condition has been cleared.

For status codes within request code 5 (unsolicited status report) bit 7 will be set to indicate the UP/DOWN state of the terminal after the event which caused the status report. Bit 7 will be set if the terminal state was DOWN, and it will be clear if the terminal state was UP. An unsolicited status report of zero (UP, no error detected) is used to indicate the terminal has just come UP after being DOWN.

Z7340A ACC Interface

The following unsolicited status codes may be received by an application program from the HDLC.FRAME protocol on a Z7340A ACC interface.

Table 3-3 Z7340A Interface Unsolicited Status Codes

Unsolicited Status Code

Description

IO_OK

No error detected.

Normal communications have been established or resumed.

IO_DSBL

Terminal Disabled

ST25XDCDLoss of DCD signal
ST25XCTSLoss of CTS signal

IO_STATS

This message is sent in response to a CW_STATS control write. The data buffer contains a x25l2stat_type structure (defined in zcomx25.h)

IO_ALRDY_ENBL

An enable request is received, while HDLC.FRAME is already enabled. No action is taken and this unsolicited status code is returned with the UP/DOWN bit set to reflect the state of the port.

IO_ALRDY_DSBL

A disable request is received, while HDLC.FRAME is already disabled. No action is taken.

IO_RX_BUF

Either the port or the card as a whole is running low on free buffers. Some tuning of the ACC configurable parameters may be required. Refer to the section on "TTGEN" in the ACC Utilities Reference Guide.

 

Other Non-E1/T1 interfaces

The following unsolicited status codes may be received by an application program from the HDLC.FRAME protocol on a non-E1/T1 interface.

Table 3-4 Other Non-E1/T1 Interface Unsolicited Status Codes

Unsolicited Status Code

Description

IO_OK

No error detected.

Normal communications have been established or resumed.

ST25DSBL

Terminal Disabled

ST25XDCD

Loss of DCD signal

ST25XCTS

Loss of CTS signal

IO_STATS

This message is sent in response to a CW_STATS control write. The data buffer contains a x25l2stat_type structure (defined in zcomx25.h)

 

E1/T1 interface

The following unsolicited status codes may be received by an application program from the HDLC.FRAME protocol on an E1/T1 interface.

Table 3-5 E1/T1 Interface Unsolicited Status Codes

Unsolicited Status Code

Description

IO_OK

No error detected.

Normal communications have been established or resumed.

IO_DSBL

Terminal Disabled

IO_TX_TMOUT

Cable or local modem fault.

The physical connection to the remote device has been lost.

IO_LONG_MSG

Frame too long (SS7 only)

HDLC.FRAME has entered octet counting mode.

IO_RX_BUF

No receive buffers

The number of available free buffers or message headers on the interface card is dangerously low.

IO_ALRDY_ENBL

Terminal already enabled

An enable request was received for an HDLC.FRAME terminal which was already enabled.

IO_ALRDY_DSBL

Terminal already disabled

A disable request was received for an HDLC.FRAME terminal which was already disabled.

IO_STATS

This message is sent in response to a CW_STATS control write. The data buffer contains an l2stat_type structure (defined in fw_types.h). The l2stat_type structure is the same as the x25l2stat_type structure mentioned above, except that it has some additional fields.

 

Receive Completion Status Codes[1]

If the BADFR bit is not set in the configuration, all messages received by the application from HDLC.FRAME will have a status code of zero. Received messages that have errors will not be returned by the protocol. See Chapter 4 “Protocol Specific Configuration”

If the BADFR bit is set, all messages, regardless of whether or not they have errors, are received by the application from HDLC.FRAME. In this case the following status codes are used.

Receive Status Code

Description

IO_OK

No error detected.

Normal communications have been established or resumed.

IO_LONG_MSG
(not Z7340A)

Message too long

A received frame was too large to be buffered.

IO_RX_BUF
(not Z7340A)

No receive buffers.

The protocol has run out of free receive buffers.

IO_BCC_ERR

BCC or CRC error.

A received frame contained an incorrect CRC.

IO_RX_ORUN
(not Z7340A)

Receive overrun.

The processing of a received frame could not be completed in time.

IO_PARITY

Parity or framing error.

A framing error had been detected by the frame receiver.



[1] non-E1/T1 interface only

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2000 Hewlett-Packard Development Company, L.P.