| 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.
