| Sorted by Title
 | Sort by Resource Type
 | Sort by Date
 | 
| 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 | 
| Avoiding Kernel Event Conflicts
(HTML) QA1063: Documents the namespace for the vendor_code field of the kern_event_msg structure. | Technical Q&As | 2001-09-14 | 
| Can't attach during two-machine debugging with GDB
(HTML)
(  ) Deprecated - QA1019: Describes a workaround for a problem attaching during two-machine debugging on Mac OS X 10.0.x. | Technical Q&As | 2003-06-02 | 
| Coding in the Kernel
(HTML) Considerations and caveats about programming in the kernel. | Guides | 2005-11-09 | 
| Descriptor Passing Problems
(HTML) QA1541: Describes how to work around common problems with descriptor passing. | Technical Q&As | 2007-10-29 | 
| Developing for VFS
(HTML)
(  ) QA1242: Describes Apple's position on developing external file systems (VFS plug-ins) for Mac OS X. | Technical Q&As | 2006-12-22 | 
| Directories Appear as Volume Aliases
(HTML) QA1351: Discusses how VFS plug-ins should handle device numbers to ensure compatibility with Carbon applications. | Technical Q&As | 2004-05-25 | 
| EmptyFS
(HTML)
(DMG)
(ZIP) A very simple VFS plug-in that mounts a volume that is completely empty. | Sample Code | 2006-11-09 | 
| Energy Star PCI Device
(HTML)
(  ) QA1108: Provides useful information for developers of Energy Star-compliant PCI devices. | Technical Q&As | 2002-01-15 | 
| File System Events Programming Guide
(HTML)
(PDF) Explains how applications can detect changes in the file system. | Guides | 2008-03-11 | 
| 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 | 
| Getting List of All Processes on Mac OS X
(HTML)
(  ) QA1123: Describes how, using Carbon and BSD respectively, to list all applications and processes. | Technical Q&As | 2002-03-05 | 
| 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 | 
| Integrating With The Connect to Server Dialog
(HTML) QA1387: Describes problems integrating a third-party network file system with Finder's Connect to Server dialog. | Technical Q&As | 2006-11-16 | 
| 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 | 
| IOKitWithLibrary
(HTML)
(DMG)
(ZIP) Shows how an I/O Kit driver can link with a C library from a separate kernel extension. | Sample Code | 2003-08-27 | 
| IOLog and Interrupt Context
(HTML)
(  ) QA1100: Describes when IOKit runs at primary (hardware) interrupt context. | Technical Q&As | 2002-02-13 | 
| IOPrintSuperClasses
(HTML)
(DMG)
(ZIP) Given the name of a class, this tool will print all of the super-classes of that class. | Sample Code | 2005-08-17 | 
| 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 | 
| KauthORama
(HTML)
(DMG)
(ZIP) Prints each Kauth request, illustrating how Kauth interacts with high-level operations, like copying files. | Sample Code | 2007-04-30 | 
| Kernel Authorization
(HTML) TN2127: Describes the kernel authorization (kauth) subsystem and its associated KPI. | Technical Notes | 2007-01-16 | 
| Kernel Core Dumps
(HTML) TN2118: Explains how to gather and use remote kernel core dumps. | Technical Notes | 2008-11-12 | 
| Kernel Extension Programming Topics
(HTML)
(PDF) Combines the HOWTOs that were previously documented in Hello Debugger, Hello IOKit, Hello KEXT, Packaging KEXT, and KEXT Dependencies. | Guides | 2007-10-31 | 
| Kernel Extensions Release Notes
(HTML) | Release Notes | 2007-10-31 | 
| Kernel Programming Guide
(HTML)
(PDF) Essential information for programming in the Mac OS X kernel. Includes a high-level overview. | Guides | 2006-11-07 | 
| Kernel's MAC framework
(HTML) QA1574: Cautions that the kernel's MAC framework is currently not support. | Technical Q&As | 2008-01-04 | 
| KPI Reference
(HTML) Provides information on the NKE Sustainable API in Headerdoc format. | Reference | 2006-07-17 | 
| Mac OS X and root access
(HTML) QA1013: Describes how to enable root access in Mac OS X. | Technical Q&As | 2008-09-16 | 
| Making sense of IOKit error codes
(HTML)
(  ) QA1075: Explains how to interpret I/O Kit error codes. | Technical Q&As | 2002-02-07 | 
| MFSLives
(HTML)
(DMG)
(ZIP) Sample VFS plug-in for the Macintosh File System (MFS) volume format, as used on 400KB floppies. | Sample Code | 2006-11-09 | 
| 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). | 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). | Guides | 2009-03-02 | 
| SampleFilterScheme
(HTML)
(DMG)
(ZIP) Demonstrates a simple filter scheme which passes all operations through to its provider unchanged.  | Sample Code | 2006-01-03 | 
| SimpleDataQueue
(HTML)
(DMG)
(ZIP) Implements an IODataQueue inside an I/O Kit KEXT which passes events and data to user space. | Sample Code | 2003-01-14 | 
| SimpleUserClient
(HTML)
(DMG)
(ZIP) Shows how to create a user client for an I/O Kit kernel driver. | Sample Code | 2008-08-27 | 
| Supported KPIs
(HTML) QA1575: Describes how to check whether a kernel function is part of a supported KPI. | Technical Q&As | 2008-03-25 | 
| TimerEventSample
(HTML)
(DMG)
(ZIP) Shows how to set up and use an IOTimerEventSource in a kext. | Sample Code | 2003-01-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 | 
| 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 | 
| Volumes Not Showing Up On The Desktop
(HTML) QA1491: Describes how to make a volume from a third party VFS plug-in show up on the desktop. | Technical Q&As | 2006-12-20 |