Main index | Section 4 | 日本語 | Options |
#include <sys/types.h>
#include <sys/ioctl.h>
#include <dev/io/iodev.h>
#include <machine/iodev.h>
struct iodev_pio_req { u_int access; u_int port; u_int width; u_int val; };
The usual operations on the device are to open it via the open(2) interface and to send I/O requests to the file descriptor using the ioctl(2) syscall.
The ioctl(2) requests available for /dev/io are mostly platform dependent, but there are also some in common between all of them. The IODEV_PIO is used by all the architectures in order to request that an I/O operation be performed. It takes a 'struct iodev_pio_req' argument that must be previously setup.
The access member specifies the type of operation requested. It may be:
IODEV_PIO_READ | The operation is an "in" type. A value will be read from the specified port (retrieved from the port member) and the result will be stored in the val member. |
IODEV_PIO_WRITE | |
The operation is a "out" type. The value will be fetched from the val member and will be written out to the specified port (defined as the port member). | |
Finally, the width member specifies the size of the operand to be read/written, expressed in bytes.
In addition to any file access permissions on /dev/io, the kernel enforces that only the super-user may open this device.
IO (4) | June 1, 2010 |
Main index | Section 4 | 日本語 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.