outb, outw, outl, repoutsb, repoutsw, repoutsd - write to an I/O port
#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);
The functions described here are obsolete. For the outb(), outw(), and outl() functions use, respectively, ddi_put8(9F), ddi_put8(9F), and ddi_put8(9F) instead. For repoutsb(), repoutsw(), andrepoutsl(), use, respectively, ddi_rep_put8(9F), ddi_rep_put8(9F), and ddi_rep_put8(9F) instead.
port
value
addr
count
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.
These functions may be called from user, interrupt, or kernel context.
See attributes(5) for descriptions of the following attributes:
|
isa(4), attributes(5), ddi_put8(9F), ddi_put8(9F), ddi_put8(9F), ddi_rep_put8(9F), ddi_rep_put8(9F), ddi_rep_put8(9F), inb(9F)
Writing Device Drivers
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |