Jump To:
Reference Library
Carbon is a set of C APIs offering developers an advanced user interface tool kit, event handling, the Quartz 2D graphics library, and multiprocessing support. Developers have access to other C and C++ APIs, including the OpenGL drawing system and the Mach microkernel.

A guided introduction and learning path for developers new to Carbon.   Essential information for developers using procedural C.   C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sort by
Resource Type
Sorted by
Date
File System Overview (HTML) (PDF)
Conceptual information and guidelines describing the structure and usage of the Mac OS X file system.
File Management Guides 2006-06-28
MDItem Reference (HTML) (PDF)
Describes the opaque type that encapsulates the metadata attributes for a file.
File Management Reference 2006-06-28
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Performance Guides 2006-06-28
Quartz Display Services Programming Topics (HTML) (PDF)
Shows how to configure and control display hardware using Quartz Display Services.
Graphics & Imaging Guides 2006-06-28
Developing Games on Mac OS X Using Third-Party Game Engines (HTML)
Create your own game using the powerful game engines that run on Mac OS X.
Games Articles 2006-06-05
Address Book C Framework Reference (HTML) (PDF)
Describes the C API for supporting and working with Address Book.
Apple Applications Reference 2006-05-23
Byte-Order Utilities Reference (HTML) (PDF)
Describes Core Foundation byte-order functions.
Intel-Based Macs Reference 2006-05-23
CFNetwork Reference Collection (HTML) (PDF)
Describes the C APIs for performing a variety network tasks.
Networking Reference 2006-05-23
Network Services Location Manager (Legacy) (HTML) (PDF)
Deprecated - Explains how to have a Carbon application discover available network services.
Networking Guides 2006-05-23
QuickTime Framework Reference (HTML) (PDF)
Describes the API for QuickTime.
QuickTime Reference 2006-05-23
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
Security Guides 2006-05-23
Security Framework Reference (HTML) (PDF)
Describes the C API for protecting information and controlling access to software.
Security Reference 2006-05-23
Web Kit Objective-C Programming Guide (HTML) (PDF)
Explains how to use the Web Kit to embed web content in both Cocoa and Carbon applications.
Internet & Web, User Experience Guides 2006-05-23
Changing the volume of audio devices (HTML)
QA1016: Demonstrates volume controls for audio devices
Audio Technical Q&A 2006-05-02
Uniquely Identifying a Macintosh Computer (HTML) (日本語 HTML)
TN1103: How to identify a specific Macintosh computer.
Security Technical Note 2006-04-25
AudioDeviceNotify (HTML) (DMG) (ZIP)
Demonstrates how to enumerate audio devices attached to the system and how to handle device notifications
Audio Sample Code 2006-04-21
Enumerating fonts with ATS (HTML)
QA1471: Describes the different ATS font enumeration methods
Text & Fonts Technical Q&A 2006-04-14
Address Book Programming Guide (HTML) (PDF)
Explains how to add, search, remove, and customize Address Book records.
Apple Applications Guides 2006-04-04
Drawing Performance Guidelines (HTML) (PDF)
Guidelines for improving the speed of drawing code.
Performance Guides 2006-04-04
Launch Time Performance Guidelines (HTML) (PDF)
Guidelines for improving the launch performance of an application.
Performance Guides 2006-04-04
CoreAudio Overload Warnings (HTML)
QA1467: Describes CoreAudio overload warnings what they mean and how to avoid them.
Audio Technical Q&A 2006-03-29
ColorSync Color Matching on Intel-based Macs (HTML)
QA1464: Describes special considerations for byte ordering when performing ColorSync color matching on Intel-based Macs
Graphics & Imaging Technical Q&A 2006-03-16
Spotlight Query Programming Guide (HTML) (PDF)
Describes how to add Spotlight searching to your applications.
File Management Guides 2006-03-08
Time Manager Reference (HTML) (PDF)
Describes the C API for scheduling routines for execution at a later time.
Resource Management Reference 2006-03-08
Web Kit C Reference (HTML) (PDF)
Describes the C API for displaying web content in windows.
Internet & Web, User Experience Reference 2006-03-08
HISimpleList (HTML) (DMG) (ZIP)
Illustrates how to create a simple list using the HIView APIs introduced in Mac OS X 10.2.
Human Interface Toolbox Sample Code 2006-03-03
iTunesController (HTML) (DMG) (ZIP)
iTunesController allows you to control iTunes without having to bring it to the foreground.
Accessibility Sample Code 2006-02-23
QTCarbonCoreImage101 (HTML) (DMG) (ZIP)
Demonstrates how to render QuickTime Movies using Core Image filters and the new video pipeline.
QuickTime Sample Code 2006-02-14
Working with Quartz Composer (HTML)
Learn to build a sample composition without having to write code.
Graphics & Imaging Articles 2006-02-13
Carbon Accessibility Reference (HTML) (PDF)
Describes the C API for making Carbon applications accessible to assistive technologies.
Accessibility Reference 2006-02-07
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
Mac OS X Printing System Overview (HTML) (PDF)
Introduces Apple's printing architecture. Includes a road map for developing software.
Printing Guides 2006-02-07
Property List Programming Topics for Core Foundation (HTML) (PDF)
Explains how to use structured, textual representations of data in Core Foundation.
Core Foundation, Data Management Guides 2006-02-07
Sequence Grabber preallocates large file when recording (HTML)
QA1411: Describes how to prevent the Sequence Grabber from filling your entire disk when recording.
QuickTime Technical Q&A 2006-02-06
QuickTime Audio - Easy Frequency Level Metering with MovieAudio APIs (HTML)
QA1459: Describes how to perform frequency band level metering using MovieAudio metering APIs.
QuickTime Technical Q&A 2006-01-26
SillyFrequencyLevels (HTML) (DMG) (ZIP)
Demonstrates how to obtain audio frequency levels from a Movie using SetMovieAudioFrequencyMeteringNumBands and GetMovieAudioFrequencyLevels APIs.
QuickTime Sample Code 2006-01-25
Coalesced Updates (HTML)
TN2133: How to achieve the maxium frame rate in your Mac OS X application
Graphics & Imaging Technical Note 2006-01-20
CFNetworkHTTPDownload (HTML) (DMG) (ZIP)
Demonstrates how to download a URL using CFNetworking.
Networking Sample Code 2006-01-18
Compression Sessions - Configuring options using the Standard Compression dialog (HTML)
QA1456: Discusses how to configure Compression Session options using Standard Compression dialog.
QuickTime Technical Q&A 2006-01-12
Compression Sessions - Enabling muti-pass encoding (HTML)
QA1450: Describes how to enable multi-pass encoding when using ICM compression sessions.
Graphics & Imaging, QuickTime Technical Q&A 2006-01-12
Compression Sessions - Temporal compression options (HTML)
QA1455: Discusses the temporal compression option as it relates to quality and other compression session options.
QuickTime Technical Q&A 2006-01-12
Debugging Graphics with QuartzDebug (HTML) (日本語 HTML)
QA1236: Explains how to use QuartzDebug to debug graphics issues.
Graphics & Imaging Technical Q&A 2006-01-12
Decompression Sessions - Setting codec accuracy and field mode (HTML)
QA1460: Describes how to set codec accuracy and field mode options when creating a decompression sessions.
QuickTime Technical Q&A 2006-01-12
QTMetaData (HTML) (DMG) (ZIP)
Demonstrates the QuickTime 7 MetaData APIs in a Carbon application.
QuickTime Sample Code 2006-01-12
Binary Data Programming Guide for Core Foundation (HTML) (PDF)
Explains how to create and use Core Foundation data objects, object-oriented wrappers for byte buffers.
Core Foundation, Data Management Guides 2006-01-10
filesystem_examples (HTML) (DMG) (ZIP)
Collection of command line tools illustrating filesystem features.
File Management Sample Code 2006-01-10
High Level Toolbox Release Notes (10.4) (HTML)
Human Interface Toolbox Release Note 2006-01-10
High Level Toolbox Release Notes (10.4.2) (HTML)
Human Interface Toolbox Release Note 2006-01-10
High Level Toolbox Release Notes (10.4.3) (HTML)
Human Interface Toolbox Release Note 2006-01-10
Ink Services Reference (HTML) (PDF)
Defines the C API for customizing handwriting recognition.
Events & Other Input Reference 2006-01-10
QuickTime Movie Basics (HTML) (PDF)
Introduces some of the basic concepts you need to understand when working with QuickTime movies.
QuickTime Guides 2006-01-10
QuickTime Music Architecture Guide (HTML) (PDF)
Explains how to enable synthesizing and playing of sounds and musical sequences.
Audio Guides 2006-01-10
Unicode Utilities Reference (HTML) (PDF)
Describes the C API that allows applications and input methods to operate on Unicode text.
Internationalization, Text & Fonts Reference 2006-01-10
CFMBonjourSample (HTML) (DMG) (ZIP)
CFMBonjourSample shows how to use the service discovery routines of CFNetServices from a CFM application.
Networking Sample Code 2006-01-03
Setting default open Finder window (HTML)
QA1449: How to set the default Finder window to open when a disk is mounted
File Management, Human Interface Toolbox Technical Q&A 2006-01-03
CFAttributedString Reference (HTML) (PDF)
Describes the opaque type for representing an immutable character string and associated set of attributes.
Data Management, Text & Fonts Reference 2005-12-06
CFMutableAttributedString Reference (HTML) (PDF)
Describes the opaque type for representing a mutable character string and associated set of attributes.
Data Management, Text & Fonts Reference 2005-12-06
Search Kit Programming Guide (HTML) (PDF)
Describes Search Kit architecture and workflow, and how to add search capabilities to Carbon and Cocoa applications.
Data Management, Text & Fonts, User Experience Guides 2005-12-06
How can I handle smooth mouse wheel scrolling? (HTML)
QA1453: Details an undocumented Carbon Event which will be added to the public headers in a later DevTools release.
Events & Other Input, Human Interface Toolbox Technical Q&A 2005-11-29
Moving Your Project from CodeWarrior to Xcode (HTML)
Get started moving your project from CodeWarrior to Xcode.
Porting, Tools Articles 2005-11-28
Bundle Programming Guide (HTML) (PDF)
Explains how to use Core Foundation bundle objects to organize resources.
Core Foundation, Resource Management Guides 2005-11-09
Carbon Overview (HTML) (PDF)
Defines Carbon and the components of Carbon applications. Provides a whirlwind tour of Carbon APIs.
General Guides 2005-11-09
EventMonitorTest (HTML) (DMG) (ZIP)
Receive notification of all keyboard, mouse, and tablet events passed to other processes.
Events & Other Input Sample Code 2005-11-09
Mac OS X ABI Dynamic Loader Reference (HTML) (PDF)
Describes the functions used to access Mach-O files.
Runtime Architecture Reference 2005-11-09
Mathematical and Logical Utilities Reference (HTML) (PDF)
Describes the C API for mathematical and logical data manipulation.
Data Management Reference 2005-11-09
Text Services Manager Reference (HTML) (PDF)
Describes the C API for communicating between client applications and provider modules.
Events & Other Input, Text & Fonts Reference 2005-11-09
Authorization Services C Reference (HTML) (PDF)
Describes the C API for adding fine-grained control of privileged operations in an application.
Security Reference 2005-11-08
The Sound of Opportunity Knocking: The Audio Units Community Takes Off (HTML)
Learn how one developer created a successful business using audio units.
Audio Articles 2005-10-31
TabsShowcase (HTML) (DMG) (ZIP)
Shows how to instantiate and use the Tab control both programmatically and from a nib file.
Human Interface Toolbox Sample Code 2005-10-28
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
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
Designing Network-Friendly Applications (HTML)
Learn to make your application management-aware and reliably accessible on a network.
Design Guidelines Articles 2005-10-24
Compression Sessions - Configuring codec quality settings (HTML)
QA1444: Discusses how to set encoding quality for a Compression Sequence
QuickTime Technical Q&A 2005-10-17
HICustomPushButton (HTML) (DMG) (ZIP)
Illustrates how to create a simple custom push button using the HIView functions introduced in Mac OS X 10.2.
Human Interface Toolbox Sample Code 2005-10-17
ImageMapView (HTML) (DMG) (ZIP)
Demonstrates how to add Accessibility to a complex custom HIView and the related parts of an application.
Accessibility, Human Interface Toolbox Sample Code 2005-10-17
LoginItemsAE (HTML) (DMG) (ZIP)
Uses Apple events to manipulate the list of login items (items launched when you log in).
Interapplication Communication, Process Management Sample Code 2005-10-17
Registering and unregistering for sleep notifications (HTML)
QA1340: Explains how applications can register and unregister for sleep notifications on Mac OS X.
Resource Management Technical Q&A 2005-10-17
CocoaInCarbon (HTML) (DMG) (ZIP)
Demonstrates using Cocoa GUI code in a Carbon application.
Design Guidelines, Runtime Architecture Sample Code 2005-10-04
ComboBoxPrefs (HTML) (DMG) (ZIP)
Use CFPrefs to store URLs to images for use in a browser style combo box.
Graphics & Imaging, Human Interface Toolbox Sample Code 2005-10-04
DisplayURL (HTML) (DMG) (ZIP)
Parses a passed in path URL into its various components displaying server information.
File Management Sample Code 2005-10-04
StopAlert and NoteAlert now use the Application icon (HTML)
QA1378: System Alerts now use the Application icon to let the User easily identify the source of the alert.
Human Interface Toolbox, User Experience Technical Q&A 2005-10-04
Taking Advantage of the Accelerate Framework (HTML)
Learn how your application can run on PowerPC- or Intel-based Macs without processor-specific customization.
Performance Articles 2005-10-03
Scoping Your Transition Projects (HTML)
Learn how to transition to Intel-based Macs.
Intel-Based Macs, Porting Articles 2005-09-27
Multilingual Text Engine Frequently Asked Questions (HTML) (日本語 HTML)
TN2026: A list of frequently asked questions for the Multilingual Text Engine (MLTE).
Human Interface Toolbox, Internationalization, Text & Fonts Technical Note 2005-09-12
AltiVec/SSE Migration Guide (HTML) (PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
Intel-Based Macs Guides 2005-09-08
HIToolbar Reference (HTML) (PDF)
Describes the C API for creating and manipulating toolbars in Carbon applications.
Human Interface Toolbox, User Experience Reference 2005-09-08
Internationalization Programming Topics (HTML) (PDF)
Explains how to support multiple languages in software.
Internationalization Guides 2005-09-08
Implementing a CVFillExtendedPixelsCallBack (HTML)
QA1440: Discusses how you implement a Core Video custom extended pixel fill callback function.
QuickTime Technical Q&A 2005-09-06
Registering custom pixel formats with QuickTime and Core Video (HTML)
QA1401: Discusses how to register custom pixel formats with QuickTime & Core Video with QuickTime 7.
QuickTime Technical Q&A 2005-09-06
Adopting Universal Binaries on Mac OS X (HTML)
Learn about universal binaries and how to get your applications ready for Intel-based Macs.
Intel-Based Macs, Porting Articles 2005-08-26
DialogsToHIViews (HTML) (DMG) (ZIP)
Shows how to convert from an old-style resource-based dialog to a modern nib-based window with HIViews.
Human Interface Toolbox Sample Code 2005-08-24
KillEveryOneButMe (HTML) (DMG) (ZIP)
Demonstrates how to terminate all other processes.
Process Management Sample Code 2005-08-24
WindowFun (HTML) (DMG) (ZIP)
Create window layers and groups. Drawing transparent lines. How to display the "Poof" the toolbar uses.
Human Interface Toolbox, User Experience Sample Code 2005-08-24
BrideOfMungGrab (HTML) (DMG) (ZIP)
Demonstrates the use of overlay windows and CG to draw text on captured video.
QuickTime Sample Code 2005-08-12
Core Foundation Design Concepts (HTML) (PDF)
Explains the fundamental design concepts that underlie all Core Foundation programming interfaces.
Core Foundation Guides 2005-08-11
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Core Foundation, Data Management, Internationalization Guides 2005-08-11
HIArchive Programming Guide (HTML) (PDF)
Describes how to store data objects using HIArchive. Also includes information to make custom HIObjects archivable.
Human Interface Toolbox, Interapplication Communication, User Experience Guides 2005-08-11
HIArchive Reference (HTML) (PDF)
Describes the C API for storing and retrieving data in HIArchives.
Human Interface Toolbox, Interapplication Communication, User Experience Reference 2005-08-11
HIObject Reference (HTML) (PDF)
Describes the C API for creating and manipulating human interface objects in Carbon applications.
Human Interface Toolbox, User Experience Reference 2005-08-11
QuickTime Overview (HTML) (PDF)
Introduces the main concepts and services of QuickTime.
QuickTime Guides 2005-08-11