| Sort by Title
 | Sort by Topic
 | Sort by Resource Type
 | Sorted by Date
 | 
| HID Class Device Interface Guide
(HTML)
(PDF) Explains how to develop applications to communicate with or control HID class devices. | Hardware & Drivers | Guides | 2009-05-06 | 
| Porting Drivers to Mac OS X
(HTML)
(PDF) Tips and code samples to help UNIX/Linux device driver developers bring their drivers to Mac OS X. | General, Porting | Guides | 2009-05-06 | 
| Audio Device Driver Programming Guide
(HTML)
(PDF) Explains how to develop kernel-resident drivers for audio devices. | Hardware & Drivers | Guides | 2009-03-04 | 
| 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, Hardware & Drivers | Reference | 2009-03-04 | 
| 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). | Kernel, Networking | Guides | 2009-03-02 | 
| Dynamic Library Programming Topics
(HTML)
(PDF) Explains how to design, implement, and use dynamic libraries. | Runtime Architecture | Guides | 2009-02-26 | 
| Mac OS X ABI Function Call Guide
(HTML)
(PDF) Describes the function-calling conventions used in the architectures supported by Mac OS X. | Intel-Based Macs | Guides | 2009-02-04 | 
| Mac OS X ABI Mach-O File Format Reference
(HTML)
(PDF) Describes the data structures that make up the Mach-O file format. | Runtime Architecture, Tools | Reference | 2009-02-04 | 
| Universal Binary Programming Guidelines, Second Edition
(HTML)
(PDF) Conceptual information and tips for writing code that runs on PowerPC-based and Intel-based Macintosh computers. | Intel-Based Macs | Guides | 2009-02-04 | 
| Authorization Services Programming Guide
(HTML)
(PDF) Explains how to add fine-grained control of privileged operations in an application. | Security | Guides | 2009-01-06 | 
| Kernel Framework Reference
(HTML) Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers. | General, Hardware & Drivers | Reference | 2009-01-06 | 
| Code Signing Guide
(HTML)
(PDF) Explains how you can sign your code and why you should. | Security | Guides | 2008-11-19 | 
| System Startup Programming Topics
(HTML)
(PDF) Explains the boot process used to initialize the Mac OS X operating system. | Runtime Architecture | Guides | 2008-11-19 | 
| Kernel Core Dumps
(HTML) TN2118: Explains how to gather and use remote kernel core dumps. | Hardware & Drivers, Kernel | Technical Notes | 2008-11-12 | 
| Bluetooth Framework Reference
(HTML) Describes the C and Objective-C APIs that support user-space access to Bluetooth devices. | Hardware & Drivers | Reference | 2008-10-15 | 
| Security Overview
(HTML)
(PDF) An introduction to computer security concepts and the security APIs in Mac OS X and iPhone OS. | Security | Guides | 2008-10-15 | 
| 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. | Hardware & Drivers, Kernel | 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. | Hardware & Drivers, Kernel | Technical Q&As | 2008-10-13 | 
| Programmatically causing restart, shutdown and/or logout
(HTML)
(  ) QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout. | Hardware & Drivers | Technical Q&As | 2008-09-24 | 
| 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. | Hardware & Drivers | 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. | Hardware & Drivers | Technical Q&As | 2008-09-18 | 
| Disabling Processor Cores on a Multi-Core System
(HTML)
(  ) QA1141: Describes how to disable processor cores on a multi-core system for testing purposes. | Performance | Technical Q&As | 2008-09-16 | 
| Mac OS X and root access
(HTML) QA1013: Describes how to enable root access in Mac OS X. | Hardware & Drivers, Kernel, Security | Technical Q&As | 2008-09-16 | 
| Running At Login
(HTML) TN2228: Describes how to write code that's coordinated with the login process. | Process Management | Technical Notes | 2008-09-16 | 
| Observing Process Lifetimes Without Polling
(HTML) TN2050: Shows a variety of methods to observe process lifetimes without polling. | Process Management | Technical Notes | 2008-09-10 | 
| SimpleUserClient
(HTML)
(DMG)
(ZIP) Shows how to create a user client for an I/O Kit kernel driver. | Hardware & Drivers, Kernel | Sample Code | 2008-08-27 | 
| Is dlopen available on all versions of Mac OS X?
(HTML)
(  ) QA1180: Describes how to dynamically link to libraries and plug-ins, typically done with dlopen. | Porting, Runtime Architecture, Tools | Technical Q&As | 2008-08-19 | 
| Building Universal I/O Kit Drivers
(HTML) TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls. | Hardware & Drivers | Technical Notes | 2008-08-18 | 
| Understanding and Debugging Kernel Panics
(HTML)
(  ) TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic. | Hardware & Drivers, Kernel | Technical Notes | 2008-08-14 | 
| Registering and unregistering for sleep and wake notifications
(HTML) QA1340: Explains how applications can register and unregister for sleep and wake notifications on Mac OS X. | Hardware & Drivers, Resource Management | Technical Q&As | 2008-08-08 | 
| Mac OS X Code Signing In Depth
(HTML) TN2206: Intermediate to expert level overview of code signing that details specific options and gotchas | Security | Technical Notes | 2008-08-06 | 
| File System Overview
(HTML)
(PDF) Conceptual information and guidelines describing the structure and usage of the Mac OS X file system. | File Management | Guides | 2008-07-11 | 
| Netwide Assembler Guide
(HTML) Describes the Netwide Assembler for Intel-based Macs. | Tools | Reference | 2008-06-19 | 
| BootstrapDump
(HTML)
(DMG)
(ZIP) Print Mach bootstrap namespace information. | Interprocess Communication, Process Management | Sample Code | 2008-06-18 | 
| Using Doxygen to Create Xcode Documentation Sets
(HTML) Learn how to integrate your documentation into Xcode. | Open Source | Articles | 2008-06-09 | 
| Getting a Packet Trace
(HTML)
(  ) QA1176: Lists tools available for looking at the network packets on the wire. | Networking | Technical Q&As | 2008-06-03 | 
| Secure Coding Guide
(HTML)
(PDF) Describes techniques to use and factors to consider to make your code more secure from attack. | Security | Guides | 2008-05-23 | 
| Mac OS X Man Pages
(HTML) HTML versions of the Mac OS X, Mac OS X Server, Xcode Tools, and CHUD man pages. | General, Networking, Tools | Reference | 2008-04-29 | 
| DNS Service Discovery C Reference
(HTML) Describes the DNS Service Discovery API for implementing Bonjour in an application. | Networking | Reference | 2008-04-23 | 
| Determining console user login status
(HTML) QA1133: How to determine whether a user is logged in on the console, and be notified of changes. | Process Management | Technical Q&As | 2008-04-14 | 
| 64-Bit Transition Guide
(HTML)
(PDF) Describes the 64-bit features available in Mac OS X. | Interprocess Communication, Performance, Porting | Guides | 2008-04-08 | 
| Bluetooth User Interface Framework Reference
(HTML) Describes the C and Objective-C APIs that provide a consistent user interface to Bluetooth services. | Hardware & Drivers | Reference | 2008-04-08 | 
| Darwin Notification API Reference
(HTML) Describes the Darwin API for interprocess notification. | General, Interprocess Communication | Reference | 2008-04-08 | 
| Disk Arbitration Framework Reference
(HTML) Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent. | General | Reference | 2008-04-08 | 
| Force Feedback Framework Reference
(HTML) Describes the public interfaces to the Force Feedback implementation in Mac OS X, including support for plug-ins. | Hardware & Drivers | Reference | 2008-04-08 | 
| FSEvents Reference
(HTML) Describes the API used to provide lightweight notification of directory changes in a file-system subtree. | File Management | Reference | 2008-04-08 | 
| HeaderDoc User Guide
(HTML)
(PDF) Explains how to extract API reference documentation from commented header files. | Tools | Guides | 2008-04-08 | 
| Porting UNIX/Linux Applications to Mac OS X
(HTML)
(PDF) Conceptual information and tips about porting UNIX and Linux applications to Mac OS X. | Porting, Tools | Guides | 2008-04-08 | 
| System Configuration Framework Reference
(HTML) Describes the API for configuration of network resources, the reachability of target hosts, and connection to network services. | Networking | Reference | 2008-04-08 | 
| Bonjour Printer Subtype for HTTP
(HTML) QA1555: Describes how printer vendors can register their bonjour service such that Safari can see them. | Networking, Printing | Technical Q&As | 2008-03-25 | 
| Supported KPIs
(HTML) QA1575: Describes how to check whether a kernel function is part of a supported KPI. | Kernel | Technical Q&As | 2008-03-25 | 
| UTXplorer
(HTML)
(DMG)
(ZIP) Uses the <utmpx.h> API to display current login sessions and login history. | Process Management | Sample Code | 2008-03-19 | 
| CryptNoMore
(HTML)
(DMG)
(ZIP) Shows how to authenticate a user using Open Directory (Directory Services). | Security | Sample Code | 2008-03-17 | 
| File System Events Programming Guide
(HTML)
(PDF) Explains how applications can detect changes in the file system. | File Management, Interprocess Communication, Kernel, Performance | Guides | 2008-03-11 | 
| Network Device Driver Programming Guide
(HTML)
(PDF) Background and task information about developing network drivers for Mac OS X. | Hardware & Drivers | Guides | 2008-03-11 | 
| Suppressing the "unexpectedly quit" alert
(HTML) QA1288: Describes how to suppress the "unexpectedly quit" alert. | Security | Technical Q&As | 2008-03-11 | 
| FSMegaInfo
(HTML)
(DMG)
(ZIP) Prints information about various file system objects; helpful when debugging VFS plug-ins. | File Management | Sample Code | 2008-02-25 | 
| Customizing Process Stack Size
(HTML) QA1419: Describes methods for setting the stack size of a process and/or thread. | Process Management, Resource Management | Technical Q&As | 2008-02-20 | 
| GNU C 4.2 Preprocessor User Guide
(HTML) Describes the Apple version of the GNU C 4.2 Preprocessor. | Tools | Reference | 2008-01-23 | 
| GNU C/C++/Objective-C 4.2.1 Compiler User Guide
(HTML) Describes the Apple version of the GNU 4.2.1 compiler. | Tools | Reference | 2008-01-23 | 
| Kernel's MAC framework
(HTML) QA1574: Cautions that the kernel's MAC framework is currently not support. | Kernel | Technical Q&As | 2008-01-04 | 
| Daemons and Agents
(HTML) TN2083: Describes the most common problems encountered with daemons and agents, and suggests detailed solutions. | Process Management | Technical Notes | 2007-11-05 | 
| 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, Process Management | Release Notes | 2007-10-31 | 
| 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. | Hardware & Drivers, Networking | Release Notes | 2007-10-31 | 
| Code Signing Release Notes
(HTML) | Security | Release Notes | 2007-10-31 | 
| GNU C 4.0 Preprocessor User Guide
(HTML) Describes the Apple version of the GNU C 4.0 Preprocessor. | Tools | Reference | 2007-10-31 | 
| GNU C/C++/Objective-C 4.0.1 Compiler User Guide
(HTML) Describes the Apple version of the GNU 4.0.1 compiler. | Intel-Based Macs, Tools | Reference | 2007-10-31 | 
| I/O Kit Power Management Release Notes
(HTML) Describes the latest changes to power management for Mac OS X v10.5. | Hardware & Drivers | Release Notes | 2007-10-31 | 
| 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. | General, Kernel | Guides | 2007-10-31 | 
| Kernel Extensions Release Notes
(HTML) | Kernel | Release Notes | 2007-10-31 | 
| Perl, Python, and Ruby Extensions Release Notes
(HTML) Describes how to create universal binary extensions for Perl, Python, and Ruby. | Porting, Tools | Release Notes | 2007-10-31 | 
| CFProxySupportTool
(HTML)
(DMG)
(ZIP) Shows how to use the CFProxySupport APIs to decide whether a network connection should pass through a proxy. | Networking | Sample Code | 2007-10-29 | 
| Descriptor Passing Problems
(HTML) QA1541: Describes how to work around common problems with descriptor passing. | Kernel, Networking | Technical Q&As | 2007-10-29 | 
| Symbol Variants Release Notes
(HTML) Describes symbol variants, a way of providing multiple versions of symbols for backwards compatibility. | Porting, Tools | Release Notes | 2007-10-16 | 
| NotifyTool
(HTML)
(DMG)
(ZIP) Shows how to use the BSD notify API. | Interprocess Communication | Sample Code | 2007-09-25 | 
| Leopard Technology Series for Developers: OS Foundations
(HTML) Leopard Overview article on system-level updates.  | File Management | Articles | 2007-09-04 | 
| USB Device Interface Guide
(HTML)
(PDF) Provides background information and sample code for developing applications to communicate with or control USB devices and interfaces. | Hardware & Drivers | Guides | 2007-09-04 | 
| System Configuration Reference Update
(HTML)
(PDF) Summarizes the symbols added to the System Configuration framework. | General, Networking | Release Notes | 2007-07-18 | 
| CCL Modem Scripting Guide
(HTML)
(PDF) | Hardware & Drivers, Networking | Guides | 2007-06-28 | 
| MoreSCF
(HTML)
(DMG)
(ZIP) High-level wrapper around System Configuration framework, making common operations easy. | Networking | Sample Code | 2007-06-07 | 
| Core Endian Reference
(HTML)
(PDF) Describes the C API for creating and installing callbacks to byte swap custom data. | Intel-Based Macs | Reference | 2007-05-29 | 
| I/O Kit Fundamentals
(HTML)
(PDF) The basics of developing device drivers. Includes descriptions of I/O Kit families. | Hardware & Drivers, Resource Management | Guides | 2007-05-17 | 
| Mac OS X Notification Overview
(HTML)
(PDF) | Interprocess Communication, Runtime Architecture | Guides | 2007-05-15 | 
| KauthORama
(HTML)
(DMG)
(ZIP) Prints each Kauth request, illustrating how Kauth interacts with high-level operations, like copying files. | Kernel, Security | Sample Code | 2007-04-30 | 
| Mass Storage Device Driver Programming Guide
(HTML)
(PDF) Background and task information about developing kernel-resident drivers for mass storage devices. | Hardware & Drivers | 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 | Hardware & Drivers | Technical Notes | 2007-03-23 | 
| 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. | Hardware & Drivers | Guides | 2007-03-06 | 
| 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. | Hardware & Drivers | Guides | 2007-03-06 | 
| ExpressCard Prevents System Sleep
(HTML) QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem. | Hardware & Drivers | Technical Q&As | 2007-02-28 | 
| SCSIHBAEmulator
(HTML)
(DMG)
(ZIP) Demonstration of how to implement a virtual parallel tasking SCSI host bus adapter (HBA) | Hardware & Drivers | Sample Code | 2007-02-20 | 
| Accessing Hardware From Applications
(HTML)
(PDF) Tips and guidelines for developing applications that communicate with or control devices. | Hardware & Drivers | Guides | 2007-02-08 | 
| FireWire Device Interface Guide
(HTML)
(PDF) Explains how to develop applications to communicate with or control FireWire devices and units. | Hardware & Drivers | Guides | 2007-02-08 | 
| SCSI Architecture Model Device Interface Guide
(HTML)
(PDF) Explains how to develop applications that communicate with or control SCSI Architecture Model devices. | Hardware & Drivers | Guides | 2007-02-08 | 
| Kerberos: Highly Secure Single Sign On Authentication in Mac OS X
(HTML) Learn how you can take advantage of Kerberos in your application. | Security | Articles | 2007-02-05 | 
| Frequently Asked Questions about the X Window System (X11) for Mac OS X
(HTML) TN2165: Answers several FAQs about the Mac OS X implementation of X11 | Open Source | Technical Notes | 2007-01-22 | 
| Kernel Authorization
(HTML) TN2127: Describes the kernel authorization (kauth) subsystem and its associated KPI. | Kernel, Security | Technical Notes | 2007-01-16 | 
| Open Directory Programming Guide
(HTML)
(PDF) Explains how to implement centralized storage and retrieval of information in Carbon. | Networking | Guides | 2007-01-08 | 
| Developing for VFS
(HTML)
(  ) QA1242: Describes Apple's position on developing external file systems (VFS plug-ins) for Mac OS X. | File Management, Kernel | Technical Q&As | 2006-12-22 | 
| 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. | File Management, Kernel | Technical Q&As | 2006-12-20 | 
| 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. | File Management, Kernel | Technical Q&As | 2006-11-16 |