INB(9F) Kernel Functions for Drivers INB(9F)

inb, inw, inl - read from an I/O port

#include <sys/ddi.h>
#include <sys/sunddi.h>
unsigned char inb(int port);

unsigned short inw(int

unsigned long inl(int port);

The functions described here are obsolete. For the inb(), inw(), and inl() functions, use, respectively, ddi_get8(9F), ddi_get16(9F), and ddi_get32(9F) instead.

A valid I/O port address.


The address of a buffer where the values will be stored.


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 inb(), inw(), and inl() functions return the value that was read from the I/O port.

These functions may be called from user, interrupt, or kernel context.

See attributes(5) for descriptions of the following attributes:

Architecture x86
Stability Level Obsolete

isa(4), attributes(5), ddi_get8(9F), ddi_get16(9F), ddi_get32(9F), outb(9F)

Writing Device Drivers

September 12, 2020 OmniOS