Provides access to the serial optical link by way of the Serial Optical Link Device Handler Overview.
The Serial Optical Link device driver is a component of the Communication I/O subsystem. The device driver can support from one to four serial optical ports. An optical port consists of two separate pieces. The Serial Link Adapter is on the system planar, and is packaged with two to four adapters in a single chip. The Serial Optical Channel Converter plugs into a slot on the system planar and provides two separate optical ports.
The ops0 special file provides access to the optical port subsystem. An application that opens this special file has access to all the ports, but does not need to be aware of the number of ports available. Each write operation will include a destination processor ID, and the device driver will route the data through the correct port to reach that processor. If there is more than one path to the destination, the device driver will use any link that is available, in case of a link failure.
When accessing the Serial Optical Link device driver, the following should be taken into account:
driver initialization and termination | The device driver may be loaded and unloaded. The device driver supports the configuration calls to initialize and terminate itself. |
special file support | Calls other than the open and close subroutines are discussed based on the mode in which the device driver is operating. |
The Serial Optical Link device driver provides specific support for the open, close, read, write, and ioctl subroutines.
The device driver supports the /dev/ops0 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. The special file name is used in an open call depending on how the device is to be opened. The two types of special file names are:
Can take the form of a read, readx, readv, or readvx subroutine. For this call, the device driver copies the data into the buffer specified by the caller.
Can take the form of a write, writex, writev, or writevx subroutine. For this call, the device driver copies the user data into a kernel buffer and transmits the data.
The Serial Optical Link device driver supports the following ioctl operations:
CIO_GET_FASTWRT | Gets attributes needed for the sol_fastwrt entry point. |
CIO_GET_STAT | Gets device status. |
CIO_HALT | Halts the device. |
CIO_QUERY | Queries device statistics. |
CIO_START | Starts the device. |
IOCINFO | I/O character information. |
SOL_CHECK_PRID | Checks if a processor ID is connected. |
SOL_GET_PRIDS | Gets connected processor IDs. |
The following error codes may be returned when accessing the device driver through the /dev/ops0 special file:
This file functions with the Serial Optical Link device driver.
The close subroutine, open subroutine, read or readx subroutine, write or writex subroutine, ioctl subroutine.
Serial Optical Link Device Handler Overview in AIX Kernel Extensions and Device Support Programming Concepts.