Sorted by Title |
Sort by Topic |
Sort by Resource Type |
Sort by Date |
Kernel Authorization
(HTML)
TN2127: Describes the kernel authorization (kauth) subsystem and its associated KPI.
|
Kernel, Security |
Technical Notes |
2007-01-16
|
Kernel Core Dumps
(HTML)
TN2118: Explains how to gather and use remote kernel core dumps.
|
Hardware & Drivers, 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.
|
General, Kernel |
Guides |
2007-10-31
|
Kernel Extensions Release Notes
(HTML)
|
Kernel |
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, Hardware & Drivers |
Reference |
2009-01-06
|
Kernel Programming Guide
(HTML)
(PDF)
Essential information for programming in the Mac OS X kernel. Includes a high-level overview.
|
Interprocess Communication, 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.
|
General, Kernel, Networking |
Reference |
2006-07-17
|
Leopard Technology Series for Developers: OS Foundations
(HTML)
Leopard Overview article on system-level updates.
|
File Management |
Articles |
2007-09-04
|
Mac OS X ABI Dynamic Loader Reference
(HTML)
(PDF)
Describes the functions used to access Mach-O files.
|
Runtime Architecture |
Reference |
2005-11-09
|
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
|
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
|
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
|
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
|
Mac OS X Notification Overview
(HTML)
(PDF)
|
Interprocess Communication, Runtime Architecture |
Guides |
2007-05-15
|
Mach Absolute Time Units
(HTML)
QA1398: Describes how to convert Mach absolute time units to real time, and vice versa.
|
Process Management, Resource Management |
Technical Q&As |
2005-01-06
|
MachPortDump
(HTML)
(DMG)
(ZIP)
Dumps out the Mach port name space of a process; useful when debugging port right leaks.
|
Resource Management |
Sample Code |
2005-08-10
|
Making sense of IOKit error codes
(HTML)
()
QA1075: Explains how to interpret I/O Kit error codes.
|
Hardware & Drivers, Kernel |
Technical Q&As |
2002-02-07
|
MapLargeFile
(HTML)
(DMG)
(ZIP)
Shows a technique for mapping files greater than 4GB into memory for faster access.
|
Resource Management |
Sample Code |
2003-11-19
|
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
|
MemoryBasedBundle
(HTML)
(DMG)
(ZIP)
Shows how to execute Mach-O code from memory, much like GetMemFragment in CFM.
|
Runtime Architecture |
Sample Code |
2005-08-10
|
MFSLives
(HTML)
(DMG)
(ZIP)
Sample VFS plug-in for the Macintosh File System (MFS) volume format, as used on 400KB floppies.
|
File Management, Kernel |
Sample Code |
2006-11-09
|
Miscellaneous User Space API Reference
(HTML)
Describes APIs located in various headers in /usr/include.
|
General |
Reference |
2006-09-05
|
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.
|
File Management, Networking, Porting, Process Management, Resource Management, Runtime Architecture, Security |
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
|
Moriarity
(HTML)
(DMG)
(ZIP)
Implementing a Cocoa GUI that wraps command-line functionality, calling a UNIX task and presenting the results in a GUI.
|
Porting |
Sample Code |
2003-01-14
|
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
|
Netwide Assembler Guide
(HTML)
Describes the Netwide Assembler for Intel-based Macs.
|
Tools |
Reference |
2008-06-19
|
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
|
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, 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).
|
Kernel, Networking |
Guides |
2009-03-02
|
NetworkAuthentication
(HTML)
(DMG)
(ZIP)
Demonstrates authentication with Open Directory APIs and GSSAPI
|
Networking |
Sample Code |
2005-06-01
|
NotifyTool
(HTML)
(DMG)
(ZIP)
Shows how to use the BSD notify API.
|
Interprocess Communication |
Sample Code |
2007-09-25
|
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
|
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
|
Open Firmware Memory bus speed
(HTML)
HW97: Describes a method to display memory bus speed for G3 or G4 Macintosh in Open Firmware.
|
Hardware & Drivers |
Technical Q&As |
2000-09-22
|
Packaging UNIX Software
(HTML)
Explains how to post UNIX and other command-line tools to Apple's Macintosh Product Guide.
|
Porting, Tools |
Guides |
2001-04-20
|
Pascal to C: PROCEDURE Parameters
(HTML)
Deprecated - PT31: Nested procedures and PROCEDURE parameters in Pascal when converting them into C or C++.
|
Porting |
Technical Notes |
1990-02-01
|
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.
|
Hardware & Drivers |
Technical Q&As |
2003-09-30
|
Performance Overview
(HTML)
(PDF)
Introduces the factors that determine performance.
|
Performance |
Guides |
2006-10-03
|
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
|
PIDFromBSDProcessName
(HTML)
(DMG)
(ZIP)
Provides a simple API to do process PID lookup based on BSD process name.
|
Porting, Process Management, Tools |
Sample Code |
2003-02-13
|
Porting Command Line Unix Tools to Mac OS X
(HTML)
()
TN2071: A general guide for Unix developers porting software to Mac OS X.
|
Porting |
Technical Notes |
2003-09-03
|
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
|
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
|
Power Management; Policy Maker vs. Power Controller
(HTML)
()
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
|
Hardware & Drivers |
Technical Q&As |
2002-02-13
|
Preventing sleep
(HTML)
QA1160: Explains how your application can prevent the system from sleeping.
|
Resource Management |
Technical Q&As |
2004-10-22
|
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
|
QISA
(HTML)
(DMG)
(ZIP)
Demonstrates the basics of writing an Internet setup assistant for traditional Mac OS and Mac OS X.
|
Networking, Security |
Sample Code |
2003-05-15
|
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
|
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
|
Running At Login
(HTML)
TN2228: Describes how to write code that's coordinated with the login process.
|
Process Management |
Technical Notes |
2008-09-16
|
SampleD
(HTML)
(DMG)
(ZIP)
Demonstrates use of launchd and Apple System Logger.
|
Process Management |
Sample Code |
2005-10-27
|
SampleFilterScheme
(HTML)
(DMG)
(ZIP)
Demonstrates a simple filter scheme which passes all operations through to its provider unchanged.
|
Hardware & Drivers, Kernel |
Sample Code |
2006-01-03
|
SampleUSBAudioPlugin
(HTML)
(DMG)
(ZIP)
USB audio plugin that performs a lowpass filtering operation on audio streamed through an audio USB Device.
|
Hardware & Drivers |
Sample Code |
2005-03-07
|
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
|
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
|
Secrets of the GPT
(HTML)
TN2166: Describes the new partition map format used by Intel-based Macintosh computers.
|
File Management, Hardware & Drivers |
Technical Notes |
2006-11-06
|
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
|
Security Framework Error Codes
(HTML)
QA1499: Explains how to interpret errors returned by the Security Framework with an overview of Security error handling.
|
Security |
Technical Q&As |
2006-11-16
|
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
|
Setting environment variables for user processes
(HTML)
QA1067: Tells how to set environment variables for user processes.
|
Porting, Tools |
Technical Q&As |
2001-10-25
|
Signals and Threads
(HTML)
()
QA1184: Describes how threads and signals interact.
|
Performance, Tools |
Technical Q&As |
2002-08-27
|
SimpleDataQueue
(HTML)
(DMG)
(ZIP)
Implements an IODataQueue inside an I/O Kit KEXT which passes events and data to user space.
|
Hardware & Drivers, Kernel |
Sample Code |
2003-01-14
|
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
|
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
|
Sleep vs. Doze on Mac OS X
(HTML)
QA1309: Discusses and demonstrates sleep versus doze detection on Machintosh Mac OS X
|
Hardware & Drivers |
Technical Q&As |
2003-10-09
|
SocketCancel
(HTML)
(DMG)
(ZIP)
Shows how to safely cancel threads that are blocked within BSD sockets calls.
|
Networking |
Sample Code |
2005-08-10
|
SSLSample
(HTML)
(DMG)
(ZIP)
Contains examples showing how to use SecureTransport.
|
Security |
Sample Code |
2003-01-14
|
The state of mDNSResponder
(HTML)
QA1339: Explains how to obtain information regarding the internal state of mDNSResponder.
|
Networking |
Technical Q&As |
2006-10-03
|
Static linking of user binaries on Mac OS X
(HTML)
()
QA1118: Explains why static linking of user binaries is not supported on Mac OS X, and possible workarounds.
|
Porting, Runtime Architecture |
Technical Q&As |
2002-02-07
|
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
|
Suppressing the "unexpectedly quit" alert
(HTML)
QA1288: Describes how to suppress the "unexpectedly quit" alert.
|
Security |
Technical Q&As |
2008-03-11
|
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
|
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.
|
General, Networking |
Release Notes |
2007-07-18
|
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
|
Text Encodings in VFS
(HTML)
()
QA1173: How to handle text encodings correctly when writing a file system (VFS) plug-in for Mac OS X.
|
File Management |
Technical Q&As |
2003-02-10
|
Tiger Developer Overview Series: Developing 64-bit Applications
(HTML)
Learn how Mac OS X Tiger breaks the limitations of 32-bit computing.
|
Performance, Porting |
Articles |
2004-12-20
|
TimerEventSample
(HTML)
(DMG)
(ZIP)
Shows how to set up and use an IOTimerEventSource in a kext.
|
Hardware & Drivers, 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.
|
Hardware & Drivers, Kernel |
Technical Notes |
2008-08-14
|
Uniquely Identifying a Macintosh Computer
(HTML)
()
TN1103: How to identify a specific Macintosh computer.
|
Security |
Technical Notes |
2006-04-25
|
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
|
Unix 03 Conformance Release Notes
(HTML)
Describes features, issues, and workarounds related to Mac OS X v10.5 and its support of SUSv3 (Version 3 of the SUS).
|
General |
Release Notes |
2006-10-06
|
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
|
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
|
User-Mode USB Device Arbitration
(HTML)
Information about using USB device arbitration, available in Mac OS X version 10.1 and later.
|
Hardware & Drivers |
Guides |
2002-02-06
|
Using Doxygen to Create Xcode Documentation Sets
(HTML)
Learn how to integrate your documentation into Xcode.
|
Open Source |
Articles |
2008-06-09
|
UTXplorer
(HTML)
(DMG)
(ZIP)
Uses the <utmpx.h> API to display current login sessions and login history.
|
Process Management |
Sample Code |
2008-03-19
|
VendorSpecificType00
(HTML)
(DMG)
(ZIP)
Demonstrates how to access vendor-specific storage device functionality using a simple interface from user space code.
|
Hardware & Drivers, 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.
|
File Management, Kernel |
Technical Q&As |
2006-12-20
|
VolumeToBSDNode
(HTML)
(DMG)
(ZIP)
Shows how to iterate across all mounted volumes and retrieve their BSD node names.
|
File Management, Hardware & Drivers |
Sample Code |
2006-10-16
|
Watcher
(HTML)
(DMG)
(ZIP)
Uses FSEvents to monitor a directory hierarchy to keep track of its total size
|
File Management |
Sample Code |
2006-08-04
|
Working with Configuration Variables
(HTML)
()
QA1119: Explains how to delete a specific Open Firmware configuration variable without using Command-Option-P-R.
|
Hardware & Drivers |
Technical Q&As |
2002-02-13
|
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
|
Writing PCI Drivers
(HTML)
(PDF)
Conceptual information about writing I/O Kit drivers for PCI, AGP, and CardBus (PC Card) devices.
|
Hardware & Drivers |
Guides |
2006-04-04
|
X11 FAQ
(HTML)
()
QA1232: Frequently Asked Questions about using Apple's X Window System (X11) implementation.
|
Tools |
Technical Q&As |
2003-11-17
|