Provides access to multiprotocol adapters by way of the Multiprotocol Quad Port (MPQP) device handler.
The /dev/mpqn character special file provides access to the MPQP device handler for the purpose of providing access to a synchronous network. The MPQP device handler supports multiple adapters.
Usage Considerations
When accessing the MPQP device handler, the following should be taken into account:
Driver initialization and termination
The device handler may be loaded and unloaded. The handler supports the configuration calls to initialize and terminate itself.
Special file support
Calls other than the open and close subroutine calls are discussed in relation to the mode in which the device handler is operating.
Subroutine Support
The MPQP device handler supports the open, close, read, write, and ioctl subroutines in the following manner:
The device handler supports the /dev/mpqn special file as a character-multiplex special file. The special file must be opened for both reading and writing (O_RDWR). There are no particular considerations for closing the special file. Which special file name is used in an open call depends on how the device is to be opened. Types of special file names are:
Item | Description |
---|---|
/dev/mpqn | Starts the device handler for the selected port. |
/dev/mpqn/D | Starts the device handler in Diagnostic mode for the selected port. |
Can take the form of a read, readx, readv, or readvx subroutine call. For this call, the device handler copies the data into the buffer specified by the caller.
Can take the form of a write, writex, writev, or writevx subroutine call. For this call, the device handler copies the user data into a buffer and transmits the data on the LAN.
Item | Description |
---|---|
CIO_START | Starts a session and registers a network ID. |
CIO_HALT | Halts a session and removes a network ID. |
CIO_QUERY | Returns the current RAS counter values. These values are defined in the /usr/include/sys/comio.h file. |
CIO_GET_STAT | Returns the current adapter and device handler status. |
MP_START_AR | Puts the MPQP port into Autoresponse mode. |
MP_STOP_AR | Permits the MPQP port to exit Autoresponse mode. |
MP_CHG_PARMS | Permits the data link control (DLC) to change certain profile parameters after the MPQP device has been started. |
MP_SET_DELAY | Sets the value of NDELAY. |
The following error codes may be returned when accessing the device handler through the /dev/mpqn special file:
Item | Description |
---|---|
ECHRNG | Indicates that the channel number is out of range. |
EAGAIN | Indicates that the maximum number of direct memory accesses (DMAs) was reached, so that the handler cannot get memory for internal control structures. |
EBUSY | Indicates one of the following:
|
EIO | Indicates that the handler could not queue the request to the adapter. |
EFAULT | Indicates that the cross-memory copy service failed. |
EINTR | Indicates that the sleep was interrupted by a signal. |
EINVAL | Indicates one of the following:
|
ENOMEM | Indicates one of the following:
|
ENOMSG | Indicates that the status-queue pointer is null, and there are no entries. |
ENOTREADY | Indicates that the port state in define device structure (DDS) is not in Data Transfer mode or that the implicit halt of port failed. |
ENXIO | Indicates one of the following:
|
The communication device handler topic defines specific errors returned on each subroutine call.