Go to main content

man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

outb(9F)

Name

outb, outw, outl, repoutsb, repoutsw, repoutsd - write to an I/O port

Synopsis

#include <sys/ddi.h>
#include <sys/sunddi.h> 

void outb(int port, unsigned char value);
void outw(int port, unsigned short value);
void outl(int port, unsigned long value);
void repoutsb(int port, unsigned char *addr, int count);
void repoutsw(int port, unsigned short *addr, int count);
void repoutsd(int port, unsigned long *addr, int count);

Interface Level

The functions described here are obsolete. The outb(), outw(), and outl() functions are superseded by ddi_put8(9F), ddi_put16(9F), and ddi_put32(9F). The repoutsb(), repoutsw(), and repoutsd() functions are superseded by ddi_rep_put8(9F), ddi_rep_put16(9F), and ddi_rep_put32(9F).

Parameters

port

A valid I/O port address.

value

The data to be written to the I/O port.

addr

The address of a buffer from which the values will be fetched.

count

The number of values to be written to the I/O port.

Description

These routines write data of various sizes to the I/O port with the address specified by port.

The outb(), outw(), and outl() functions write 8 bits, 16 bits, and 32 bits of data respectively, writing the data specified by value.

The repoutsb(), repoutsw(), and repoutsd() functions write multiple 8-bit, 16-bit, and 32-bit values, respectively. count specifies the number of values to be written. addr is a pointer to a buffer from which the output values are fetched.

Context

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

Attributes

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

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Architecture
x86
Interface Stability
Obsolete

See Also

isa(5), attributes(7), ddi_put8(9F), ddi_put16(9F), ddi_put32(9F), ddi_rep_put8(9F), ddi_rep_put16(9F), ddi_rep_put32(9F), inb(9F)

Writing Device Drivers in Oracle Solaris 11.4