Sort by Title |
Sorted by Topic |
Sort by Resource Type |
Sort by Date |
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
|
64-Bit Transition Guide
(HTML)
(PDF)
Describes the 64-bit features available in Mac OS X.
|
Interprocess Communication |
Guides |
2008-04-08
|
BootstrapDump
(HTML)
(DMG)
(ZIP)
Print Mach bootstrap namespace information.
|
Interprocess Communication |
Sample Code |
2008-06-18
|
Darwin Notification API Reference
(HTML)
Describes the Darwin API for interprocess notification.
|
Interprocess Communication |
Reference |
2008-04-08
|
File System Events Programming Guide
(HTML)
(PDF)
Explains how applications can detect changes in the file system.
|
Interprocess Communication |
Guides |
2008-03-11
|
Kernel Programming Guide
(HTML)
(PDF)
Essential information for programming in the Mac OS X kernel. Includes a high-level overview.
|
Interprocess Communication |
Guides |
2006-11-07
|
Mac OS X Notification Overview
(HTML)
(PDF)
|
Interprocess Communication |
Guides |
2007-05-15
|
NotifyTool
(HTML)
(DMG)
(ZIP)
Shows how to use the BSD notify API.
|
Interprocess Communication |
Sample Code |
2007-09-25
|
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.
|
Kernel |
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.
|
Kernel |
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.
|
Kernel |
Technical Q&As |
2003-06-02
|
Coding in the Kernel
(HTML)
Considerations and caveats about programming in the kernel.
|
Kernel |
Guides |
2005-11-09
|
Descriptor Passing Problems
(HTML)
QA1541: Describes how to work around common problems with descriptor passing.
|
Kernel |
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.
|
Kernel |
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.
|
Kernel |
Technical Q&As |
2004-05-25
|
EmptyFS
(HTML)
(DMG)
(ZIP)
A very simple VFS plug-in that mounts a volume that is completely empty.
|
Kernel |
Sample Code |
2006-11-09
|
Energy Star PCI Device
(HTML)
()
QA1108: Provides useful information for developers of Energy Star-compliant PCI devices.
|
Kernel |
Technical Q&As |
2002-01-15
|
File System Events Programming Guide
(HTML)
(PDF)
Explains how applications can detect changes in the file system.
|
Kernel |
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.
|
Kernel |
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.
|
Kernel |
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.
|
Kernel |
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.
|
Kernel |
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.
|
Kernel |
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.
|
Kernel |
Sample Code |
2003-08-27
|
IOLog and Interrupt Context
(HTML)
()
QA1100: Describes when IOKit runs at primary (hardware) interrupt context.
|
Kernel |
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.
|
Kernel |
Sample Code |
2005-08-17
|
Issues with boot time KEXT loading
(HTML)
()
QA1087: Explains how to solve problems with loading KEXTs at boot time.
|
Kernel |
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.
|
Kernel |
Sample Code |
2007-04-30
|
Kernel Authorization
(HTML)
TN2127: Describes the kernel authorization (kauth) subsystem and its associated KPI.
|
Kernel |
Technical Notes |
2007-01-16
|
Kernel Core Dumps
(HTML)
TN2118: Explains how to gather and use remote kernel core dumps.
|
Kernel |
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.
|
Kernel |
Guides |
2007-10-31
|
Kernel Extensions Release Notes
(HTML)
|
Kernel |
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.
|
Kernel |
Guides |
2006-11-07
|
Kernel's MAC framework
(HTML)
QA1574: Cautions that the kernel's MAC framework is currently not support.
|
Kernel |
Technical Q&As |
2008-01-04
|
KPI Reference
(HTML)
Provides information on the NKE Sustainable API in Headerdoc format.
|
Kernel |
Reference |
2006-07-17
|
Mac OS X and root access
(HTML)
QA1013: Describes how to enable root access in Mac OS X.
|
Kernel |
Technical Q&As |
2008-09-16
|
Making sense of IOKit error codes
(HTML)
()
QA1075: Explains how to interpret I/O Kit error codes.
|
Kernel |
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.
|
Kernel |
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).
|
Kernel |
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).
|
Kernel |
Guides |
2009-03-02
|
SampleFilterScheme
(HTML)
(DMG)
(ZIP)
Demonstrates a simple filter scheme which passes all operations through to its provider unchanged.
|
Kernel |
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.
|
Kernel |
Sample Code |
2003-01-14
|
SimpleUserClient
(HTML)
(DMG)
(ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
|
Kernel |
Sample Code |
2008-08-27
|
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
|
TimerEventSample
(HTML)
(DMG)
(ZIP)
Shows how to set up and use an IOTimerEventSource in a kext.
|
Kernel |
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.
|
Kernel |
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.
|
Kernel |
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.
|
Kernel |
Technical Q&As |
2006-12-20
|
Apple Filing Protocol Programming Guide
(HTML)
(PDF)
Describes high-level concepts for Apple Filing Protocol commands.
|
Networking |
Guides |
2006-04-04
|
Apple Filing Protocol Reference
(HTML)
(PDF)
Describes the Apple Filing Protocol commands.
|
Networking |
Reference |
2006-05-23
|
Bonjour enforces the TXT record format in Panther
(HTML)
QA1306: Explains how mDNSResponder enforces the proper TXT record format in Panther.
|
Networking |
Technical Q&As |
2004-07-14
|
Bonjour Printer Subtype for HTTP
(HTML)
QA1555: Describes how printer vendors can register their bonjour service such that Safari can see them.
|
Networking |
Technical Q&As |
2008-03-25
|
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
|
CFLocalServer
(HTML)
(DMG)
(ZIP)
Uses UNIX domain sockets to communicate between client and server programs on the same machine.
|
Networking |
Sample Code |
2005-07-26
|
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
|
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
|
Descriptor Passing Problems
(HTML)
QA1541: Describes how to work around common problems with descriptor passing.
|
Networking |
Technical Q&As |
2007-10-29
|
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
|
DNS Service Discovery C Reference
(HTML)
Describes the DNS Service Discovery API for implementing Bonjour in an application.
|
Networking |
Reference |
2008-04-23
|
DNSServiceMetaQuery
(HTML)
(DMG)
(ZIP)
Shows how to discover Bonjour service types being advertised on the local network.
|
Networking |
Sample Code |
2005-06-01
|
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
|
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
|
IOKit Framework Headers
(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
|
KPI Reference
(HTML)
Provides information on the NKE Sustainable API in Headerdoc format.
|
Networking |
Reference |
2006-07-17
|
Mac OS X Man Pages
(HTML)
HTML versions of the Mac OS X, Mac OS X Server, Xcode Tools, and CHUD man pages.
|
Networking |
Reference |
2008-04-29
|
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
|
MoreIsBetter
(HTML)
(DMG)
(ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
|
Networking |
Sample Code |
2003-10-27
|
MoreSCF
(HTML)
(DMG)
(ZIP)
High-level wrapper around System Configuration framework, making common operations easy.
|
Networking |
Sample Code |
2007-06-07
|
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
|
NetworkAuthentication
(HTML)
(DMG)
(ZIP)
Demonstrates authentication with Open Directory APIs and GSSAPI
|
Networking |
Sample Code |
2005-06-01
|
Open Directory Plug-in Programming Guide
(HTML)
(PDF)
Explains how to implement dynamically loaded libraries that respond to Open Directory client requests in Carbon.
|
Networking |
Guides |
2006-05-23
|
Open Directory Programming Guide
(HTML)
(PDF)
Explains how to implement centralized storage and retrieval of information in Carbon.
|
Networking |
Guides |
2007-01-08
|
Open Directory Reference
(HTML)
(PDF)
Describes the Carbon API for using Open Directory.
|
Networking |
Reference |
2006-05-23
|
QISA
(HTML)
(DMG)
(ZIP)
Demonstrates the basics of writing an Internet setup assistant for traditional Mac OS and Mac OS X.
|
Networking |
Sample Code |
2003-05-15
|
SimpleDial
(HTML)
(DMG)
(ZIP)
Demonstrates management of dialup connections, such as PPP, using System Configuration framework network connection API.
|
Networking |
Sample Code |
2005-07-26
|
SimplePing
(HTML)
(DMG)
(ZIP)
Sample provides simple API to programatically ping a remote host without admin privileges
|
Networking |
Sample Code |
2003-10-27
|
SimpleReach
(HTML)
(DMG)
(ZIP)
Demonstrates network host reachability testing using the System Configuration framework asynchronous network reachability API.
|
Networking |
Sample Code |
2005-07-26
|
SocketCancel
(HTML)
(DMG)
(ZIP)
Shows how to safely cancel threads that are blocked within BSD sockets calls.
|
Networking |
Sample Code |
2005-08-10
|
The state of mDNSResponder
(HTML)
QA1339: Explains how to obtain information regarding the internal state of mDNSResponder.
|
Networking |
Technical Q&As |
2006-10-03
|
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
|
System Configuration Programming Guidelines
(HTML)
(PDF)
Explains how to use system configuration services for network configuration and management, including determining reachability and getting connected.
|
Networking |
Guides |
2006-02-07
|
System Configuration Reference Update
(HTML)
(PDF)
Summarizes the symbols added to the System Configuration framework.
|
Networking |
Release Notes |
2007-07-18
|
Updating the TXT record of a Bonjour service
(HTML)
QA1302: Explains how to update a Bonjour TXT record while running on either Jaguar or Panther.
|
Networking |
Technical Q&As |
2004-07-14
|
Writing Open Directory Plug-ins
(HTML)
Learn how to write Open Directory plug-ins to help your application locate and manage network information.
|
Networking |
Articles |
2004-09-13
|
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
|
Using Doxygen to Create Xcode Documentation Sets
(HTML)
Learn how to integrate your documentation into Xcode.
|
Open Source |
Articles |
2008-06-09
|
64-Bit Transition Guide
(HTML)
(PDF)
Describes the 64-bit features available in Mac OS X.
|
Performance |
Guides |
2008-04-08
|
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
|
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
|
dist_fft
(HTML)
(DMG)
(ZIP)
Gigaelement FFTs on Apple G5 clusters
|
Performance |
Sample Code |
2004-08-23
|
File System Events Programming Guide
(HTML)
(PDF)
Explains how applications can detect changes in the file system.
|
Performance |
Guides |
2008-03-11
|
GDB for MacsBug Veterans
(HTML)
TN2030: Translate your experience with MacsBug into a working knowledge of the GNU source-level debugger (GDB).
|
Performance |
Technical Notes |
2001-10-18
|
Getting Started with launchd
(HTML)
Learn about launchd and see how to migrate your configuration files.
|
Performance |
Articles |
2005-08-22
|
Performance Overview
(HTML)
(PDF)
Introduces the factors that determine performance.
|
Performance |
Guides |
2006-10-03
|
Signals and Threads
(HTML)
()
QA1184: Describes how threads and signals interact.
|
Performance |
Technical Q&As |
2002-08-27
|
Tiger Developer Overview Series: Developing 64-bit Applications
(HTML)
Learn how Mac OS X Tiger breaks the limitations of 32-bit computing.
|
Performance |
Articles |
2004-12-20
|
64-Bit Transition Guide
(HTML)
(PDF)
Describes the 64-bit features available in Mac OS X.
|
Porting |
Guides |
2008-04-08
|