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
AirPort Developer Note (HTML)
Describes Apple's implementation of 802.11 wireless LAN standards on Mac computers.
AirPort/802.11 Guides 2008-04-28
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 Technical Q&As 2008-10-13
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
AirPort/802.11 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.
AirPort/802.11 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.
AirPort/802.11 Technical Q&As 2008-06-03
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.
AirPort/802.11 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.
AirPort/802.11 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.
AirPort/802.11 Technical Q&As 2002-01-15
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
AirPort/802.11 Technical Q&As 2006-02-22
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.
AirPort/802.11 Technical Q&As 2002-02-13
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 Technical Notes 2008-08-14
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
AirPort/802.11 Technical Q&As 1999-02-15
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 Technical Q&As 1999-04-19
All Hardware Products (HTML)
A list of links to all Apple hardware developer notes.
Apple Hardware Guides
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
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 Technical Q&As 1999-10-11
Bluetooth Radio Power Class for Apple Systems (HTML) (日本語 HTML)
QA1278: Notes Preferred Bluetooth Transmitter Characteristics for products designed for Apple Systems.
Apple Hardware Technical Q&As 2003-08-06
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 Technical Q&As 1999-02-15
The "chosen" node in the device tree (HTML)
HW88: Describes how to find the "chosen" node in the Open firmware device tree.
Apple Hardware Technical Q&As 2000-09-05
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
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 Technical Q&As 2004-03-18
Detecting a CD-ROM (HTML) (日本語 HTML)
DV18: Demonstrates CD-ROM drive detection.
Apple Hardware Technical Q&As 1997-01-31
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 RAM size & location in New World Machines (HTML)
QA1065: Demonstrates Open Firmware method of determining RAM size & location in New World Machines.
Apple Hardware 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 Technical Q&As 1999-03-29
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 Technical Q&As 1999-02-15
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 Technical Q&As 2008-09-16
Displaying PCI Configuration Registers contents in Open Firmware (HTML)
QA1036: Demonstrates how to display PCI Configuration Resister contents in Open Firmware.
Apple Hardware Technical Q&As 2001-05-18
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
Do PowerBooks have a PCI bus? (HTML) (日本語 HTML)
HW43: Explains that a Powerbook has a PCI bus.
Apple Hardware 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 Technical Q&As 2003-07-04
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 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 Technical Q&As 2002-01-15
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 Technical Q&As 1999-10-18
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 Technical Q&As 2002-08-19
Fundamentals of Open Firmware, Part II: The Device Tree (HTML)
TN1062: Describes the Open Firmware device tree.
Apple Hardware Technical Notes 1996-09-01
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Apple Hardware Technical Q&As 2008-10-13
The "green" PCI bus (HTML)
HW93: Explains why the PCI bus is considered "green".
Apple Hardware Technical Q&As 2000-09-05
High-Speed SDRAM Design Considerations (HTML) (日本語 HTML)
TN1138: Illustrates certain issues with the design of high-speed SDRAM DIMM modules.
Apple Hardware Technical Notes 1998-08-01
How do I change the numeric base for the Open Firmware user interface? (HTML)
HW66: Explains how to change the numeric base for the Open Firmware user interface.
Apple Hardware Technical Q&As 1999-10-11
How do I determine the top of the Open Firmware dictionary? (HTML)
HW69: Explains how to determine the top of the Open Firmware dictionary.
Apple Hardware Technical Q&As 1999-10-11
How does Open Firmware generate the name property? (HTML) (日本語 HTML)
HW39: Describes the Open Firmware name property generation process.
Apple Hardware Technical Q&As 1999-02-15
I/O Kit Power Controller (HTML) (日本語 HTML)
TN2076: Describes code to include in a KEXT in order to register for power management events.
Apple Hardware Technical Notes 2003-06-20
iBook Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the iBook G4 computer introduced in July 2005.
Apple Hardware Guides 2005-07-26
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
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
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
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
iMac Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of iMac computers with Combo drive introduced September 2006.
Apple Hardware Guides 2006-09-07
iMac G5 Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the iMac G5 computer introduced in October 2005.
Apple Hardware Guides 2006-04-07
iMac G5 Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the iMac G5 introduced in May 2005.
Apple Hardware Guides 2005-05-03
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.
Apple Hardware Technical Q&As 2003-10-28
Invoking the Open Firmware user interface (HTML) (日本語 HTML)
HW45: Describes how to invoke the Open Firmware user interface on startup.
Apple Hardware Technical Q&As 1999-02-15
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Apple Hardware 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.
Apple Hardware Technical Q&As 2002-01-15
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
Mac mini Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the Mac mini introduced January 2005.
Apple Hardware Guides 2005-04-05
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
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
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
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
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
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
Maximum Memory for the "Firewire" PowerBook (HTML)
Deprecated - HW83: Discrepancies between PowerBook Developer Note and TIL articles 14870 and 58582, regarding maximum memory configurations.
Apple Hardware Technical Q&As 2000-03-13
Menu Bar Clock and NVRAM (HTML)
QA1102: Explains why booting with the Command-Option-P-R keys doesn't reset date and time preferences.
Apple Hardware Technical Q&As 2001-12-21
Open Firmware device tree nodes (HTML)
HW86: Explains the usage of the "@n" notation in Open Firmware device tree nodes.
Apple Hardware Technical Q&As 2000-09-05
Open Firmware Memory bus speed (HTML)
HW97: Describes a method to display memory bus speed for G3 or G4 Macintosh in Open Firmware.
Apple Hardware Technical Q&As 2000-09-22
Open Firmware version number (HTML)
HW96: Discusses the unique values of Open Firmware version numbers.
Apple Hardware Technical Q&As 2000-09-22
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Apple Hardware Technical Q&As 1997-10-13
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Apple Hardware Technical Q&As 2006-02-22
PC100 SDRAM DIMMs on the Flat Panel iMac (HTML) (日本語 HTML)
QA1130: Describes PC100 SDRAM DIMM limitations on the "original " Flat Panel iMac.
Apple Hardware Technical Q&As 2002-03-18
PCI bus on the iMac (HTML) (日本語 HTML)
HW42: Explains that the iMac has a PCI bus even though it has no expansion slots.
Apple Hardware Technical Q&As 1999-02-15
PCI class codes (HTML)
HW91: Explains why PCI class codes are important.
Apple Hardware Technical Q&As 2000-09-05
PCI Header types (HTML)
HW78: Describes the three required types of PCI headers to be provided in its configuration header space.
Apple Hardware Technical Q&As 1999-11-15
PCI Macintoshes and CardBus controllers (HTML)
HW87: Explains why older PCI Macintoshes do not recognize a Cardbus controller.
Apple Hardware Technical Q&As 2000-09-05
Power adapter Sensing for the 17" PowerBook (HTML) (日本語 HTML)
QA1266: Details Design and detection considerations for 17-inch PowerBook power adapters
Apple Hardware Technical Q&As 2003-06-12
Power Mac G5 -- Single Processor Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the single processor Power Mac G5 introduced October 2004.
Apple Hardware Guides 2004-10-19
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
Power Mac G5 Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the Power Mac G5 introduced in April 2005.
Apple Hardware Guides 2005-04-29
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.
Apple Hardware Technical Q&As 2002-02-13
Power Manager 2.0 (HTML) (日本語 HTML)
TN1190: Describes the Macintosh Power Manager 2.0.
Apple Hardware Technical Notes 2000-08-14
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
PrepareMemoryForIO in the NewWorld (HTML)
DV33: Explains the correct use of PrepareMemoryForIO on DMA buffers when writing a device driver for DMA software.
Apple Hardware Technical Q&As 1998-12-07
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
RAM Expansion Developer Note (HTML)
Details requirements of RAM modules for use in Mac computers.
Apple Hardware Guides 2008-04-28
Reducing the size of Physical Memory in Open Firmware (HTML)
QA1099: Describes how to configure the Power Macintosh so less memory is recognized than is actually present.
Apple Hardware Technical Q&As 2001-12-20
Resetting NVRAM to factory defaults (HTML)
QA1103: Describes what happens when you boot holding the Command-Option-P-R keys.
Apple Hardware Technical Q&As 2001-12-21
A SCSI little secret (HTML)
HW81: Details what to expect when accessing the motherboard SCSI bus on the Blue & White G3.
Apple Hardware Technical Q&As 1999-12-20
SDRAM Problems With Self-Powered USB Devices (HTML) (日本語 HTML)
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
Apple Hardware Technical Q&As 2003-08-21
SDRAM, CAS Latency for the (HTML)
QA1071: Describes the supported CAS Latency values for the "QuickSilver", PowerMac G4 CPUs.
Apple Hardware Technical Q&As 2001-09-13
Sleep vs. Doze on Mac OS X (HTML)
QA1309: Discusses and demonstrates sleep versus doze detection on Machintosh Mac OS X
Apple Hardware Technical Q&As 2003-10-09
SMARTQuery (HTML) (DMG) (ZIP)
Demonstration of how to access and use S.M.A.R.T. disk monitoring functionality
Apple Hardware Sample Code 2007-05-30
Stopping Forth command scrolls (HTML) (日本語 HTML)
HW57: Describes how to limit Forth commands from scrolling off the screen.
Apple Hardware Technical Q&As 1999-03-29
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
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Apple Hardware Technical Q&As 1999-02-15
What are snag keys in Open Firmware? (HTML) (日本語 HTML)
HW35: Explains Open Firmware snag keys, including examples of their function.
Apple Hardware Technical Q&As 1999-02-15
What is meant by 1 machine mode vs. 2 machine mode with respect to Open Firmware? (HTML) (日本語 HTML)
HW36: Documents 1 machine mode vs. 2 machine mode in Open Firmware.
Apple Hardware Technical Q&As 1999-02-15
What is the word "see" and how do I use it to help me find what a word does? (HTML)
HW72: Explains the function and use of the Open Firmware word "see".
Apple Hardware Technical Q&As 1999-10-11
Which Machines Support Driver Services Library and the MP Nanokernel? (HTML) (日本語 HTML)
HW63: Lists the systems that do and don't support the Driver Services Library and the MP Nanokernel.
Apple Hardware Technical Q&As 1999-07-12
Working with Configuration Variables (HTML) (日本語 HTML)
QA1119: Explains how to delete a specific Open Firmware configuration variable without using Command-Option-P-R.
Apple Hardware Technical Q&As 2002-02-13
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
Xserve Developer Note (HTML)
Apple Hardware Guides 2007-01-12
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
Xserve G5 PCI Hardware RAID Card (PDF)
Explains how to install the card in an Xserve G5 and how to set up a RAID volume.
Apple Hardware Guides 2005-01-03
Xserve G5 Quick Start (PDF)
Explains where to find information for installing, setting up, using, and monitoring Xserve G5 systems.
Apple Hardware Guides 2005-01-03
Xserve G5 Using the Hardware RAID PCI Card (PDF)
Explains how to use the software provided with the Hardware RAID PCI Card to configure and manage RAID operations.
Apple Hardware Guides 2005-01-03
Xserve G5 Using Xserve Remote Diagnostics (PDF)
Explains how to use the Xserve Remote Diagnostics tool to test server hardware.
Apple Hardware Guides 2005-01-03
Xserve RAID User's Guide (PDF)
Explains how to install the Xserve RAID system, connect it to a host system, and configure RAID storage.
Apple Hardware Guides 2005-01-03
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
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.
ATA Technical Q&As 2008-10-13
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
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
ATA Technical Notes 2008-08-18
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 Technical Notes 2000-08-14
Detecting a CD-ROM (HTML) (日本語 HTML)
DV18: Demonstrates CD-ROM drive detection.
ATA Technical Q&As 1997-01-31
Disk Arbitration Framework Reference (HTML)
Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent.
ATA Reference 2008-04-08
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
ATA Technical Q&As 2001-12-05
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
ATA 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.
ATA Technical Q&As 2008-10-13
Getting a List of Drivers & LUNs (logical unit numbers) (HTML)
Deprecated - DV04: Describes a legacy Mac OS technique for obtaining a list of SCSI Parallel drivers, devices, and LUNs.
ATA Technical Q&As 1995-07-01
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 Reference 2009-03-04
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.
ATA 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.
ATA 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.
ATA Technical Q&As 2002-01-15
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
ATA 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.
ATA Reference 2009-01-06
Legacy Devices (HTML)
HW84: Discusses why legacy devices with hard-wired I/O addresses may not work properly with Open Firmware.
ATA Technical Q&As 2000-03-20
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
ATA 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.
ATA Technical Q&As 2006-02-22
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.
ATA Technical Q&As 2002-02-13
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
ATA Sample Code 2008-08-27
SMARTQuery (HTML) (DMG) (ZIP)
Demonstration of how to access and use S.M.A.R.T. disk monitoring functionality
ATA Sample Code 2007-05-30
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
ATA Technical Notes 2008-08-14
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.
Audio Technical Q&As 2008-10-13
AppleFWAudio Vendor Specific Override Driver (HTML) (DMG) (ZIP)
This KEXT allows third-party vendors to customize AppleFWAudio with their own device-specific information.
Audio 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.
Audio Technical Q&As 1999-10-11
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 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 Technical Q&As 2004-07-07
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
Audio Technical Notes 2008-08-18
Digital CD Audio (HTML) (日本語 HTML)
TN1187: Describes digital audio on the Macintosh.
Audio Technical Notes 2000-04-01
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 Reference 2008-04-08
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Audio Technical Q&As 2008-10-13
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.
Audio Reference 2009-03-04
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.
Audio 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.
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
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Audio Reference 2009-01-06
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
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
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
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
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
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
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
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
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
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
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
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
The state of mDNSResponder (HTML)
QA1339: Explains how to obtain information regarding the internal state of mDNSResponder.
Bonjour Technical Q&As 2006-10-03
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
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
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
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 2009-03-04
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
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 2009-01-06
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
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
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
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
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
Fibre Channel Technical Notes 2008-08-18
Disk Arbitration Framework Reference (HTML)
Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent.
Fibre Channel Reference 2008-04-08
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
Fibre Channel Technical Q&As 2001-12-05
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
Fibre Channel 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.
Fibre Channel Technical Q&As 2008-10-13
HBA Device Driver Programming Guide (HTML) (PDF)
Describes how to develop a high-performance, kernel-resident driver for an HBA device.
Fibre Channel Guides 2006-05-23
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.
Fibre Channel Reference 2009-03-04
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.
Fibre Channel 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.
Fibre Channel 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.
Fibre Channel Technical Q&As 2002-01-15
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Fibre Channel Reference 2009-01-06
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 Technical Notes 2007-03-23
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Fibre Channel Technical Q&As 2006-02-22
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.
Fibre Channel Technical Q&As 2002-02-13
SCSIOldAndNew (HTML) (DMG) (ZIP)
Demonstrates a backward-compatible technique for communicating with SCSI parallel devices on Mac OS X.
Fibre Channel Sample Code 2006-12-07
Sending SCSI or ATA commands to storage devices (HTML) (日本語 HTML)
QA1179: Explains that Mac OS X does not implement SCSI or ATA pass-through for many mass storage devices.
Fibre Channel Technical Q&As 2005-05-10
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
Fibre Channel Sample Code 2008-08-27
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Fibre Channel Sample Code 2006-10-16
VendorSpecificType00 (HTML) (DMG) (ZIP)
Demonstrates how to access vendor-specific storage device functionality using a simple interface from user space code.
Fibre Channel Sample Code 2006-10-02
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Fibre Channel Technical Q&As 1999-02-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.
FireWire Technical Q&As 2008-10-13
AppleFWAudio Vendor Specific Override Driver (HTML) (DMG) (ZIP)
This KEXT allows third-party vendors to customize AppleFWAudio with their own device-specific information.
FireWire Sample Code 2007-06-01
Available FireWire Isochronous Bandwidth (HTML)
QA1356: Discusses attempting to "pre-flight" an isochronous bandwidth allocation request by reading the currently available bandwidth.
FireWire Technical Q&As 2004-07-07
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
FireWire Technical Notes 2008-08-18
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
FireWire Technical Q&As 2001-12-05
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.
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
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
FireWire Technical Q&As 2008-10-13
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.
FireWire Reference 2009-03-04
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.
FireWire 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.
FireWire 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.
FireWire Technical Q&As 2002-01-15
iSight Programming Guide (HTML) (PDF)
Describes the Apple iSight video camera and its enhancements.
FireWire Guides 2004-10-05
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
FireWire 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.
FireWire Reference 2009-01-06
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
FireWire 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.
FireWire Technical Q&As 2006-02-22
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.
FireWire 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.
FireWire Technical Q&As 2008-09-24
Sending SCSI or ATA commands to storage devices (HTML) (日本語 HTML)
QA1179: Explains that Mac OS X does not implement SCSI or ATA pass-through for many mass storage devices.
FireWire Technical Q&As 2005-05-10
simpleAVC (HTML) (DMG) (ZIP)
Shows how to discover and send commands to AVC devices connected by FireWire.
FireWire Sample Code 2003-01-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.
FireWire Technical Notes 2008-08-14
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
FireWire Sample Code 2006-10-16
Use the Doorbell (HTML) (日本語 HTML)
Deprecated - FW01: Explains the function of the FireWire Serial Bus Protocol 2 (SBP2) doorbell.
FireWire Technical Q&As 1999-05-17
VendorSpecificType00 (HTML) (DMG) (ZIP)
Demonstrates how to access vendor-specific storage device functionality using a simple interface from user space code.
FireWire Sample Code 2006-10-02
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
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
FireWire Technical Q&As 1999-02-15
What are snag keys in Open Firmware? (HTML) (日本語 HTML)
HW35: Explains Open Firmware snag keys, including examples of their function.
FireWire Technical Q&As 1999-02-15
What is unsolicited status? (HTML) (日本語 HTML)
FW03: Explains the meaning and usage of the SBP-2 unsolicited status message.
FireWire Technical Q&As 1999-05-17
Accessing Hardware From Applications (HTML) (PDF)
Tips and guidelines for developing applications that communicate with or control devices.
General Guides 2007-02-08
Coding in the Kernel (HTML)
Considerations and caveats about programming in the kernel.
General Guides 2005-11-09
Disk Arbitration Framework Reference (HTML)
Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent.
General Reference 2008-04-08
Hardware Developer Note Terms and Abbreviations (HTML)
Lists common terms and abbreviations used in Apple's Hardware Developer Notes.
General Guides 2006-08-08
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
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.
General Reference 2009-03-04
I/O Kit Fundamentals (HTML) (PDF)
The basics of developing device drivers. Includes descriptions of I/O Kit families.
General Guides 2007-05-17
I/O Kit Power Management Release Notes (HTML)
Describes the latest changes to power management for Mac OS X v10.5.
General Release Notes 2007-10-31
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
General Reference 2009-01-06
Kernel Programming Guide (HTML) (PDF)
Essential information for programming in the Mac OS X kernel. Includes a high-level overview.
General Guides 2006-11-07
Leopard Technology Series for Developers: OS Foundations (HTML)
Leopard Overview article on system-level updates.
General Articles 2007-09-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
Cocoa OpenGL (HTML) (DMG) (ZIP)
Demonstrates using Cocoa with OpenGL, including window setup and event handling.
Graphics & Imaging Sample Code 2007-10-22
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.
Graphics & Imaging Reference 2009-03-04
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
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
iSight Programming Guide (HTML) (PDF)
Describes the Apple iSight video camera and its enhancements.
Graphics & Imaging Guides 2004-10-05
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Graphics & Imaging Reference 2009-01-06
Quartz Display Services Reference (HTML) (PDF)
Describes the interface for configuring and controlling display hardware.
Graphics & Imaging Reference 2008-11-19
Specifiying if the CPU or the GPU should be used for rendering. (HTML)
QA1416: Which processor will be used for rendering in Core Image and how to affect it.
Graphics & Imaging Technical Q&As 2005-08-16
Video Developer Note (HTML)
Details video capabilities of Mac computers.
Graphics & Imaging Guides 2008-04-28
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 Articles 2006-06-26
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
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Human Interface Device & Force Feedback Technical Q&As 2008-10-13
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
HID Config Save (HTML) (DMG) (ZIP)
Human Interface Device Manager Configuration sample
Human Interface Device & Force Feedback Sample Code 2008-05-07
HID Manager Basics (HTML) (DMG) (ZIP)
Shows basic use of HID Manager for Mac OS X: including device discovery, queues and polling elements.
Human Interface Device & Force Feedback Sample Code 2003-07-10
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Human Interface Device & Force Feedback Technical Q&As 2001-06-13
HID Utilities Source (HTML) (DMG) (ZIP)
Shows a high level abstract library for the HID manager.
Human Interface Device & Force Feedback Sample Code 2003-10-06
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.
Human Interface Device & Force Feedback Reference 2009-03-04
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.
Human Interface Device & Force Feedback 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.
Human Interface Device & Force Feedback 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.
Human Interface Device & Force Feedback Technical Q&As 2002-01-15
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
Human Interface Device & Force Feedback 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.
Human Interface Device & Force Feedback Reference 2009-01-06
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
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Human Interface Device & Force Feedback Technical Q&As 2006-02-22
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.
Human Interface Device & Force Feedback 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.
Human Interface Device & Force Feedback Technical Q&As 2008-09-24
SDRAM Problems With Self-Powered USB Devices (HTML) (日本語 HTML)
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
Human Interface Device & Force Feedback Technical Q&As 2003-08-21
SetMouseAcclSample (HTML) (DMG) (ZIP)
Find HID System Manager and get/set cursor acceleration
Human Interface Device & Force Feedback Sample Code 2006-11-28
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Human Interface Device & Force Feedback Sample Code 2006-10-16
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Mac OS X Server 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.
Mac OS X Server Technical Q&As 2003-10-28
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Mac OS X Server Technical Q&As 2002-01-15
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 Guides 2008-06-09
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Mac OS X Server Technical Q&As 2006-02-22
SampleFilterScheme (HTML) (DMG) (ZIP)
Demonstrates a simple filter scheme which passes all operations through to its provider unchanged.
Mac OS X Server Sample Code 2006-01-03
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Mac OS X Server Technical Q&As 1999-02-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.
Networking Technical Q&As 2008-10-13
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.
Networking Technical Q&As 1999-10-11
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Networking Technical Q&As 2004-03-23
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Networking 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.
Networking Technical Notes 2008-08-18
CCL Modem Scripting Guide (HTML) (PDF)
Networking 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 Release Notes 2007-10-31
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Networking 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.
Networking Technical Q&As 2000-09-05
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Networking Technical Q&As 2004-06-01
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
Networking Technical Q&As 2001-12-05
enetlognke (HTML) (DMG) (ZIP)
Interface filter based on supported Kernel Programming Interfaces for Tiger.
Networking Sample Code 2005-08-10
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
Networking 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.
Networking Technical Q&As 2008-10-13
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Networking 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.
Networking Sample Code 2005-10-27
GetSetOptions (HTML) (DMG) (ZIP)
Demonstrates a variety of uses of Open Transport's option management routines.
Networking Sample Code 2003-01-14
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Networking Technical Q&As 2008-06-03
GridCalendar (HTML) (DMG) (ZIP)
Demonstrates how to add a custom job submission UI to the GridSample project.
Networking Sample Code 2005-06-01
How to use the OT modem script engine (HTML) (日本語 HTML)
Deprecated - NW50: Shows how to use the Open Transport modem script engine.
Networking Technical Q&As 1997-07-11
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.
Networking Reference 2009-03-04
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.
Networking 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.
Networking 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.
Networking Technical Q&As 2002-01-15
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
Networking 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.
Networking Reference 2009-01-06
Mac OS X Server Security Configuration Guide (PDF)
Describes how to configure Mac OS X Server to enhance server and service security.
Networking Guides 2008-06-09
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
Networking Technical Q&As 2002-02-07
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.
Networking Technical Q&As 2005-07-06
Network Device Driver Programming Guide (HTML) (PDF)
Background and task information about developing network drivers for Mac OS X.
Networking Guides 2008-03-11
Network Kernel Extensions (legacy) (HTML) (PDF)
Describes how to write a kernel extension for adding or modifying functionality of a networking stack (Mac OS X 10.3 and earlier).
Networking Guides 2006-10-03
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
NoCopyReceives (HTML) (DMG) (ZIP)
Demonstrates using no-copy receives under Open Transport.
Networking Sample Code 2003-01-14
Open Transport STREAMS FAQ (HTML)
Deprecated - TN1117: Decribes writing STREAMS modules and drivers for use with Open Transport.
Networking Technical Notes 1997-12-01
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Networking Technical Q&As 1997-10-13
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Networking Technical Q&As 2006-02-22
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.
Networking Technical Q&As 2002-02-13
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.
Networking Technical Q&As 2003-10-23
The state of mDNSResponder (HTML)
QA1339: Explains how to obtain information regarding the internal state of mDNSResponder.
Networking Technical Q&As 2006-10-03
T_DATA_REQ vs M_DATA TPI Message Blocks (HTML) (日本語 HTML)
NW42: Explains why OT passes data to a TPI module using M_DATA message blocks instead of M_PROTO+T_DATA_REQ.
Networking Technical Q&As 1996-10-25
TCP/IP Option Sizes (HTML) (日本語 HTML)
NW62: Enumerates the TCP/IP options and their sizes for Open Transport.
Networking Technical Q&As 1999-04-26
tcplognke (HTML) (DMG) (ZIP)
Demonstrates a TCP socket filter based on supported Kernel Programming Interfaces for Tiger
Networking Sample Code 2006-11-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.
Networking Technical Notes 2008-08-14
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Networking Technical Q&As 1999-02-15
What are snag keys in Open Firmware? (HTML) (日本語 HTML)
HW35: Explains Open Firmware snag keys, including examples of their function.
Networking Technical Q&As 1999-02-15
The "/aliases" node in the device tree (HTML)
HW89: Describes the aliases node in the Open Firmware device tree.
Open Firmware Technical Q&As 2000-09-05
The AAPL, slot-name property and PCI (HTML) (日本語 HTML)
HW61: Discusses the use of the AAPL,slot name property for PCI
Open Firmware Technical Q&As 1999-04-19
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.
Open Firmware Technical Q&As 1999-10-11
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 Technical Q&As 1999-10-11
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
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.
Open Firmware Technical Q&As 2004-03-18
Determining Open Firmware version (HTML)
HW100: Demonstrates how to find out the version of Open Firmware on your Macintosh.
Open Firmware Technical Q&As 2000-10-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 Technical Q&As 1999-02-15
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.
Open Firmware Technical Q&As 2008-09-16
Fundamentals of Open Firmware, Part III: Understanding PCI Expansion ROM Choices for Mac OS (HTML)
TN1044: Recommended contents for PCI expansion ROMs, including a table of standard devices, properties and methods.
Open Firmware Technical Notes 2001-06-26
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.
Open Firmware Reference 2009-03-04
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Open Firmware Technical Q&As 2008-09-18
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Open Firmware Reference 2009-01-06
Locating the 1275-1994 Standard Document (HTML)
HW85: Alerts that the Open Firmware (IEEE 1275-1994) document can't be found at the IEEE Standards Association site.
Open Firmware Technical Q&As 2000-07-17
Running files from a hard drive in Open Firmware (HTML)
TN2001: Demonstrates editing, saving, and retrieving Open Firmware commands to a file on a Macintosh hard drive.
Open Firmware Technical Notes 2000-09-22
Switching between one and two machine mode for the Open Firmware user interface (HTML) (日本語 HTML)
HW37: Explains how to change from one machine mode to two in the Open Firmware user interface.
Open Firmware Technical Q&As 1999-02-15
Using "words" in Open Firmware (HTML)
HW73: Explains how to search for specific entries within all the global and local Open Firmware words.
Open Firmware Technical Q&As 1999-10-11
Was that a path I just saw? (HTML)
HW101: Describes the Open Firmware path that is occasionally shown at boot time.
Open Firmware Technical Q&As 2000-10-06
What are generic names in Open Firmware? (HTML) (日本語 HTML)
HW34: Documents the generic names in Open Firmware.
Open Firmware Technical Q&As 1999-02-15
What is a tokenizer? (HTML) (日本語 HTML)
HW58: Defines a tokenizer.
Open Firmware Technical Q&As 1999-03-29
What is an Open Firmware devalias? (HTML)
HW99: Describes devaliases in Open Firmware.
Open Firmware Technical Q&As 2000-10-06
What is an Open Firmware phandle, and why can't I access it from the Mac OS? (HTML)
HW76: Explains an "Open Firmware phandle" and why it is inaccessible from the Mac OS.
Open Firmware Technical Q&As 1999-11-15
What is the return stack in Open Firmware and can I use it? (HTML)
HW67: Describes the purpose of the Open Firmware return stack and how developers can use it.
Open Firmware Technical Q&As 1999-10-11
The "/aliases" node in the device tree (HTML)
HW89: Describes the aliases node in the Open Firmware device tree.
PCI and PC Card Technical Q&As 2000-09-05
The AAPL, slot-name property and PCI (HTML) (日本語 HTML)
HW61: Discusses the use of the AAPL,slot name property for PCI
PCI and PC Card Technical Q&As 1999-04-19
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.
PCI and PC Card Technical Q&As 2008-10-13
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.
PCI and PC Card Technical Q&As 1999-10-11
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
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
PCI and PC Card 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.
PCI and PC Card Technical Q&As 1999-10-11
The "chosen" node in the device tree (HTML)
HW88: Describes how to find the "chosen" node in the Open firmware device tree.
PCI and PC Card Technical Q&As 2000-09-05
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
Determining Open Firmware version (HTML)
HW100: Demonstrates how to find out the version of Open Firmware on your Macintosh.
PCI and PC Card Technical Q&As 2000-10-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.
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
PCI and PC Card Technical Q&As 1999-02-15
Displaying PCI Configuration Registers contents in Open Firmware (HTML)
QA1036: Demonstrates how to display PCI Configuration Resister contents in Open Firmware.
PCI and PC Card Technical Q&As 2001-05-18
Do PowerBooks have a PCI bus? (HTML) (日本語 HTML)
HW43: Explains that a Powerbook has a PCI bus.
PCI and PC Card Technical Q&As 1999-02-15
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
PCI and PC Card Technical Q&As 2001-12-05
Energy Star PCI Device (HTML) (日本語 HTML)
QA1108: Provides useful information for developers of Energy Star-compliant PCI devices.
PCI and PC Card Technical Q&As 2002-01-15
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
PCI and PC Card Technical Q&As 2007-02-28
Fundamentals of Open Firmware, Part I: The User Interface (HTML)
TN1061: Describes the Open Firmware User Interface, Forth and the Open Firmware language used in Apple products.
PCI and PC Card Technical Notes 1996-07-01
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
PCI and PC Card Technical Q&As 2008-10-13
The "green" PCI bus (HTML)
HW93: Explains why the PCI bus is considered "green".
PCI and PC Card Technical Q&As 2000-09-05
How can I tell if a PCI device has on board I/O space? (HTML)
QA1287: Demonstrates "how to" tell if a PCI device has on board I/O space.
PCI and PC Card Technical Q&As 2003-09-24
How many PCI header types exist today? (HTML)
HW92: Briefly describes the three PCI header types defined in the PCI 2.2 specification.
PCI and PC Card Technical Q&As 2000-09-05
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.
PCI and PC Card Reference 2009-03-04
I/O Kit Power Controller (HTML) (日本語 HTML)
TN2076: Describes code to include in a KEXT in order to register for power management events.
PCI and PC Card Technical Notes 2003-06-20
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.
PCI and PC Card 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.
PCI and PC Card 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.
PCI and PC Card Technical Q&As 2002-01-15
IOLog and Interrupt Context (HTML) (日本語 HTML)
QA1100: Describes when IOKit runs at primary (hardware) interrupt context.
PCI and PC Card Technical Q&As 2002-02-13
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
PCI and PC Card 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.
PCI and PC Card Reference 2009-01-06
Legacy Devices (HTML)
HW84: Discusses why legacy devices with hard-wired I/O addresses may not work properly with Open Firmware.
PCI and PC Card Technical Q&As 2000-03-20
Locating the 1275-1994 Standard Document (HTML)
HW85: Alerts that the Open Firmware (IEEE 1275-1994) document can't be found at the IEEE Standards Association site.
PCI and PC Card Technical Q&As 2000-07-17
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
PCI and PC Card Technical Q&As 2002-02-07
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.
PCI and PC Card Technical Notes 1998-04-01
Open Firmware device tree nodes (HTML)
HW86: Explains the usage of the "@n" notation in Open Firmware device tree nodes.
PCI and PC Card Technical Q&As 2000-09-05
Open Firmware Memory bus speed (HTML)
HW97: Describes a method to display memory bus speed for G3 or G4 Macintosh in Open Firmware.
PCI and PC Card Technical Q&As 2000-09-22
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
PCI and PC Card Technical Q&As 2006-02-22
PCI address/data stepping (HTML)
HW94: Explains that Apple does not support PCI address/data stepping.
PCI and PC Card Technical Q&As 2000-09-05
PCI bus on the iMac (HTML) (日本語 HTML)
HW42: Explains that the iMac has a PCI bus even though it has no expansion slots.
PCI and PC Card Technical Q&As 1999-02-15
PCI class codes (HTML)
HW91: Explains why PCI class codes are important.
PCI and PC Card Technical Q&As 2000-09-05
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
PCI Header types (HTML)
HW78: Describes the three required types of PCI headers to be provided in its configuration header space.
PCI and PC Card Technical Q&As 1999-11-15
PCI Macintoshes and CardBus controllers (HTML)
HW87: Explains why older PCI Macintoshes do not recognize a Cardbus controller.
PCI and PC Card Technical Q&As 2000-09-05
PCI SIG (HTML) (日本語 HTML)
HW55: Describes the meaning of the acronym PCI SIG.
PCI and PC Card Technical Q&As 1999-03-29
PCI/PCI-X slots on the Power Mac G5 (HTML)
QA1307: Discusses installing PCI/PCI-X cards of different speeds in the Power Mac G5.
PCI and PC Card Technical Q&As 2003-09-30
Power Management for Macintosh; getting started (HTML) (日本語 HTML)
TN2075: Outlines available documentation and its location for power management on Mac OS X and OS 9.
PCI and PC Card Technical Notes 2003-05-30
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.
PCI and PC Card Technical Q&As 2002-02-13
Running files from a hard drive in Open Firmware (HTML)
TN2001: Demonstrates editing, saving, and retrieving Open Firmware commands to a file on a Macintosh hard drive.
PCI and PC Card Technical Notes 2000-09-22
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
PCI and PC Card Sample Code 2008-08-27
Sleep vs. Doze on Mac OS X (HTML)
QA1309: Discusses and demonstrates sleep versus doze detection on Machintosh Mac OS X
PCI and PC Card Technical Q&As 2003-10-09
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
PCI and PC Card Technical Notes 2008-08-14
Using "words" in Open Firmware (HTML)
HW73: Explains how to search for specific entries within all the global and local Open Firmware words.
PCI and PC Card Technical Q&As 1999-10-11
Video Hardware Info (HTML) (DMG) (ZIP)
Sample demonstrates how to query the video hardware for useful information.
PCI and PC Card Sample Code 2004-02-12
Was that a path I just saw? (HTML)
HW101: Describes the Open Firmware path that is occasionally shown at boot time.
PCI and PC Card Technical Q&As 2000-10-06
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
PCI and PC Card Technical Q&As 1999-02-15
What are generic names in Open Firmware? (HTML) (日本語 HTML)
HW34: Documents the generic names in Open Firmware.
PCI and PC Card Technical Q&As 1999-02-15
What is a CardBus host bus adapter HBA? (HTML)
HW79: Explains what a CardBus host bus adapter (HBA) is and discusses its implementation on the Macintosh.
PCI and PC Card Technical Q&As 1999-11-15
What is a tokenizer? (HTML) (日本語 HTML)
HW58: Defines a tokenizer.
PCI and PC Card Technical Q&As 1999-03-29
What is an Open Firmware devalias? (HTML)
HW99: Describes devaliases in Open Firmware.
PCI and PC Card Technical Q&As 2000-10-06
What is an Open Firmware phandle, and why can't I access it from the Mac OS? (HTML)
HW76: Explains an "Open Firmware phandle" and why it is inaccessible from the Mac OS.
PCI and PC Card Technical Q&As 1999-11-15
What is the return stack in Open Firmware and can I use it? (HTML)
HW67: Describes the purpose of the Open Firmware return stack and how developers can use it.
PCI and PC Card Technical Q&As 1999-10-11
When to use PCMCIA, PC Card, and CardBus (HTML)
HW77: Explains the differences between PCMCIA, PC Card, and CardBus.
PCI and PC Card Technical Q&As 1999-11-15
Working with Configuration Variables (HTML) (日本語 HTML)
QA1119: Explains how to delete a specific Open Firmware configuration variable without using Command-Option-P-R.
PCI and PC Card Technical Q&As 2002-02-13
Writing PCI Drivers (HTML) (PDF)
Conceptual information about writing I/O Kit drivers for PCI, AGP, and CardBus (PC Card) devices.
PCI and PC Card Guides 2006-04-04
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
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 Radio Power Class for Apple Systems (HTML) (日本語 HTML)
QA1278: Notes Preferred Bluetooth Transmitter Characteristics for products designed for Apple Systems.
Performance Technical Q&As 2003-08-06
Determining RAM size & location in New World Machines (HTML)
QA1065: Demonstrates Open Firmware method of determining RAM size & location in New World Machines.
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.
Performance Technical Q&As 1999-03-29
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.
Performance Technical Q&As 2008-09-16
Displaying PCI Configuration Registers contents in Open Firmware (HTML)
QA1036: Demonstrates how to display PCI Configuration Resister contents in Open Firmware.
Performance Technical Q&As 2001-05-18
dist_fft (HTML) (DMG) (ZIP)
Gigaelement FFTs on Apple G5 clusters
Performance Sample Code 2004-08-23
DRAM DIMM power pin connections for Macintosh Computers (HTML) (日本語 HTML)
QA1271: Discusses design considerations for DRAM DIMM power pin connections for Macintosh Computers.
Performance Technical Q&As 2003-07-04
Empty Memory Objects (HTML) (日本語 HTML)
QA1259: Describes how two memory management edge cases are handled by the common Mac OS memory allocators.
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.
Performance Technical Q&As 2002-01-15
Explanation of SDRAM configuration Nomenclature (HTML)
HW75: Explains the three-part "Device configuration" numbers for SDRAM in the Power Mac G4 Computer Developer Note.
Performance Technical Q&As 1999-10-18
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).
Performance Technical Q&As 2002-08-19
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Performance Technical Q&As 2008-10-13
How can I tell if a PCI device has on board I/O space? (HTML)
QA1287: Demonstrates "how to" tell if a PCI device has on board I/O space.
Performance Technical Q&As 2003-09-24
How do I change the numeric base for the Open Firmware user interface? (HTML)
HW66: Explains how to change the numeric base for the Open Firmware user interface.
Performance Technical Q&As 1999-10-11
How do I determine the top of the Open Firmware dictionary? (HTML)
HW69: Explains how to determine the top of the Open Firmware dictionary.
Performance Technical Q&As 1999-10-11
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.
Performance Reference 2009-03-04
I/O Kit Fundamentals (HTML) (PDF)
The basics of developing device drivers. Includes descriptions of I/O Kit families.
Performance Guides 2007-05-17
I/O Kit Power Management Release Notes (HTML)
Describes the latest changes to power management for Mac OS X v10.5.
Performance Release Notes 2007-10-31
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.
Performance Technical Q&As 2003-10-28
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Performance Technical Q&As 2002-01-15
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Performance Guides 2006-06-28
Menu Bar Clock and NVRAM (HTML)
QA1102: Explains why booting with the Command-Option-P-R keys doesn't reset date and time preferences.
Performance Technical Q&As 2001-12-21
Open Firmware version number (HTML)
HW96: Discusses the unique values of Open Firmware version numbers.
Performance Technical Q&As 2000-09-22
Optimization Strategies for Mac OS X (HTML)
TN1174: Achieving the best possible performance in your applications.
Performance Technical Notes 1999-09-01
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Performance Technical Q&As 1997-10-13
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Performance Technical Q&As 2006-02-22
PC100 SDRAM DIMMs on the Flat Panel iMac (HTML) (日本語 HTML)
QA1130: Describes PC100 SDRAM DIMM limitations on the "original " Flat Panel iMac.
Performance Technical Q&As 2002-03-18
PCI class codes (HTML)
HW91: Explains why PCI class codes are important.
Performance Technical Q&As 2000-09-05
PCI Header types (HTML)
HW78: Describes the three required types of PCI headers to be provided in its configuration header space.
Performance Technical Q&As 1999-11-15
PCI Macintoshes and CardBus controllers (HTML)
HW87: Explains why older PCI Macintoshes do not recognize a Cardbus controller.
Performance Technical Q&As 2000-09-05
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Performance Guides 2006-10-03
Power adapter Sensing for the 17" PowerBook (HTML) (日本語 HTML)
QA1266: Details Design and detection considerations for 17-inch PowerBook power adapters
Performance Technical Q&As 2003-06-12
PowerPC G5 Performance Primer (HTML) (日本語 HTML)
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
Performance Technical Notes 2003-09-03
Resetting NVRAM to factory defaults (HTML)
QA1103: Describes what happens when you boot holding the Command-Option-P-R keys.
Performance Technical Q&As 2001-12-21
A SCSI little secret (HTML)
HW81: Details what to expect when accessing the motherboard SCSI bus on the Blue & White G3.
Performance Technical Q&As 1999-12-20
SDRAM Problems With Self-Powered USB Devices (HTML) (日本語 HTML)
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
Performance Technical Q&As 2003-08-21
SDRAM, CAS Latency for the (HTML)
QA1071: Describes the supported CAS Latency values for the "QuickSilver", PowerMac G4 CPUs.
Performance Technical Q&As 2001-09-13
Sleep vs. Doze on Mac OS X (HTML)
QA1309: Discusses and demonstrates sleep versus doze detection on Machintosh Mac OS X
Performance Technical Q&As 2003-10-09
Stopping Forth command scrolls (HTML) (日本語 HTML)
HW57: Describes how to limit Forth commands from scrolling off the screen.
Performance Technical Q&As 1999-03-29
What is the word "see" and how do I use it to help me find what a word does? (HTML)
HW72: Explains the function and use of the Open Firmware word "see".
Performance Technical Q&As 1999-10-11
Which Machines Support Driver Services Library and the MP Nanokernel? (HTML) (日本語 HTML)
HW63: Lists the systems that do and don't support the Driver Services Library and the MP Nanokernel.
Performance Technical Q&As 1999-07-12
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.
Printing Technical Q&As 1999-10-11
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
Detecting low printer ink levels (HTML)
TN2144: How to detect printer supply levels using a low ink tool
Printing Technical Notes 2005-06-29
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Printing Technical Q&As 2008-10-13
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Printing 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.
Printing Technical Q&As 2002-01-15
New PPD keywords available in Mac OS X version 10.3 (HTML)
QA1352: Describes the new PPD keywords available for CUPS filters in Mac OS X 10.3.
Printing Technical Q&As 2004-05-26
Obtaining 16 Bits-Per-Color Data with CUPS Raster Printing (HTML)
TN2149: Obtaining 16 Bits-Per-Color Data with CUPS Raster Printing
Printing Technical Notes 2005-08-24
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Printing Technical Q&As 2006-02-22
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.
Printing 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.
Printing Technical Q&As 2008-09-24
SCSIOldAndNew (HTML) (DMG) (ZIP)
Demonstrates a backward-compatible technique for communicating with SCSI parallel devices on Mac OS X.
Printing Sample Code 2006-12-07
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Printing Sample Code 2006-10-16
Why does logging keep my Printer Module from working? (HTML) (日本語 HTML)
Deprecated - QA1182: Describes some problems with standard printf logging in a Printer Module on Jaguar.
Printing Technical Q&As 2002-11-06
Why don't all of my PDE localizations show up in all applications? (HTML) (日本語 HTML)
QA1185: Explains why some PDE localizations might not appear in all applications.
Printing Technical Q&As 2002-10-16
Available FireWire Isochronous Bandwidth (HTML)
QA1356: Discusses attempting to "pre-flight" an isochronous bandwidth allocation request by reading the currently available bandwidth.
QuickTime Technical Q&As 2004-07-07
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
QuickTime 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.
QuickTime Technical Q&As 2003-10-28
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
QuickTime Technical Q&As 2002-01-15
iSight - Configuring gain settings for IIDC cameras (HTML)
QA1421: Discusses how to configure features of IIDC cameras, specifically gain for the iSight
QuickTime Technical Q&As 2005-04-06
Legacy Devices (HTML)
HW84: Discusses why legacy devices with hard-wired I/O addresses may not work properly with Open Firmware.
QuickTime Technical Q&As 2000-03-20
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
QuickTime Technical Q&As 2006-02-22
Sequence Grabber - Determining the capture resolution of an IIDC device (HTML)
QA1403: Discusses how to determine the resolution of a captured image from an IIDC device
QuickTime Technical Q&As 2005-01-06
SimpleVideoOut (HTML) (DMG) (ZIP)
Demonstrates how QuickTime Video Output Components can be used to play video out to hardware.
QuickTime Sample Code 2005-08-10
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
QuickTime Technical Q&As 1999-02-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.
Scanners 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.
Scanners Technical Q&As 2008-10-13
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.
Scanners Reference 2009-03-04
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Scanners 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.
Scanners Technical Q&As 2002-01-15
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Scanners Technical Q&As 2006-02-22
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.
Scanners 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.
Scanners Technical Q&As 2008-09-24
SCSIOldAndNew (HTML) (DMG) (ZIP)
Demonstrates a backward-compatible technique for communicating with SCSI parallel devices on Mac OS X.
Scanners Sample Code 2006-12-07
Sending SCSI or ATA commands to storage devices (HTML) (日本語 HTML)
QA1179: Explains that Mac OS X does not implement SCSI or ATA pass-through for many mass storage devices.
Scanners Technical Q&As 2005-05-10
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Scanners Sample Code 2006-10-16
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Scanners Technical Q&As 1999-02-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.
SCSI Technical Q&As 2008-10-13
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
SCSI Technical Notes 2008-08-18
CD-ROM Driver Calls (HTML)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
SCSI Technical Notes 2000-08-14
CustomMediaIcons (HTML) (DMG) (ZIP)
Providing custom media icons for storage
SCSI Sample Code 2007-07-10
Detecting a CD-ROM (HTML) (日本語 HTML)
DV18: Demonstrates CD-ROM drive detection.
SCSI Technical Q&As 1997-01-31
Disk Arbitration Framework Reference (HTML)
Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent.
SCSI Reference 2008-04-08
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
SCSI Technical Q&As 2001-12-05
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
SCSI Technical Q&As 2008-10-13
Getting a List of Drivers & LUNs (logical unit numbers) (HTML)
Deprecated - DV04: Describes a legacy Mac OS technique for obtaining a list of SCSI Parallel drivers, devices, and LUNs.
SCSI Technical Q&As 1995-07-01
HBA Device Driver Programming Guide (HTML) (PDF)
Describes how to develop a high-performance, kernel-resident driver for an HBA device.
SCSI Guides 2006-05-23
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.
SCSI Reference 2009-03-04
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.
SCSI 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.
SCSI 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.
SCSI Technical Q&As 2002-01-15
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
SCSI 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.
SCSI Reference 2009-01-06
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
SCSI Technical Q&As 2002-02-07
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
SCSI Technical Notes 2007-03-23
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
SCSI Technical Q&As 2006-02-22
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.
SCSI 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.
SCSI Technical Q&As 2008-09-24
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
A SCSI little secret (HTML)
HW81: Details what to expect when accessing the motherboard SCSI bus on the Blue & White G3.
SCSI Technical Q&As 1999-12-20
SCSIHBAEmulator (HTML) (DMG) (ZIP)
Demonstration of how to implement a virtual parallel tasking SCSI host bus adapter (HBA)
SCSI Sample Code 2007-02-20
SCSIOldAndNew (HTML) (DMG) (ZIP)
Demonstrates a backward-compatible technique for communicating with SCSI parallel devices on Mac OS X.
SCSI Sample Code 2006-12-07
Sending SCSI or ATA commands to storage devices (HTML) (日本語 HTML)
QA1179: Explains that Mac OS X does not implement SCSI or ATA pass-through for many mass storage devices.
SCSI Technical Q&As 2005-05-10
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
SCSI 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.
SCSI Technical Notes 2008-08-14
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
SCSI Sample Code 2006-10-16
VendorSpecificType00 (HTML) (DMG) (ZIP)
Demonstrates how to access vendor-specific storage device functionality using a simple interface from user space code.
SCSI Sample Code 2006-10-02
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
SCSI Technical Q&As 1999-02-15
Workaround for Asynchronous SCSIAction Crashes (HTML) (日本語 HTML)
Deprecated - QA1129: Explains how to workaround asynchronous SCSIAction crashes on Mac OS X.
SCSI Technical Q&As 2002-03-21
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
Leopard Technology Series for Developers: OS Foundations (HTML)
Leopard Overview article on system-level updates.
Security Articles 2007-09-04
Mac OS X Server Security Configuration Guide (PDF)
Describes how to configure Mac OS X Server to enhance server and service security.
Security Guides 2008-06-09
Uniquely Identifying a Macintosh Computer (HTML) (日本語 HTML)
TN1103: How to identify a specific Macintosh computer.
Security Technical Notes 2006-04-25
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.
Serial Technical Q&As 2008-10-13
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
Serial Technical Notes 2008-08-18
CCL Modem Scripting Guide (HTML) (PDF)
Serial 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.
Serial Release Notes 2007-10-31
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
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
Serial Technical Q&As 2001-12-05
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
Serial 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.
Serial Technical Q&As 2008-10-13
HBA Device Driver Programming Guide (HTML) (PDF)
Describes how to develop a high-performance, kernel-resident driver for an HBA device.
Serial Guides 2006-05-23
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.
Serial Reference 2009-03-04
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.
Serial Technical Q&As 2003-10-28
Installing smart card reader drivers (HTML)
QA1359: Updates obsolete information contained in the pcscd(8) man page on Mac OS X Jaguar and Panther.
Serial Technical Q&As 2004-08-30
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Serial 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.
Serial Technical Q&As 2002-01-15
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
Serial Technical Q&As 2004-01-15
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
Serial 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.
Serial Technical Q&As 2006-02-22
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.
Serial Technical Q&As 2002-02-13
Serial API Choice (HTML)
DV39: Discusses the choice of serial APIs supported by traditional Mac OS and Mac OS X.
Serial Technical Q&As 2001-07-02
SerialPortSample (HTML) (DMG) (ZIP)
Demonstrates how to do serial I/O on Mac OS X.
Serial Sample Code 2005-08-16
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
Serial Technical Notes 2008-08-14
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Serial Sample Code 2006-10-16
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Serial Technical Q&As 1999-02-15
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Still Cameras Technical Q&As 2008-10-13
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.
Still Cameras Reference 2009-03-04
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Still Cameras 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.
Still Cameras Technical Q&As 2002-01-15
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Still Cameras Technical Q&As 2006-02-22
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.
Still Cameras 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.
Still Cameras Technical Q&As 2008-09-24
SCSIOldAndNew (HTML) (DMG) (ZIP)
Demonstrates a backward-compatible technique for communicating with SCSI parallel devices on Mac OS X.
Still Cameras Sample Code 2006-12-07
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Still Cameras Sample Code 2006-10-16
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Still Cameras Technical Q&As 1999-02-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.
Storage Technical Q&As 2008-10-13
AudioCDSample (HTML) (DMG) (ZIP)
Demonstrates how to discover audio CDs and access the TOC information presented by the CD-DA filesystem.
Storage Sample Code 2005-10-04
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.
Storage Technical Q&As 1999-02-15
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
Storage Technical Notes 2008-08-18
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.
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
CustomMediaIcons (HTML) (DMG) (ZIP)
Providing custom media icons for storage
Storage Sample Code 2007-07-10
Detecting a CD-ROM (HTML) (日本語 HTML)
DV18: Demonstrates CD-ROM drive detection.
Storage Technical Q&As 1997-01-31
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
Disk Arbitration Framework Reference (HTML)
Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent.
Storage Reference 2008-04-08
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
Storage Technical Q&As 2001-12-05
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Storage Technical Q&As 2008-10-13
Getting a List of Drivers & LUNs (logical unit numbers) (HTML)
Deprecated - DV04: Describes a legacy Mac OS technique for obtaining a list of SCSI Parallel drivers, devices, and LUNs.
Storage Technical Q&As 1995-07-01
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.
Storage Reference 2009-03-04
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.
Storage 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.
Storage 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.
Storage Technical Q&As 2002-01-15
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Storage Reference 2009-01-06
Legacy Devices (HTML)
HW84: Discusses why legacy devices with hard-wired I/O addresses may not work properly with Open Firmware.
Storage Technical Q&As 2000-03-20
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
Storage Technical Notes 2007-03-23
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Storage Technical Q&As 2006-02-22
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.
Storage 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.
Storage Technical Q&As 2008-09-24
SampleFilterScheme (HTML) (DMG) (ZIP)
Demonstrates a simple filter scheme which passes all operations through to its provider unchanged.
Storage Sample Code 2006-01-03
A SCSI little secret (HTML)
HW81: Details what to expect when accessing the motherboard SCSI bus on the Blue & White G3.
Storage Technical Q&As 1999-12-20
SCSIHBAEmulator (HTML) (DMG) (ZIP)
Demonstration of how to implement a virtual parallel tasking SCSI host bus adapter (HBA)
Storage Sample Code 2007-02-20
SCSIOldAndNew (HTML) (DMG) (ZIP)
Demonstrates a backward-compatible technique for communicating with SCSI parallel devices on Mac OS X.
Storage Sample Code 2006-12-07
SDRAM Problems With Self-Powered USB Devices (HTML) (日本語 HTML)
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
Storage Technical Q&As 2003-08-21
Secrets of the GPT (HTML)
TN2166: Describes the new partition map format used by Intel-based Macintosh computers.
Storage Technical Notes 2006-11-06
Sending SCSI or ATA commands to storage devices (HTML) (日本語 HTML)
QA1179: Explains that Mac OS X does not implement SCSI or ATA pass-through for many mass storage devices.
Storage Technical Q&As 2005-05-10
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
Storage Sample Code 2008-08-27
SMARTQuery (HTML) (DMG) (ZIP)
Demonstration of how to access and use S.M.A.R.T. disk monitoring functionality
Storage Sample Code 2007-05-30
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
Storage Technical Notes 2008-08-14
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Storage Sample Code 2006-10-16
VendorSpecificType00 (HTML) (DMG) (ZIP)
Demonstrates how to access vendor-specific storage device functionality using a simple interface from user space code.
Storage Sample Code 2006-10-02
VolumeToBSDNode (HTML) (DMG) (ZIP)
Shows how to iterate across all mounted volumes and retrieve their BSD node names.
Storage Sample Code 2006-10-16
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Storage Technical Q&As 1999-02-15
What are snag keys in Open Firmware? (HTML) (日本語 HTML)
HW35: Explains Open Firmware snag keys, including examples of their function.
Storage Technical Q&As 1999-02-15
Which Machines Support Driver Services Library and the MP Nanokernel? (HTML) (日本語 HTML)
HW63: Lists the systems that do and don't support the Driver Services Library and the MP Nanokernel.
Storage Technical Q&As 1999-07-12
Xserve G5 PCI Hardware RAID Card (PDF)
Explains how to install the card in an Xserve G5 and how to set up a RAID volume.
Storage Guides 2005-01-03
Xserve G5 Using the Hardware RAID PCI Card (PDF)
Explains how to use the software provided with the Hardware RAID PCI Card to configure and manage RAID operations.
Storage Guides 2005-01-03
Xserve RAID User's Guide (PDF)
Explains how to install the Xserve RAID system, connect it to a host system, and configure RAID storage.
Storage Guides 2005-01-03
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.
USB Technical Q&As 2008-10-13
Building Customized User Client Drivers for USB Devices (HTML)
Learn how to write the setup code for card readers, bill validators, and other devices.
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.
USB Technical Notes 2008-08-18
CCL Modem Scripting Guide (HTML) (PDF)
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.
USB Release Notes 2007-10-31
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
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
CustomMediaIcons (HTML) (DMG) (ZIP)
Providing custom media icons for storage
USB Sample Code 2007-07-10
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
USB Technical Q&As 2001-12-05
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
USB 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.
USB Technical Q&As 2008-10-13
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
USB Technical Q&As 2001-06-13
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.
USB Reference 2009-03-04
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.
USB Technical Q&As 2003-10-28
Installing smart card reader drivers (HTML)
QA1359: Updates obsolete information contained in the pcscd(8) man page on Mac OS X Jaguar and Panther.
USB Technical Q&As 2004-08-30
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
USB 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.
USB Technical Q&As 2002-01-15
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
USB 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.
USB Reference 2009-01-06
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
USB 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.
USB Technical Q&As 2006-02-22
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.
USB 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.
USB Technical Q&As 2008-09-24
SampleUSBAudioPlugin (HTML) (DMG) (ZIP)
USB audio plugin that performs a lowpass filtering operation on audio streamed through an audio USB Device.
USB Sample Code 2005-03-07
SDRAM Problems With Self-Powered USB Devices (HTML) (日本語 HTML)
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
USB Technical Q&As 2003-08-21
Sending SCSI or ATA commands to storage devices (HTML) (日本語 HTML)
QA1179: Explains that Mac OS X does not implement SCSI or ATA pass-through for many mass storage devices.
USB Technical Q&As 2005-05-10
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.
USB Technical Notes 2008-08-14
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
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
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
USB Sample Code 2006-10-16
User-Mode USB Device Arbitration (HTML)
Information about using USB device arbitration, available in Mac OS X version 10.1 and later.
USB Guides 2002-02-06
VendorSpecificType00 (HTML) (DMG) (ZIP)
Demonstrates how to access vendor-specific storage device functionality using a simple interface from user space code.
USB Sample Code 2006-10-02
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
USB Technical Q&As 1999-02-15
What are snag keys in Open Firmware? (HTML) (日本語 HTML)
HW35: Explains Open Firmware snag keys, including examples of their function.
USB Technical Q&As 1999-02-15