Member Login Log In | Not a Member? Contact ADC
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
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Audio Technical Q&As 2008-09-18
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Audio Technical Q&As 2002-01-15
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
Audio Technical Q&As 1999-11-15
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Audio Reference 2008-04-08
New Sound Input Driver Features (HTML) (日本語 HTML)
Deprecated - TN1124: Describes the visible features and changes, in Mac OS 8.1, for PCI sound input drivers.
Audio Technical Notes 1998-04-01
Obtaining the name of an external MIDI Device from a MIDI Endpoint (HTML)
QA1374: Get the names of external MIDI Devices from MIDI Endpoints.
Audio Technical Q&As 2004-12-01
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Audio Technical Q&As 2006-02-22
PCI Type 1 Cycles (HTML)
HW26: Describes the circumstances when the PowerMac generates a Configuration Type 1 command.
Audio Technical Q&As 1995-07-15
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Audio Technical Q&As 2002-02-13
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 Technical Q&As 2008-09-24
Sample code for allocating an amount of dictionary space (HTML)
HW71: Discusses the allocation and the setting of memory for Dictionary space in Open Firmware.
Audio Technical Q&As 1999-10-11
SampleUSBAudioPlugin (HTML) (DMG) (ZIP)
USB audio plugin that performs a lowpass filtering operation on audio streamed through an audio USB Device.
Audio Sample Code 2005-03-07
SimplePlayThru (HTML) (DMG) (ZIP)
Use the HAL's Audio Output Unit (AUHAL) for device input and output on a single device (play-thru)
Audio Sample Code 2006-10-25
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
Audio Sample Code 2008-08-27
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
Audio Technical Notes 2008-08-14
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Audio Sample Code 2006-10-16
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
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Audio Technical Q&As 1999-02-15
What is the "dump" word and how do I use it? (HTML)
HW68: Describes the function of the Open Firmware word "dump" and how it can be used.
Audio Technical Q&As 1999-10-11
What numeric base is the default for the Open Firmware user interface? (HTML)
HW65: Describes how the default numeric base used by the Open Firmware user interface is hexadecimal.
Audio Technical Q&As 1999-10-11
Why did the name of the PCI bridge change? (HTML) (日本語 HTML)
HW59: Explains the name change of the PCI bridge to the generic name "pci" in Open Firmware.
Audio Technical Q&As 1999-03-29
Adding dependencies with kmodload (HTML)
QA1097: Illustrates how to specify dependencies when using kmodload.
Bluetooth Technical Q&As 2001-12-05
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.
Bluetooth Technical Q&As 2008-10-13
Are interrupts enabled while Open Firmware is running? (HTML) (日本語 HTML)
HW44: Explains that interrupts are disabled when Open Firmware is running.
Bluetooth Technical Q&As 1999-02-15
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.
Bluetooth 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
Determining Open Firmware configuration variables (HTML) (日本語 HTML)
HW56: Discusses how to determine the Open Firmware variables on a system.
Bluetooth Technical Q&As 1999-03-29
Expansion ROM device properties (HTML) (日本語 HTML)
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
Bluetooth Technical Q&As 1999-03-29
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Bluetooth Technical Q&As 2008-10-13
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
Bluetooth Technical Q&As 2003-10-28
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Bluetooth Technical Q&As 2008-09-18
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Bluetooth Technical Q&As 2002-01-15
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
Bluetooth Technical Q&As 1999-11-15
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
Bluetooth Technical Q&As 2004-01-15
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
Bluetooth Technical Q&As 2002-02-07
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Bluetooth Technical Q&As 2006-02-22
PCI Type 1 Cycles (HTML)
HW26: Describes the circumstances when the PowerMac generates a Configuration Type 1 command.
Bluetooth Technical Q&As 1995-07-15
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Bluetooth Technical Q&As 2002-02-13
Sample code for allocating an amount of dictionary space (HTML)
HW71: Discusses the allocation and the setting of memory for Dictionary space in Open Firmware.
Bluetooth Technical Q&As 1999-10-11
What is the "dump" word and how do I use it? (HTML)
HW68: Describes the function of the Open Firmware word "dump" and how it can be used.
Bluetooth Technical Q&As 1999-10-11
What numeric base is the default for the Open Firmware user interface? (HTML)
HW65: Describes how the default numeric base used by the Open Firmware user interface is hexadecimal.
Bluetooth Technical Q&As 1999-10-11
Why did the name of the PCI bridge change? (HTML) (日本語 HTML)
HW59: Explains the name change of the PCI bridge to the generic name "pci" in Open Firmware.
Bluetooth Technical Q&As 1999-03-29
Are interrupts enabled while Open Firmware is running? (HTML) (日本語 HTML)
HW44: Explains that interrupts are disabled when Open Firmware is running.
Bonjour Technical Q&As 1999-02-15
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Bonjour 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
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
Determining Open Firmware configuration variables (HTML) (日本語 HTML)
HW56: Discusses how to determine the Open Firmware variables on a system.
Bonjour Technical Q&As 1999-03-29
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Bonjour Technical Q&As 2004-06-01
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
Expansion ROM device properties (HTML) (日本語 HTML)
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
Bonjour Technical Q&As 1999-03-29
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Bonjour Technical Q&As 2008-10-13
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Bonjour Technical Q&As 2008-06-03
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
Bonjour Technical Q&As 1999-11-15
Leopard Technology Series for Developers: OS Foundations (HTML)
Leopard Overview article on system-level updates.
Bonjour Articles 2007-09-04
Mixing link-local IP addresses and routable IP addresses (HTML)
QA1357: Explains how to enable communication between devices with link-local addresses and devices with routable addresses.
Bonjour Technical Q&As 2005-07-06
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Bonjour Technical Q&As 2006-02-22
Registering a Bonjour service multiple times (HTML)
QA1311: Explains why registering the same Bonjour service twice on the same machine doesn't cause a name conflict.
Bonjour Technical Q&As 2003-10-23
Sample code for allocating an amount of dictionary space (HTML)
HW71: Discusses the allocation and the setting of memory for Dictionary space in Open Firmware.
Bonjour Technical Q&As 1999-10-11
The state of mDNSResponder (HTML)
QA1339: Explains how to obtain information regarding the internal state of mDNSResponder.
Bonjour Technical Q&As 2006-10-03
What is the "dump" word and how do I use it? (HTML)
HW68: Describes the function of the Open Firmware word "dump" and how it can be used.
Bonjour Technical Q&As 1999-10-11
What numeric base is the default for the Open Firmware user interface? (HTML)
HW65: Describes how the default numeric base used by the Open Firmware user interface is hexadecimal.
Bonjour Technical Q&As 1999-10-11
Why did the name of the PCI bridge change? (HTML) (日本語 HTML)
HW59: Explains the name change of the PCI bridge to the generic name "pci" in Open Firmware.
Bonjour Technical Q&As 1999-03-29
Adding dependencies with kmodload (HTML)
QA1097: Illustrates how to specify dependencies when using kmodload.
Ethernet Technical Q&As 2001-12-05
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.
Ethernet Technical Q&As 2008-10-13
Are interrupts enabled while Open Firmware is running? (HTML) (日本語 HTML)
HW44: Explains that interrupts are disabled when Open Firmware is running.
Ethernet Technical Q&As 1999-02-15
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Ethernet Sample Code 2003-06-12
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
Ethernet Technical Notes 2008-08-18
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Ethernet Technical Q&As 1997-03-14
The "chosen" node in the device tree (HTML)
HW88: Describes how to find the "chosen" node in the Open firmware device tree.
Ethernet Technical Q&As 2000-09-05
Determining Open Firmware configuration variables (HTML) (日本語 HTML)
HW56: Discusses how to determine the Open Firmware variables on a system.
Ethernet Technical Q&As 1999-03-29
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
Ethernet Technical Q&As 2001-12-05
Ethernet Developer Note (HTML)
Provides an overview of Ethernet technology and describes its implementation in Mac computers.
Ethernet Guides 2008-04-28
Expansion ROM device properties (HTML) (日本語 HTML)
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
Ethernet Technical Q&As 1999-03-29
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
Ethernet Technical Q&As 2007-02-28
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Ethernet Technical Q&As 2008-10-13
GetHWEthernetAddr (HTML) (DMG) (ZIP)
Deprecated - Shows how to obtain the hardware Ethernet address of a machine.
Ethernet Sample Code 2003-01-14
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Ethernet Sample Code 2003-01-14
GetPrimaryMACAddress (HTML) (DMG) (ZIP)
Demonstrates retrieving the MAC address of the built-in Ethernet controller. Useful for uniquely identifying a Macintosh system.
Ethernet Sample Code 2005-10-27
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.
Ethernet Reference 2008-04-08
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
Ethernet Technical Q&As 2003-10-28
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Ethernet Technical Q&As 2008-09-18
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Ethernet Technical Q&As 2002-01-15
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
Ethernet Technical Q&As 1999-11-15
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
Ethernet Technical Q&As 2004-01-15
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Ethernet Reference 2008-04-08
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
Ethernet Technical Q&As 2002-02-07
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Ethernet Technical Q&As 2006-02-22
PCI Type 1 Cycles (HTML)
HW26: Describes the circumstances when the PowerMac generates a Configuration Type 1 command.
Ethernet Technical Q&As 1995-07-15
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Ethernet Technical Q&As 2002-02-13
Sample code for allocating an amount of dictionary space (HTML)
HW71: Discusses the allocation and the setting of memory for Dictionary space in Open Firmware.
Ethernet Technical Q&As 1999-10-11
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
Ethernet Technical Notes 2008-08-14
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Ethernet Technical Q&As 1999-02-15
What is the "dump" word and how do I use it? (HTML)
HW68: Describes the function of the Open Firmware word "dump" and how it can be used.
Ethernet Technical Q&As 1999-10-11
What numeric base is the default for the Open Firmware user interface? (HTML)
HW65: Describes how the default numeric base used by the Open Firmware user interface is hexadecimal.
Ethernet Technical Q&As 1999-10-11
Why did the name of the PCI bridge change? (HTML) (日本語 HTML)
HW59: Explains the name change of the PCI bridge to the generic name "pci" in Open Firmware.
Ethernet Technical Q&As 1999-03-29
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.
Fibre Channel Technical Q&As 2008-10-13