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

Sorted by
Title
Sort by
Topic
Sort by
Resource Type
Sort by
Date
The "/aliases" node in the device tree (HTML)
HW89: Describes the aliases node in the Open Firmware device tree.
Open Firmware, PCI and PC Card Technical Q&As 2000-09-05
12-inch PowerBook G4 Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the 12-inch PowerBook G4 introduced in January 2005.
Apple Hardware Guides 2005-02-04
128Mb SDRAM ICs limitation on original "Bronze Keyboard" Powerbook G3 (HTML)
QA1040: Outlines Memory ICs design limitation on original "Bronze Keyboard" Powerbook G3.
Apple Hardware Technical Q&As 2001-06-21
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
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
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
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
15-inch PowerBook G4 Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the 15-inch PowerBook G4 introduced in October 2005.
Apple Hardware Guides 2005-10-27
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
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
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
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
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
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
17-inch PowerBook G4 Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the 17-inch PowerBook G4 introduced in October 2005.
Apple Hardware Guides 2005-10-19
The AAPL, slot-name property and PCI (HTML) (日本語 HTML)
HW61: Discusses the use of the AAPL,slot name property for PCI
Apple Hardware, Open Firmware, PCI and PC Card Technical Q&As 1999-04-19
Accessing Hardware From Applications (HTML) (PDF)
Tips and guidelines for developing applications that communicate with or control devices.
General Guides 2007-02-08
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
AirPort Developer Note (HTML)
Describes Apple's implementation of 802.11 wireless LAN standards on Mac computers.
AirPort/802.11 Guides 2008-04-28
All Hardware Products (HTML)
A list of links to all Apple hardware developer notes.
Apple Hardware Guides
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
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
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
Are the Name Registry device tree nodes unique? (HTML)
Deprecated - HW64: Discusses whether Name Registry nodes copied from the Open Firmware device tree are unique.
Apple Hardware, Audio, Networking, Open Firmware, PCI and PC Card, Printing Technical Q&As 1999-10-11
ATA Interface Modules (HTML)
TN1192: Describes how to write device drivers for ATA host bus controllers, ie. ATA Interface Module.
ATA Technical Notes 1999-12-01
Audio Developer Note (HTML)
Describes the analog and digital audio capabilities of Mac computers.
Audio Guides 2008-04-28
Audio Device Driver Programming Guide (HTML) (PDF)
Explains how to develop kernel-resident drivers for audio devices.
Audio Guides 2009-03-04
AudioCDSample (HTML) (DMG) (ZIP)
Demonstrates how to discover audio CDs and access the TOC information presented by the CD-DA filesystem.
Audio, Storage Sample Code 2005-10-04
Available FireWire Isochronous Bandwidth (HTML)
QA1356: Discusses attempting to "pre-flight" an isochronous bandwidth allocation request by reading the currently available bandwidth.
Audio, FireWire, QuickTime Technical Q&As 2004-07-07
Avoiding Kernel Event Conflicts (HTML)
QA1063: Documents the namespace for the vendor_code field of the kern_event_msg structure.
PCI and PC Card Technical Q&As 2001-09-14
BlitVBL (HTML) (DMG) (ZIP)
Shows how to have Mac OS X try its best to sync to the VBL for you.
Performance Sample Code 2003-01-14
Bluetooth Developer Note (HTML)
Provides an overview of Bluetooth technology and describes its implementation in Mac computers.
Bluetooth Guides 2008-04-28
Bluetooth Device Access Guide (HTML) (PDF)
Explains how to develop applications that access Bluetooth-enabled devices.
Bluetooth Guides 2007-12-11
Bluetooth Framework Reference (HTML)
Describes the C and Objective-C APIs that support user-space access to Bluetooth devices.
Bluetooth Reference 2008-10-15
Bluetooth Radio Power Class for Apple Systems (HTML) (日本語 HTML)
QA1278: Notes Preferred Bluetooth Transmitter Characteristics for products designed for Apple Systems.
Apple Hardware, Bluetooth, Performance Technical Q&As 2003-08-06
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
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Bonjour, Networking Technical Q&As 2004-03-23
Bonjour service types used in Mac OS X (HTML)
QA1312: Provides a list of common Bonjour service types used in Mac OS X.
Bonjour Technical Q&As 2004-07-14
Bonjour TXT record rate limiting in Panther (HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
Bonjour Technical Q&As 2003-10-23
Boot Blocks (HTML)
Deprecated - DV03: Warns that Boot Block form and function will change and describes undocumented Boot Blocks features.
Storage Technical Notes 1987-03-01
Booting after invoking the Open Firmware user interface (HTML) (日本語 HTML)
HW48: Tells how to boot a system after entering the Open Firmware user interface.
Apple Hardware, Storage Technical Q&As 1999-02-15
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Ethernet, Networking Sample Code 2003-06-12
Building Customized User Client Drivers for USB Devices (HTML)
Learn how to write the setup code for card readers, bill validators, and other devices.
Human Interface Device & Force Feedback, USB Articles 2006-06-26
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
Can you explain the words "begin" and "again"? (HTML)
HW70: Explains the Forth looping words "begin" and "again" and how to escape such a loop.
Open Firmware, PCI and PC Card Technical Q&As 1999-10-11
CCL Modem Scripting Guide (HTML) (PDF)
Networking, Serial, USB Guides 2007-06-28
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
CD-ROM Detection (HTML) (DMG) (ZIP)
Shows how to determine whether a drive is a CD-ROM drive.
Storage Sample Code 2003-01-14
CD-ROM Driver Calls (HTML)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
ATA, SCSI, Storage Technical Notes 2000-08-14
CDROMSample (HTML) (DMG) (ZIP)
Demonstrates how to find CD-ROM media and read sectors from that media on Mac OS X.
Storage Sample Code 2006-01-31
Changing the configuration variable in Open Firmware (HTML) (日本語 HTML)
HW40: Tells how to change the configuration variable in Open Firmware.
Open Firmware Technical Q&As 1999-02-15
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Ethernet, Networking Technical Q&As 1997-03-14
Checking for the Printer Driver (HTML)
Deprecated - DV42: Describes a legacy Mac OS technique avoiding system hangs when using serial drivers on USB systems.
Printing Technical Q&As 2000-06-19
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
The "chosen" node in the device tree (HTML)
HW88: Describes how to find the "chosen" node in the Open firmware device tree.
Apple Hardware, Ethernet, Networking, PCI and PC Card Technical Q&As 2000-09-05
Clearing mDNSResponder's cached records (HTML)
QA1310: Clearing the Bonjour service cache (mDNSResponder's cached records) for testing purposes.
Bonjour Technical Q&As 2004-02-11
Cocoa OpenGL (HTML) (DMG) (ZIP)
Demonstrates using Cocoa with OpenGL, including window setup and event handling.
Graphics & Imaging Sample Code 2007-10-22
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
Security Guides 2008-11-19
Code Signing Release Notes (HTML)
Security Release Notes 2007-10-31
Coding in the Kernel (HTML)
Considerations and caveats about programming in the kernel.
General Guides 2005-11-09
Common QA and Roadmap for USB Software Development on Mac OS X (HTML)
QA1370: Roadmap for development of USB Software on Mac OS X and some Common Questions and Answers
USB Technical Q&As 2006-02-28
CPUGestalt (HTML) (DMG) (ZIP)
Deprecated - Shows how to determine the processor type of the Macintosh you're running on.
Apple Hardware Sample Code 2003-10-27
CustomMediaIcons (HTML) (DMG) (ZIP)
Providing custom media icons for storage
SCSI, Storage, USB Sample Code 2007-07-10
DDR SDRAM ICs for PowerBooks and iBooks that use Memory bus slewing (HTML)
QA1344: Specifies DDR SDRAM IC optimization for PowerBooks and iBooks that use Memory bus slewing.
Apple Hardware, Open Firmware Technical Q&As 2004-03-18
Dealing with PCI Expansion Chassis Problems (HTML) (日本語 HTML)
TN1135: Discusses solutions for compatibility issues between PCI cards and attached expansion chassis.
PCI and PC Card Technical Notes 1998-08-01
Detecting a CD-ROM (HTML) (日本語 HTML)
DV18: Demonstrates CD-ROM drive detection.
Apple Hardware, ATA, SCSI, Storage Technical Q&As 1997-01-31
Detecting low printer ink levels (HTML)
TN2144: How to detect printer supply levels using a low ink tool
Printing Technical Notes 2005-06-29
Detecting specific ROM-in-RAM Mac (HTML) (日本語 HTML)
Deprecated - HW49: Identifying a Mac by name ("iMac"), and better alternatives for determining specific features ("has Firewire").
Apple Hardware Technical Q&As 1999-10-05
Determining Open Firmware version (HTML)
HW100: Demonstrates how to find out the version of Open Firmware on your Macintosh.
Open Firmware, PCI and PC Card Technical Q&As 2000-10-06
Determining RAM size & location in New World Machines (HTML)
QA1065: Demonstrates Open Firmware method of determining RAM size & location in New World Machines.
Apple Hardware, Performance Technical Q&As 2001-08-01
Determining the version of Open Firmware on your Mac (HTML) (日本語 HTML)
HW60: Describes a method to display the version of Open Firmware on a Macintosh.
Apple Hardware, Performance Technical Q&As 1999-03-29
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.
Serial Guides 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.
Storage Guides 2007-03-06
Difference between an Open Firmware word and method (HTML) (日本語 HTML)
HW46: Describes the differences between an Open Firmware word and an Open Firmware method.
Open Firmware, PCI and PC Card Technical Q&As 1999-02-15
Difference between using Restart or Shut Down in the Finder's Special menu in Open Firmware (HTML) (日本語 HTML)
HW47: Explains the differences between using Restart or Shut Down on Open Firmware
Apple Hardware, PCI and PC Card Technical Q&As 1999-02-15
Digital CD Audio (HTML) (日本語 HTML)
TN1187: Describes digital audio on the Macintosh.
Audio Technical Notes 2000-04-01
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
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Bonjour, Networking Technical Q&As 2004-06-01
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
Displaying PCI Configuration Registers contents in Open Firmware (HTML)
QA1036: Demonstrates how to display PCI Configuration Resister contents in Open Firmware.
Apple Hardware, PCI and PC Card, Performance Technical Q&As 2001-05-18
dist_fft (HTML) (DMG) (ZIP)
Gigaelement FFTs on Apple G5 clusters
Performance Sample Code 2004-08-23
dl command in 1 machine mode (HTML) (日本語 HTML)
HW51: Describes using the "dl" command in 1 machine mode.
Apple Hardware Technical Q&As 1999-03-29
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
Do PowerBooks have a PCI bus? (HTML) (日本語 HTML)
HW43: Explains that a Powerbook has a PCI bus.
Apple Hardware, PCI and PC Card Technical Q&As 1999-02-15
DR Emulator Caches (HTML) (日本語 HTML)
Deprecated - HW28: Describes the Dynamic Recompiling emulator's cache, including a description of when to flush the cache.
Apple Hardware Technical Q&As 1996-04-08
DRAM DIMM power pin connections for Macintosh Computers (HTML) (日本語 HTML)
QA1271: Discusses design considerations for DRAM DIMM power pin connections for Macintosh Computers.
Apple Hardware, Performance Technical Q&As 2003-07-04
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
ATA, Ethernet, Fibre Channel, FireWire, Networking, PCI and PC Card, SCSI, Serial, Storage, USB Technical Q&As 2001-12-05
eMac Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the eMac computer introduced in May 2005.
Apple Hardware Guides 2005-05-03
Empty Memory Objects (HTML) (日本語 HTML)
QA1259: Describes how two memory management edge cases are handled by the common Mac OS memory allocators.
Apple Hardware, Performance Technical Q&As 2003-04-21
Energy Star PCI Device (HTML) (日本語 HTML)
QA1108: Provides useful information for developers of Energy Star-compliant PCI devices.
Apple Hardware, PCI and PC Card, Performance Technical Q&As 2002-01-15
enetlognke (HTML) (DMG) (ZIP)
Interface filter based on supported Kernel Programming Interfaces for Tiger.
Networking Sample Code 2005-08-10
Ethernet Developer Note (HTML)
Provides an overview of Ethernet technology and describes its implementation in Mac computers.
Ethernet Guides 2008-04-28
Explanation of SDRAM configuration Nomenclature (HTML)
HW75: Explains the three-part "Device configuration" numbers for SDRAM in the Power Mac G4 Computer Developer Note.
Apple Hardware, Performance Technical Q&As 1999-10-18
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
Faster DDR DRAM in the 867MHz Power Mac G4 (Mirrored Drive Doors) (HTML) (日本語 HTML)
QA1191: Confirms the use of faster DDR DRAM in the 867MHz Power Mac G4 (Mirrored Drive Doors).
Apple Hardware, Performance Technical Q&As 2002-08-19
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
FireWire Developer Note (HTML)
Provides an overview of FireWire (IEEE 1394) and describes support for it on Mac computers.
FireWire Guides 2008-04-28
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
FireWire: DCL Programs Under Mac OS X (HTML) (日本語 HTML)
TN2072: Describes the structure and creation of DCL programs under Mac OS X.
FireWire Technical Notes 2003-06-21