Sorted by Title |
Sort by Topic |
Sort by Resource Type |
Sort by Date |
The "/.vol" directory and "volfs"
(HTML)
()
QA1113: Describes how the Carbon File Manager interacts with BSD via "volfs" and the "/.vol" directory.
|
File Management |
Technical Q&As |
2002-02-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
|
Accessing Hardware From Applications
(HTML)
(PDF)
Tips and guidelines for developing applications that communicate with or control devices.
|
Hardware & Drivers |
Guides |
2007-02-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, Process Management |
Release Notes |
2007-10-31
|
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
|
AltiVec/SSE Migration Guide
(HTML)
(PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
|
Intel-Based Macs |
Guides |
2005-09-08
|
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
|
Are the Name Registry device tree nodes unique?
(HTML)
Deprecated - HW64: Discusses whether Name Registry nodes copied from the Open Firmware device tree are unique.
|
Hardware & Drivers |
Technical Q&As |
1999-10-11
|
Audio Device Driver Programming Guide
(HTML)
(PDF)
Explains how to develop kernel-resident drivers for audio devices.
|
Hardware & Drivers |
Guides |
2009-03-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
|
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
|
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
|
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
|
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, Printing |
Technical Q&As |
2008-03-25
|
BootstrapDump
(HTML)
(DMG)
(ZIP)
Print Mach bootstrap namespace information.
|
Interprocess Communication, Process Management |
Sample Code |
2008-06-18
|
Building an Open Source Universal Binary
(HTML)
Learn to build a universal binary through this sample build that uses OpenSSL.
|
Intel-Based Macs |
Articles |
2006-04-24
|
Building Darwin
(HTML)
Explains how to work with the Darwin build system using the build tools provided.
|
General |
Guides |
2001-10-08
|
Building Universal Binaries from "configure"-based Open Source Projects
(HTML)
TN2137: Describes some methods for building some existing "configure"-based Open Source packages as universal binaries.
|
Porting, Tools |
Technical Notes |
2006-10-05
|
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
|
Byte-Order Utilities Reference
(HTML)
(PDF)
Describes Core Foundation byte-order functions.
|
Intel-Based Macs |
Reference |
2006-05-23
|
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.
|
Hardware & Drivers, Kernel |
Technical Q&As |
2003-06-02
|
CCL Modem Scripting Guide
(HTML)
(PDF)
|
Hardware & Drivers, 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.
|
Hardware & Drivers, Networking |
Release Notes |
2007-10-31
|
CD-ROM Driver Calls
(HTML)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
|
Hardware & Drivers |
Technical Notes |
2000-08-14
|
CFLocalServer
(HTML)
(DMG)
(ZIP)
Uses UNIX domain sockets to communicate between client and server programs on the same machine.
|
Networking, Process Management |
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
|
CheckExecutableArchitecture
(HTML)
(DMG)
(ZIP)
Determine whether a particular Mach-O executable contains a version suitable for executing on a given processor architecture.
|
Runtime Architecture |
Sample Code |
2006-02-07
|
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
|
Code Signing Guide
(HTML)
(PDF)
Explains how you can sign your code and why you should.
|
Security |
Guides |
2008-11-19
|
Code Signing Release Notes
(HTML)
|
Security |
Release Notes |
2007-10-31
|
Coding in the Kernel
(HTML)
Considerations and caveats about programming in the kernel.
|
Kernel |
Guides |
2005-11-09
|
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
|
Cross-Development Programming Guide
(HTML)
(PDF)
Explains how to build software for versions of Mac OS X other than the one the development tools are running on.
|
Tools |
Guides |
2006-11-07
|
CryptNoMore
(HTML)
(DMG)
(ZIP)
Shows how to authenticate a user using Open Directory (Directory Services).
|
Security |
Sample Code |
2008-03-17
|
CryptoSample
(HTML)
(DMG)
(ZIP)
Contains sample code showing symmetric encryption and message digest calculation.
|
Security |
Sample Code |
2003-02-06
|
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
|
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
|
Darwin Notification API Reference
(HTML)
Describes the Darwin API for interprocess notification.
|
General, Interprocess Communication |
Reference |
2008-04-08
|
Descriptor Passing Problems
(HTML)
QA1541: Describes how to work around common problems with descriptor passing.
|
Kernel, Networking |
Technical Q&As |
2007-10-29
|
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
|
Developing Cross-Platform UNIX Applications with Mac OS X
(HTML)
Learn tips for developing code on Mac OS X for deployment on other UNIX platforms.
|
Porting, Tools |
Articles |
2004-08-30
|
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
|
Device File Access Guide for Serial Devices
(HTML)
(PDF)
Guidelines for using I/O Kit and POSIX functions to develop applications that communicate with serial devices.
|
Hardware & Drivers |
Guides |
2005-12-06
|
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
|
Directories Appear as Volume Aliases
(HTML)
QA1351: Discusses how VFS plug-ins should handle device numbers to ensure compatibility with Carbon applications.
|
File Management, Kernel |
Technical Q&As |
2004-05-25
|
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
|
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
|
Disk Arbitration Framework Reference
(HTML)
Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent.
|
General |
Reference |
2008-04-08
|
dist_fft
(HTML)
(DMG)
(ZIP)
Gigaelement FFTs on Apple G5 clusters
|
Performance |
Sample Code |
2004-08-23
|
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
|
The dreaded "incompatible flag -framework" error
(HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
|
Hardware & Drivers |
Technical Q&As |
2001-12-05
|
Driver Tuning on Panther or G5
(HTML)
()
TN2090: Describes potential issues when using drivers in Panther or later, or on a Power Macintosh G5.
|
Hardware & Drivers |
Technical Notes |
2003-06-24
|
Dynamic Library Programming Topics
(HTML)
(PDF)
Explains how to design, implement, and use dynamic libraries.
|
Runtime Architecture |
Guides |
2009-02-26
|
EmptyFS
(HTML)
(DMG)
(ZIP)
A very simple VFS plug-in that mounts a volume that is completely empty.
|
File Management, 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
|
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
|
File Manager Text Encoding Hints
(HTML)
()
QA1223: How to use Text Encoding Hints.
|
File Management |
Technical Q&As |
2003-01-20
|
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
|
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
|
FileNotification
(HTML)
(DMG)
(ZIP)
kqueue file notification introduced in 10.3. Notification API to detect file system modifications.
|
File Management |
Sample Code |
2005-10-27
|
filesystem_examples
(HTML)
(DMG)
(ZIP)
Collection of command line tools illustrating filesystem features.
|
File Management |
Sample Code |
2006-01-10
|
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
|
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
|
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
|
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
|
FSMegaInfo
(HTML)
(DMG)
(ZIP)
Prints information about various file system objects; helpful when debugging VFS plug-ins.
|
File Management |
Sample Code |
2008-02-25
|
GCC Porting Guide
(HTML)
(PDF)
Provides guidance on how to migrate projects to new GCC releases.
|
Intel-Based Macs |
Guides |
2006-10-03
|
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
|
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
|
GetMACAddressSample
(HTML)
(DMG)
(ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
|
Networking, Security |
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, Security |
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
|
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, Porting |
Technical Q&As |
2002-03-05
|
Getting Started with launchd
(HTML)
Learn about launchd and see how to migrate your configuration files.
|
Performance, Process Management |
Articles |
2005-08-22
|
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 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 3.3 Compiler
(HTML)
Explains how to use the GNU compilers from the command line.
|
Tools |
Reference |
|
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
|
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
|
HBA Device Driver Programming Guide
(HTML)
(PDF)
Describes how to develop a high-performance, kernel-resident driver for an HBA device.
|
Hardware & Drivers |
Guides |
2006-05-23
|
HeaderDoc User Guide
(HTML)
(PDF)
Explains how to extract API reference documentation from commented header files.
|
Tools |
Guides |
2008-04-08
|
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
|
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
|
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
|
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
|
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
|
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.
|
Hardware & Drivers, 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.
|
File Management, Kernel |
Technical Q&As |
2006-11-16
|
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
|
IOKit Framework Headers
(HTML)
()
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
|
Hardware & Drivers, Kernel, Networking, Tools |
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.
|
Hardware & Drivers, Kernel |
Sample Code |
2003-08-27
|
IOLog and Interrupt Context
(HTML)
()
QA1100: Describes when IOKit runs at primary (hardware) interrupt context.
|
Hardware & Drivers, 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.
|
Hardware & Drivers, Kernel |
Sample Code |
2005-08-17
|
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
|
Issues with boot time KEXT loading
(HTML)
()
QA1087: Explains how to solve problems with loading KEXTs at boot time.
|
Hardware & Drivers, 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, Security |
Sample Code |
2007-04-30
|
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
|