| Sort by Title
 | Sort by Resource Type
 | Sorted by Date
 | 
| 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. | Reference | 2009-03-04 | 
| Kernel Framework Reference
(HTML) Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers. | Reference | 2009-01-06 | 
| Allocating and sharing memory with user space from an I/O Kit driver
(HTML)
(  ) QA1197: Describes the preferred technique for allocating and sharing buffers in an I/O Kit kernel driver. | Technical Q&As | 2008-10-13 | 
| Generating a Non-Maskable Interrupt (NMI)
(HTML)
(  ) QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems. | Technical Q&As | 2008-10-13 | 
| Retain Counts of io_object_t Objects in IOKit.framework
(HTML)
(  ) QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy. | Technical Q&As | 2008-09-24 | 
| IODeviceTree and the I/O Registry
(HTML)
(  ) QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry. | Technical Q&As | 2008-09-18 | 
| Building Universal I/O Kit Drivers
(HTML) TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls. | Technical Notes | 2008-08-18 | 
| Tips on USB driver matching for Mac OS X
(HTML) QA1076: Gives some tips on getting USB driver matching to work. | Technical Q&As | 2008-08-14 | 
| Understanding and Debugging Kernel Panics
(HTML)
(  ) TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic. | 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. | Guides | 2008-04-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. | Release Notes | 2007-10-31 | 
| USB Device Interface Guide
(HTML)
(PDF) Provides background information and sample code for developing applications to communicate with or control USB devices and interfaces. | Guides | 2007-09-04 | 
| 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. | Articles | 2007-07-10 | 
| CustomMediaIcons
(HTML)
(DMG)
(ZIP) Providing custom media icons for storage | Sample Code | 2007-07-10 | 
| CCL Modem Scripting Guide
(HTML)
(PDF) | Guides | 2007-06-28 | 
| ExpressCard Prevents System Sleep
(HTML) QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem. | Technical Q&As | 2007-02-28 | 
| USBPrivateDataSample
(HTML)
(DMG)
(ZIP) Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device. | 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.  | Sample Code | 2006-10-02 | 
| Building Customized User Client Drivers for USB Devices
(HTML) Learn how to write the setup code for card readers, bill validators, and other devices. | Articles | 2006-06-26 | 
| 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 | Technical Q&As | 2006-02-28 | 
| The "packages" node in the device tree
(HTML) HW90: Describes the "packages" node in the Open Firmware device tree. | Technical Q&As | 2006-02-22 | 
| Sending SCSI or ATA commands to storage devices
(HTML)
(  ) QA1179: Explains that Mac OS X does not implement SCSI or ATA pass-through for many mass storage devices. | Technical Q&As | 2005-05-10 | 
| SampleUSBAudioPlugin
(HTML)
(DMG)
(ZIP) USB audio plugin that performs a lowpass filtering operation on audio streamed through an audio USB Device. | Sample Code | 2005-03-07 | 
| Installing smart card reader drivers
(HTML) QA1359: Updates obsolete information contained in the pcscd(8) man page on Mac OS X Jaguar and Panther. | Technical Q&As | 2004-08-30 | 
| Issues with boot time KEXT loading
(HTML)
(  ) QA1087: Explains how to solve problems with loading KEXTs at boot time. | Technical Q&As | 2004-01-15 | 
| 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. | Technical Q&As | 2003-10-28 | 
| SDRAM Problems With Self-Powered USB Devices
(HTML)
(  ) HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM . | Technical Q&As | 2003-08-21 | 
| Power Management; Policy Maker vs. Power Controller
(HTML)
(  ) QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller. | Technical Q&As | 2002-02-13 | 
| Making sense of IOKit error codes
(HTML)
(  ) QA1075: Explains how to interpret I/O Kit error codes. | Technical Q&As | 2002-02-07 | 
| User-Mode USB Device Arbitration
(HTML) Information about using USB device arbitration, available in Mac OS X version 10.1 and later. | Guides | 2002-02-06 | 
| IOKit Framework Headers
(HTML)
(  ) QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework. | Technical Q&As | 2002-01-15 | 
| The dreaded "incompatible flag -framework" error
(HTML) QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder. | Technical Q&As | 2001-12-05 | 
| HID Manager Event Data Underruns
(HTML) QA1038: Explains how to correctly handle HID Manager event queue data underruns. | Technical Q&As | 2001-06-13 | 
| What are configuration variables in Open Firmware?
(HTML)
(  ) HW38: Defines the configuration variables in Open Firmware. | Technical Q&As | 1999-02-15 | 
| What are snag keys in Open Firmware?
(HTML)
(  ) HW35: Explains Open Firmware snag keys, including examples of their function. | Technical Q&As | 1999-02-15 |