The DDI defines several layers of interface between different layers of device drivers in the driver hierarchy. Typically an API is defined for each class of bus or device, as a part of the DDI.
The DDI API is summarized in the following table:
Function |
Description |
---|---|
ata() |
ATA bus driver interface |
bench() |
Bench device driver interface |
bus() |
Common bus driver interface |
buscom() |
Bus communication driver interface |
busFi() |
Common bus Fault Injection driver interface |
busmux() |
Bus multiplexor driver interface |
cdrom() |
CD-ROM driver interface |
diag() |
Diagnostic driver interface |
disk() |
Hard disk device driver interface |
diskStat() |
Hard disk statistics |
ether() |
Ethernet device driver interface |
ettherStat() |
Ethernet statistics |
flash() |
Flash device driver interface |
flashCtl() |
Flash control device driver interface |
flashStat() |
Flash statistics |
generic_ata() |
Generic ATA bus master driver interface for PCI IDE devices |
gpio() |
gpio bus driver interface |
HSC() |
Hot swap controller driver interface |
isa() |
ISA bus driver interface |
isaFi() |
ISA fault injection driver interface |
keyboard() |
Keyboard device driver interface |
mngt() |
Management driver interface |
mouse() |
Mouse device driver interface |
netFrame() |
Generic representation of network frames |
pci() |
PCI bus driver interface |
pciFi() |
PCI fault injection driver interface |
pcimngr() |
PCI resource manager driver interface |
pcmcia() |
CMCIA bus driver interface |
quicc() |
QUICC bus driver interface |
ric() |
RIC device driver interface |
rtc() |
RTC device driver interface |
timer() |
TIMER device driver interface |
tx39() |
TX39 bus driver interface |
uart() |
UART device driver interface |
uartStat() |
UART statistics |
wdtimer() |
Watchdog timer device driver interface |
The ChorusOS operating system DDI and DKI support software interrupts, also known as soft interrupts. Soft interrupts are not initiated by a hardware device, but rather are initiated by software. Handlers for these interrupts must also be added to and removed from the system. Soft interrupt handlers run in the interrupt context and therefore can be used to do many of the tasks that belong to an interrupt handler.
The software interrupt API (SOFTINTR) is summarized in the following table:
Function |
Description |
---|---|
svSoftIntrDeclare() |
Declares a software interrupt descriptor |
svSoftIntrTrigger() |
Triggers execution of a software interrupt |
svSoftIntrForget() |
Detaches a previously declared software interrupt |
For details, see the SOFTINTR(5FEA) man page.