Jump To:
Leopard Reference Library
Apple provides information hardware developers can use to create products that are compatible with Macintosh computers and programming interfaces software developers can use to create software that drives or accesses devices.

A guided learning path for hardware and driver developers new to Mac OS X.   Essential information for developing drivers and device-access software.   API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sort by
Resource Type
Sorted by
Date
HID Class Device Interface Guide (HTML) (PDF)
Explains how to develop applications to communicate with or control HID class devices.
Human Interface Device & Force Feedback Guides 2009-05-06
Audio Device Driver Programming Guide (HTML) (PDF)
Explains how to develop kernel-resident drivers for audio devices.
Audio Guides 2009-03-04
I/O Kit Framework Reference (HTML)
Describes the I/O Kit classes that support non-kernel access to I/O Kit objects through the device-interface mechanism.
ATA, Audio, Ethernet, Fibre Channel, FireWire, General, Graphics & Imaging, Human Interface Device & Force Feedback, Networking, Open Firmware, PCI and PC Card, Performance, Scanners, SCSI, Serial, Still Cameras, Storage, USB Reference 2009-03-04
Network Kernel Extensions Programming Guide (HTML) (PDF)
Describes how to write a kernel extension for adding or modifying functionality of a networking stack (Mac OS X 10.4 and later).
Networking Guides 2009-03-02
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
ATA, Audio, Ethernet, Fibre Channel, FireWire, General, Graphics & Imaging, Human Interface Device & Force Feedback, Networking, Open Firmware, PCI and PC Card, SCSI, Storage, USB Reference 2009-01-06
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
Security Guides 2008-11-19
Quartz Display Services Reference (HTML) (PDF)
Describes the interface for configuring and controlling display hardware.
Graphics & Imaging Reference 2008-11-19
Bluetooth Framework Reference (HTML)
Describes the C and Objective-C APIs that support user-space access to Bluetooth devices.
Bluetooth Reference 2008-10-15
DNS Service Discovery Java Reference (HTML)
Describes DNS Service Discovery API features of ZeroConf networking for Java on Mac OS X in Javadoc format.
Bonjour Reference 2008-10-15
Allocating and sharing memory with user space from an I/O Kit driver (HTML) (日本語 HTML)
QA1197: Describes the preferred technique for allocating and sharing buffers in an I/O Kit kernel driver.
AirPort/802.11, ATA, Audio, Bluetooth, Ethernet, Fibre Channel, FireWire, Networking, PCI and PC Card, Scanners, SCSI, Serial, Storage, USB Technical Q&As 2008-10-13
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
AirPort/802.11, Apple Hardware, ATA, Audio, Bluetooth, Bonjour, Ethernet, Fibre Channel, FireWire, Human Interface Device & Force Feedback, Mac OS X Server, Networking, PCI and PC Card, Performance, Printing, QuickTime, Scanners, SCSI, Serial, Still Cameras, Storage, USB Technical Q&As 2008-10-13
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Apple Hardware Technical Q&As 2008-09-24
Retain Counts of io_object_t Objects in IOKit.framework (HTML) (日本語 HTML)
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
Audio, FireWire, Human Interface Device & Force Feedback, Printing, Scanners, SCSI, Still Cameras, Storage, USB Technical Q&As 2008-09-24
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
AirPort/802.11, Apple Hardware, ATA, Audio, Bluetooth, Ethernet, Fibre Channel, FireWire, Human Interface Device & Force Feedback, Networking, Open Firmware, PCI and PC Card, Printing, Scanners, SCSI, Serial, Still Cameras, Storage, USB Technical Q&As 2008-09-18
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Apple Hardware, Open Firmware, Performance Technical Q&As 2008-09-16
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
ATA, Audio, Fibre Channel, PCI and PC Card, SCSI, Storage Sample Code 2008-08-27
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
ATA, Audio, Ethernet, Fibre Channel, FireWire, Networking, PCI and PC Card, SCSI, Serial, Storage, USB Technical Notes 2008-08-18
Tips on USB driver matching for Mac OS X (HTML)
QA1076: Gives some tips on getting USB driver matching to work.
USB Technical Q&As 2008-08-14
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
AirPort/802.11, ATA, Audio, Ethernet, FireWire, Networking, PCI and PC Card, SCSI, Serial, Storage, USB Technical Notes 2008-08-14
Video capture with multiple IIDC cameras (HTML)
QA1365: Discusses factors which influence the number of IIDC cameras that can simultaniously be used for capture.
FireWire Technical Q&As 2008-08-08
Mac OS X Server Security Configuration Guide (PDF)
Describes how to configure Mac OS X Server to enhance server and service security.
Mac OS X Server, Networking, Security Guides 2008-06-09
Xserve User's Guide (PDF)
Explains how to install, operate, and update Xserve systems. Includes expansion and hardware specifications.
Apple Hardware Guides 2008-06-09
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
AirPort/802.11, Bonjour, Networking Technical Q&As 2008-06-03
HID Config Save (HTML) (DMG) (ZIP)
Human Interface Device Manager Configuration sample
Human Interface Device & Force Feedback Sample Code 2008-05-07
AirPort Developer Note (HTML)
Describes Apple's implementation of 802.11 wireless LAN standards on Mac computers.
AirPort/802.11 Guides 2008-04-28
Audio Developer Note (HTML)
Describes the analog and digital audio capabilities of Mac computers.
Audio Guides 2008-04-28
Bluetooth Developer Note (HTML)
Provides an overview of Bluetooth technology and describes its implementation in Mac computers.
Bluetooth Guides 2008-04-28
Ethernet Developer Note (HTML)
Provides an overview of Ethernet technology and describes its implementation in Mac computers.
Ethernet Guides 2008-04-28
FireWire Developer Note (HTML)
Provides an overview of FireWire (IEEE 1394) and describes support for it on Mac computers.
FireWire Guides 2008-04-28
iMac Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of iMac computers introduced in April 2008.
Apple Hardware Guides 2008-04-28
PCI Developer Note (HTML)
Provides an overview of PCI technology and describes PCI support on Mac computers.
PCI and PC Card Guides 2008-04-28
RAM Expansion Developer Note (HTML)
Details requirements of RAM modules for use in Mac computers.
Apple Hardware Guides 2008-04-28
Universal Serial Bus Developer Note (HTML)
Provides an overview of Universal Serial Bus (USB) and describes support for it on Mac computers.
USB Guides 2008-04-28
Video Developer Note (HTML)
Details video capabilities of Mac computers.
Graphics & Imaging Guides 2008-04-28
Bluetooth User Interface Framework Reference (HTML)
Describes the C and Objective-C APIs that provide a consistent user interface to Bluetooth services.
Bluetooth Reference 2008-04-08
Disk Arbitration Framework Reference (HTML)
Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent.
ATA, Fibre Channel, General, SCSI, Storage Reference 2008-04-08
FireWire Audio User Library Framework Reference (HTML)
Describes the API that supports user-space access to FireWire audio devices and enables the creation of virtual FireWire audio devices.
Audio, FireWire Reference 2008-04-08
Force Feedback Framework Reference (HTML)
Describes the public interfaces to the Force Feedback implementation in Mac OS X, including support for plug-ins.
Human Interface Device & Force Feedback Reference 2008-04-08
Image Capture Device Modules Reference (HTML)
Describes the API to add support for image capture devices, such as cameras, phones, and scanners, to Mac OS X.
Graphics & Imaging Reference 2008-04-08
Network Device Driver Programming Guide (HTML) (PDF)
Background and task information about developing network drivers for Mac OS X.
Networking Guides 2008-03-11
15-Inch MacBook Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 15-inch MacBook Pro computer introduced in February 2008.
Apple Hardware Guides 2008-03-04
17-Inch MacBook Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 17-inch MacBook Pro computer introduced in February 2008.
Apple Hardware Guides 2008-03-04
MacBook Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the MacBook computer introduced in February 2008.
General Guides 2008-03-04
Xserve G5 Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the Xserve G5 computer introduced in January 2005.
Apple Hardware Guides 2008-02-21
PowerMac G4 (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the PowerMac G4 introduced in January 2003.
Apple Hardware Guides 2008-02-20
Xserve Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 4-core and 8-core Xserve introduced in January 2008.
Apple Hardware Guides 2008-02-08
New HID Manager APIs for Mac OS X version 10.5 (HTML)
TN2187: Mac OS X version 10.5 introduces new APIs for the HID Manager.
Human Interface Device & Force Feedback Technical Notes 2008-01-23
MacBook Air Developer Note (HTML)
New document specifies internal design, I/O features, and expansion capabilities of the MacBook Air computer introduced in January 2008.
Apple Hardware Guides 2008-01-18
Mac Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the Mac Pro computers introduced in January 2008.
Apple Hardware Guides 2008-01-09
15-Inch MacBook Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 15-inch MacBook Pro computer introduced in November 2007.
Apple Hardware Guides 2007-12-14
17-inch MacBook Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 17-inch MacBook Pro computer introduced in November 2007.
Apple Hardware Guides 2007-12-14
Bluetooth Device Access Guide (HTML) (PDF)
Explains how to develop applications that access Bluetooth-enabled devices.
Bluetooth Guides 2007-12-11
Apple Xserve Diagnostics User's Guide (PDF)
New document that explains how to use Apple Xserve Diagnostics tool to test server hardware.
Apple Hardware Guides 2007-12-04
MacBook Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the MacBook computer introduced in November 2007.
Apple Hardware Guides 2007-11-10
Affinity API Release Notes for Mac OS X v10.5 (HTML)
Explains how to influence which CPU core runs a group of threads (for performance optimization).
Performance Release Notes 2007-10-31
CCL Modem Scripting Release Notes (HTML)
Explains changes to modem CCLs for Mac OS X v10.5 and what to do to change existing and supersede older scripts.
Networking, Serial, USB Release Notes 2007-10-31
Code Signing Release Notes (HTML)
Security Release Notes 2007-10-31
I/O Kit Power Management Release Notes (HTML)
Describes the latest changes to power management for Mac OS X v10.5.
General, Performance Release Notes 2007-10-31
Cocoa OpenGL (HTML) (DMG) (ZIP)
Demonstrates using Cocoa with OpenGL, including window setup and event handling.
Graphics & Imaging Sample Code 2007-10-22
Leopard Technology Series for Developers: OS Foundations (HTML)
Leopard Overview article on system-level updates.
Bonjour, General, Security Articles 2007-09-04
USB Device Interface Guide (HTML) (PDF)
Provides background information and sample code for developing applications to communicate with or control USB devices and interfaces.
USB Guides 2007-09-04
iMac Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of iMac computers introduced in August 2007.
Apple Hardware Guides 2007-08-07
Checkout Lets You 'Get a Mac, Start a Store': Madebysofa Does It with Python and Cocoa (HTML)
Success story on how Mac-only Checkout was built using Python and Cocoa.
USB Articles 2007-07-10
CustomMediaIcons (HTML) (DMG) (ZIP)
Providing custom media icons for storage
SCSI, Storage, USB Sample Code 2007-07-10
CCL Modem Scripting Guide (HTML) (PDF)
Networking, Serial, USB Guides 2007-06-28
15-inch MacBook Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 15-inch MacBook Pro computer introduced in June 2007.
Apple Hardware Guides 2007-06-11
17-inch MacBook Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 17-inch MacBook Pro computer introduced in June 2007.
Apple Hardware Guides 2007-06-11
AppleFWAudio Vendor Specific Override Driver (HTML) (DMG) (ZIP)
This KEXT allows third-party vendors to customize AppleFWAudio with their own device-specific information.
Audio, FireWire Sample Code 2007-06-01
SMARTQuery (HTML) (DMG) (ZIP)
Demonstration of how to access and use S.M.A.R.T. disk monitoring functionality
Apple Hardware, ATA, Storage Sample Code 2007-05-30
I/O Kit Fundamentals (HTML) (PDF)
The basics of developing device drivers. Includes descriptions of I/O Kit families.
General, Performance Guides 2007-05-17
MacBook Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the MacBook computer introduced in May 2007.
Apple Hardware Guides 2007-05-17
Image Capture Applications Programming Guide (HTML) (PDF)
Describes the interaction between applications programs and image capture devices such as cameras and scanners.
Graphics & Imaging Guides 2007-05-16
15-inch MacBook Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 15-inch MacBook Pro computer introduced in October 2006.
Apple Hardware Guides 2007-05-03
15-inch MacBook Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 15-inch MacBook Pro computer introduced in October 2006.
Apple Hardware Guides 2007-05-03
iMac Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of iMac computers with SuperDrive introduced September 2006.
Apple Hardware Guides 2007-05-03
Mac Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the Mac Pro computer introduced in August 2006.
Apple Hardware Guides 2007-05-03
Mac Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the Mac Pro computers introduced in April 2007.
Apple Hardware Guides 2007-04-05
17-inch MacBook Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 17-inch MacBook Pro computer introduced in October 2006.
Apple Hardware Guides 2007-04-04
iMac Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the iMac computer introduced in January 2006.
Apple Hardware Guides 2007-04-04
Mac mini Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the Mac mini computer introduced in February 2006.
Apple Hardware Guides 2007-04-04
MacBook Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the MacBook computer introduced in May 2006.
Apple Hardware Guides 2007-04-04
MacBook Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the MacBook computer introduced in November 2006.
Apple Hardware Guides 2007-04-04
17-inch MacBook Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 17-inch MacBook Pro computer introduced in April 2006.
Apple Hardware Guides 2007-04-03
Mass Storage Device Driver Programming Guide (HTML) (PDF)
Background and task information about developing kernel-resident drivers for mass storage devices.
Storage Guides 2007-04-03
Multipathing with FibreChannel on Mac OS X (HTML)
TN2173: An explanation on how FibreChannel multipathing works on Mac OS X and how to design storage hardware to take advantage of it
Fibre Channel, SCSI, Storage Technical Notes 2007-03-23
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.
Storage Guides 2007-03-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.
General Guides 2007-03-06
Power Mac G5 Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the Power Mac G5 introduced in October 2005.
Apple Hardware Guides 2007-03-06
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
AirPort/802.11, ATA, Ethernet, Fibre Channel, Networking, PCI and PC Card, Serial, USB Technical Q&As 2007-02-28
SCSIHBAEmulator (HTML) (DMG) (ZIP)
Demonstration of how to implement a virtual parallel tasking SCSI host bus adapter (HBA)
SCSI, Storage Sample Code 2007-02-20
Accessing Hardware From Applications (HTML) (PDF)
Tips and guidelines for developing applications that communicate with or control devices.
General Guides 2007-02-08
FireWire Device Interface Guide (HTML) (PDF)
Explains how to develop applications to communicate with or control FireWire devices and units.
FireWire Guides 2007-02-08
SCSI Architecture Model Device Interface Guide (HTML) (PDF)
Explains how to develop applications that communicate with or control SCSI Architecture Model devices.
SCSI Guides 2007-02-08
Xserve Developer Note (HTML)
Apple Hardware Guides 2007-01-12
SCSIOldAndNew (HTML) (DMG) (ZIP)
Demonstrates a backward-compatible technique for communicating with SCSI parallel devices on Mac OS X.
Fibre Channel, Printing, Scanners, SCSI, Still Cameras, Storage Sample Code 2006-12-07
Using AudioDeviceRead in Mac OS 10.4 (HTML)
TN2113: How to use AudioBufferLists with AudioDeviceRead in Tiger and beyond.
Audio Technical Notes 2006-11-29
SetMouseAcclSample (HTML) (DMG) (ZIP)
Find HID System Manager and get/set cursor acceleration
Human Interface Device & Force Feedback Sample Code 2006-11-28
tcplognke (HTML) (DMG) (ZIP)
Demonstrates a TCP socket filter based on supported Kernel Programming Interfaces for Tiger
Networking Sample Code 2006-11-27
Thermal considerations for Mac Pro FB-DIMMs (HTML)
TN2156: Design considerations and specifications for the AMB and Heat spreader for the Mac Pro
Apple Hardware Technical Notes 2006-11-10
17-inch iMac for Education Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 17-inch iMac for Education computer introduced in July 2006.
Apple Hardware Guides 2006-11-07