| |
| Kernel Functions for Drivers | inb(9F) |
| | inb, inw, inl, repinsb, repinsw, repinsd - read from an I/O port |
SYNOPSIS
| |
#include <sys/ddi.h>
#include <sys/sunddi.h> unsigned char inb(int port); |
| | unsigned short inw(int
port); |
| | unsigned long inl(int port); |
| |
void repinsb(int port, unsigned char *addr, int
count); |
| | void repinsw(int port, unsigned short *addr, int
count); |
| | void repinsd(int port, unsigned long *addr, int
count); |
| |
Solaris IA DDI specific (Solaris IA DDI).
|
| |
-
port
- A valid I/O port address.
-
addr
- The address of a buffer where the values will be stored.
-
count
- The number of values to be read from the I/O port.
|
| |
These routines read data of various sizes from the I/O port with the address specified by port.
The inb(), inw(), and inl() functions read 8 bits, 16 bits, and 32 bits of data respectively, returning the resulting values.
The repinsb(), repinsw(), and repinsd() functions read multiple 8-bit, 16-bit, and 32-bit values, respectively. count
specifies the number of values to be read. A pointer to a buffer will receive the input data; the buffer must be long enough to hold count values of the requested size.
|
| |
inb(), inw(), and inl() return the value that was read from the I/O port.
|
| |
These functions may be called from user or interrupt context.
|
| |
See attributes(5) for descriptions of the following
attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | IA |
|
| |