Jump To:
Leopard Guides: Darwin
The I/O Kit is the device driver subsystem of Mac OS X and is part of Darwin. The I/O Kit provides a set of C functions and C++ classes, including object-oriented abstractions common to various families of drivers. In addition, for many device types, the I/O Kit provides a device interface that enables an application to communicate with and control a device from user space.

View all Hardware & Drivers Guides.
Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Date
Accessing Hardware From Applications (HTML) (PDF)
Tips and guidelines for developing applications that communicate with or control devices.
2007-02-08
Audio Device Driver Programming Guide (HTML) (PDF)
Explains how to develop kernel-resident drivers for audio devices.
2009-03-04
CCL Modem Scripting Guide (HTML) (PDF)
2007-06-28
Device File Access Guide for Serial Devices (HTML) (PDF)
Guidelines for using I/O Kit and POSIX functions to develop applications that communicate with serial devices.
2005-12-06
Device File Access Guide for Storage Devices (HTML) (PDF)
Guidelines for using I/O Kit and POSIX functions to develop applications that communicate with storage devices.
2007-03-06
FireWire Device Interface Guide (HTML) (PDF)
Explains how to develop applications to communicate with or control FireWire devices and units.
2007-02-08
HBA Device Driver Programming Guide (HTML) (PDF)
Describes how to develop a high-performance, kernel-resident driver for an HBA device.
2006-05-23
HID Class Device Interface Guide (HTML) (PDF)
Explains how to develop applications to communicate with or control HID class devices.
2009-05-06
I/O Kit Device Driver Design Guidelines (HTML) (PDF)
Design guidelines and tips for developing, debugging, and deploying kernel-resident device drivers, including user clients.
2007-03-06
I/O Kit Fundamentals (HTML) (PDF)
The basics of developing device drivers. Includes descriptions of I/O Kit families.
2007-05-17
Mass Storage Device Driver Programming Guide (HTML) (PDF)
Background and task information about developing kernel-resident drivers for mass storage devices.
2007-04-03
Network Device Driver Programming Guide (HTML) (PDF)
Background and task information about developing network drivers for Mac OS X.
2008-03-11
SCSI Architecture Model Device Interface Guide (HTML) (PDF)
Explains how to develop applications that communicate with or control SCSI Architecture Model devices.
2007-02-08
USB Device Interface Guide (HTML) (PDF)
Provides background information and sample code for developing applications to communicate with or control USB devices and interfaces.
2007-09-04
User-Mode USB Device Arbitration (HTML)
Information about using USB device arbitration, available in Mac OS X version 10.1 and later.
2002-02-06
Writing PCI Drivers (HTML) (PDF)
Conceptual information about writing I/O Kit drivers for PCI, AGP, and CardBus (PC Card) devices.
2006-04-04