The ARTIC960Hx PCI Adapter (PCI MPQP) device handler is a component of the communication I/O subsystem. The PCI MPQP device handler interface is made up of the following eight entry points:
tsclose | Resets the PCI MPQP device to a known state and returns system resources back to the system on the last close for that adapter. The port no longer transmits or receives data. |
tsconfig | Provides functions for initializing and terminating the PCI MPQP device handler and adapter. |
tsioctl | Provides the following functions for controlling the PCI MPQP device:
|
tsopen | Opens a channel on the PCI MPQP device for transmitting and receiving data. |
tsmpx | Provides allocation and deallocation of a channel. |
tsread | Provides the means for receiving data to the PCI MPQP device. |
tsselect | Provides the means for determining which specified events have occurred on the PCI MPQP device. |
tswrite | Provides the means for transmitting data to the PCI MPQP device. |
The PCI MPQP adapter software performs low-level BSC frame-type determination to facilitate character parsing at the kernel-mode process level. Frames received without errors are parsed. A message type is returned in the status field of the extension block along with a pointer to the receive buffer. The message type indicates the type of frame that was received.
For control frames that only contain control characters, the message type is returned and no data is transferred from the board. For example, if an ACK0 was received, the message type MP_ACK0 is returned in the status field of the extension block. In addition, a NULL pointer for the receive buffer is returned. If an error occurs, the error status is logged by the device driver. Unlogged buffer overrun errors are an exception.
Read operations must be performed using the readx subroutine because the read_extension structure is needed to return BSC function results.
BSC message types are defined in the /usr/include/sys/mpqp.h file. The PCI MPQP adapter can detect the following message types:
MP_ACK0 | MP_DISC | MP_STX_ETX |
MP_ACK1 | MP_SOH_ITB | MP_STX_ENQ |
MP_WACK | MP_SOH_ETB | MP_DATA_ACK0 |
MP_NAK | MP_SOH_ETX | MP_DATA_ACK1 |
MP_ENQ | MP_SOH_ENQ | MP_DATA_NAK |
MP_EOT | MP_STX_ITB | MP_DATA_ENQ |
MP_RVI | MP_STX_ETB |
|
The PCI MPQP adapter detects many types of receive errors. As errors occur they are logged and the appropriate statistical counter is incremented. The kernel-mode process is not notified of the error. The following are the possible BSC receive errors logged by the PCI MPQP adapter:
If status and data information are available, but no extension block is provided, the read operation returns the data, but not the status information.
The PCI MPQP card is a 4-port multiprotocol adapter that supports BSC and SDLC on the EIA232-D, X.21, and V.35 physical interfaces. When using the X.21 physical interface, X.21 centralized multipoint operation on a leased-circuit public data network is not supported.