Jump To:
Leopard 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
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
CFMutableAttributedString Reference (HTML) (PDF)
Describes a mutable character string and associated set of attributes.
Data Management Reference 2009-05-06
CFPrefTopScores (HTML) (DMG) (ZIP)
How to access globally shared (writable) user preferences without requiring authentication.
Data Management Sample Code 2006-10-09
CFXML to CFPropertyListRef (and back!) (HTML) (日本語 HTML)
QA1208: Describes to how save and restore a CFPropertyListRef to and from an XML file.
Data Management Technical Q&As 2003-08-29
Collection Manager Reference (HTML) (PDF)
Describes the C API for implementing an abstract data type that stores related pieces of information.
Data Management Reference 2003-04-01
Collections Programming Topics for Core Foundation (HTML) (PDF)
Explains how to group objects in arrays, sets, or dictionaries in Core Foundation.
Data Management Guides 2003-08-07
Core Endian Reference (HTML) (PDF)
Describes the C API for creating and installing callbacks to byte swap custom data.
Data Management Reference 2007-05-29
Data Formatting Guide for Core Foundation (HTML) (PDF)
Explains how to use Core Foundation formatters to create and validate text in text fields and other cells.
Data Management Guides 2006-12-21
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Data Management Guides 2005-08-11
Empty Memory Objects (HTML) (日本語 HTML)
QA1259: Describes how two memory management edge cases are handled by the common Mac OS memory allocators.
Data Management Technical Q&As 2003-04-21
Find By Content Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for performing relevance-ranked searches. Replaced by Search Kit.
Data Management Reference 2006-07-13
Fragment Tool (HTML) (DMG) (ZIP)
Demonstrates manipulation of code fragments; combining and separating; viewing and editing information associated with each.
Data Management Sample Code 2003-01-30
ListMania (HTML) (DMG) (ZIP)
Demonstrates a variety of techniques for using Open Transport's list utility routines.
Data Management Sample Code 2003-01-14
Locking and Unlocking Handles (HTML) (日本語 HTML)
Deprecated - TN1122: Explains Memory Manager handles: locking, unlocking, and preserving a handle's state.
Data Management Technical Notes 1998-02-01
Mathematical and Logical Utilities Reference (HTML) (PDF)
Describes the C API for mathematical and logical data manipulation.
Data Management Reference 2005-11-09
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Data Management Sample Code 2003-10-27
Non Mac OS X Bundled data-fork based Resources (HTML) (日本語 HTML)
QA1098: Mac OS X Bundled data-fork based Resources
Data Management Technical Q&As 2003-08-20
Preferences Programming Topics for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation user preferences.
Data Management Guides 2006-10-03
Property List Programming Topics for Core Foundation (HTML) (PDF)
Explains how to use structured, textual representations of data in Core Foundation.
Data Management Guides 2006-02-07
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 Guides 2005-12-06
Search Kit Reference (HTML) (PDF)
Describes the interface for supporting user searches of textual content.
Data Management Reference 2009-05-06
Securely Erasing, Accessing and Dismounting a Macintosh Partition (HTML) (日本語 HTML)
FL11: Set up a disk for secure erasures. Resources with information on magnetic disks, information recovery.
Data Management Technical Q&As 1999-01-11
SetIndString (HTML) (DMG) (ZIP)
Implements SetIndString(), which sets a particular STR# string to the passed in string. Similar to GetIndString()
Data Management Sample Code 2003-01-30
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Data Management Technical Q&As 2001-10-25
Simplifying Data Handling with Uniform Type Identifiers (HTML)
Learn to use UTIs to take advantage of key Mac OS X technologies in your application.
Data Management Articles 2005-07-12
Strings Programming Guide for Core Foundation (HTML) (PDF)
Explains how to create, manipulate, and search strings in Core Foundation, and how strings interact with encodings and character sets.
Data Management Guides 2008-03-11
Uniform Type Identifiers Overview (HTML) (PDF)
Describes uniform type identifiers and how to use them.
Data Management Guides 2008-04-08
XML Programming Topics for Core Foundation (HTML) (PDF)
Explains how to parse XML documents into structured objects.
Data Management Guides 2008-10-15
64-Bit Guide for Carbon Developers (HTML) (PDF)
Explains the changes necessary to create a 64-bit executable version of a Carbon application.
Design Guidelines Guides 2007-12-11
Accessibility Programming Guidelines for Carbon (HTML) (PDF)
Explains how to access-enable Carbon applications.
Design Guidelines Guides 2007-02-08
Adding an automated Window menu to your application (HTML)
QA1080: Explains how to add an automated Window menu to your Carbon application.
Design Guidelines Technical Q&As 2001-10-30
Apple Human Interface Guidelines (HTML) (PDF)
Introduces the Mac OS X user experience and explains how to design an application for Aqua.
Design Guidelines Guides 2008-06-09
Are there any OSStatus values I can use in my programs? (HTML)
OV02: Describes OSStatus values that generate errors without colliding with reserved Apple system values.
Design Guidelines Technical Q&As 1999-11-22
Carbon-Cocoa Integration Guide (HTML) (PDF)
Explains how to use both Carbon and Cocoa in developing an application.
Design Guidelines Guides 2007-10-31
CFBundleIdentifier and user application access (HTML)
QA1373: Describes the role of CFBundleIdentifier in limiting a user's application access.
Design Guidelines Technical Q&As 2005-02-08
CFPrefTopScores (HTML) (DMG) (ZIP)
How to access globally shared (writable) user preferences without requiring authentication.
Design Guidelines Sample Code 2006-10-09
CocoaInCarbon (HTML) (DMG) (ZIP)
Demonstrates using Cocoa GUI code in a Carbon application.
Design Guidelines Sample Code 2005-10-04
Creating NetBoot Server-Friendly Applications (HTML) (日本語 HTML)
TN1151: Guidelines to ensure applications are able to work correctly in a NetBoot environment.
Design Guidelines Technical Notes 2000-08-01
CrossEvents (HTML) (DMG) (ZIP)
Demonstrates how to send CarbonEvents and NSNotifications between Carbon and Cocoa.
Design Guidelines Sample Code 2007-05-31
Designing Network-Friendly Applications (HTML)
Learn to make your application management-aware and reliably accessible on a network.
Design Guidelines Articles 2005-10-24
Detecting specific ROM-in-RAM Mac (HTML) (日本語 HTML)
Deprecated - HW49: Identifying a Mac by name ("iMac"), and better alternatives for determining specific features ("has Firewire").
Design Guidelines Technical Q&As 1999-10-05
Enabling the application menu's "Preferences..." menu item on Mac OS X (HTML)
QA1079: Explains how to enable the application menu's "Preferences..." menu item on Mac OS X.
Design Guidelines Technical Q&As 2001-10-30
Ensuring Backwards Binary Compatibility - Weak Linking and Availability Macros on Mac OS X (HTML) (日本語 HTML)
TN2064: Ensuring that Mach-O applications built using today's Mac OS X runs on previous versions of the OS.
Design Guidelines Technical Notes 2003-02-18
Fragment Tool (HTML) (DMG) (ZIP)
Demonstrates manipulation of code fragments; combining and separating; viewing and editing information associated with each.
Design Guidelines Sample Code 2003-01-30
HIView-NSView (HTML) (DMG) (ZIP)
Demonstrates how to embed an NSView within an HIView in a Carbon window.
Design Guidelines Sample Code 2007-05-29
How To Be a Good Multiple Users Citizen (HTML) (日本語 HTML)
TN1186: Documents the Mac OS 9 Multiple Users technology and gives some useful code snippets.
Design Guidelines Technical Notes 2000-06-01
Leopard Technology Series for Developers: Leopard Developer Application Technologies Overview (HTML)
Learn how Leopard will help you create powerful and innovative features for your users.
Design Guidelines Articles 2006-12-07
Non Mac OS X Bundled data-fork based Resources (HTML) (日本語 HTML)
QA1098: Mac OS X Bundled data-fork based Resources
Design Guidelines Technical Q&As 2003-08-20
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Design Guidelines Technical Q&As 1997-10-13
The 'plst' Resource (HTML) (日本語 HTML)
TN2013: Describes the 'plst' resource for Carbon-based applications.
Design Guidelines Technical Notes 2002-02-07
QuickTime and Carbon Events (HTML)
QA1090: Discusses how to ensure smooth movie playback when using Carbon Events in an application.
Design Guidelines Technical Q&As 2001-10-26
Runtime Configuration Guidelines (HTML) (PDF)
Conceptual and reference information for dynamically configuring your software.
Design Guidelines Guides 2008-07-08
SampleCMPlugIn (HTML) (DMG) (ZIP)
A contextual menu plugIn for Mac OS X.
Design Guidelines Sample Code 2006-10-09
Securely Erasing, Accessing and Dismounting a Macintosh Partition (HTML) (日本語 HTML)
FL11: Set up a disk for secure erasures. Resources with information on magnetic disks, information recovery.
Design Guidelines Technical Q&As 1999-01-11
SpellingChecker-CocoaCarbon (HTML) (DMG) (ZIP)
Demonstrates how to call NSSpellChecker cocoa routines from a Carbon application.
Design Guidelines Sample Code 2005-08-10
Spotlight Overview (HTML) (PDF)
Introduces the main components and services of Apple's metadata technology.
Design Guidelines Guides 2007-05-27
TE Over Background (HTML) (DMG) (ZIP)
Deprecated - A textEdit that shows old text editing over a colored background
Design Guidelines Sample Code 2003-07-22
Thread-safe programming in QuickTime (HTML)
TN2125: Discusses how to use QuickTime from background threads for applications and component developers.
Design Guidelines Technical Notes 2007-09-14
TubeTest (HTML) (DMG) (ZIP)
Deprecated - The program is a simple demonstration of how to use the Palette Manager in a color program.
Design Guidelines Sample Code 2003-03-12
Version Territory (HTML)
Deprecated - OV12: Please see Technical Note 1132 - Version Territory.
Design Guidelines Technical Notes 1988-04-01
Xcode Design Tools for Class Modeling (HTML) (PDF)
Describes the Xcode Design Tools for Class Modeling.
Design Guidelines Guides 2009-02-04
Xcode Unit Testing Guide (HTML) (PDF)
Explains how to incorporate test cases to validate individual units of source code.
Design Guidelines Guides 2008-05-02
Apple Event Manager Reference (HTML) (PDF)
Describes the C API for interapplication communication using Apple events.
Events & Other Input Reference 2007-07-13
Apple Events Programming Guide (HTML) (PDF)
Provides conceptual information and programming examples for working with Apple events.
Events & Other Input Guides 2007-10-31
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Events & Other Input Sample Code 2003-06-12
Carbon Event Manager Programming Guide (HTML) (PDF)
Essential information for implementing Carbon events.
Events & Other Input Guides 2005-07-07
Carbon Event Manager Reference (HTML) (PDF)
Describes the C API for handling events in Carbon applications.
Events & Other Input Reference 2007-10-31
Carbon Pasteboards: Enhanced Data Sharing (HTML)
Learn how to add Clipboard support to your application, including copy and paste and drag and drop.
Events & Other Input Articles 2004-08-16
CarbonCocoaTempConverter (HTML) (DMG) (ZIP)
Demonstrates how to integrate Carbon and Cocoa user interfaces in the same Cocoa application.
Events & Other Input Sample Code 2008-03-10
CarbonInCocoa (HTML) (DMG) (ZIP)
How to use Carbon GUI code in a Cocoa application.
Events & Other Input Sample Code 2003-03-26
CrossEvents (HTML) (DMG) (ZIP)
Demonstrates how to send CarbonEvents and NSNotifications between Carbon and Cocoa.
Events & Other Input Sample Code 2007-05-31
DragAndDrop Shell (HTML) (DMG) (ZIP)
A Drag and Drop shell for producing QuickTime drag and drop tools.
Events & Other Input Sample Code 2003-01-14
Event Manager Reference (HTML) (PDF)
Deprecated - Describes the event-handling system created originally for Classic Mac OS and superseded by the Carbon Event Manager.
Events & Other Input Reference 2007-10-31
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
FinderDragPro (HTML) (DMG) (ZIP)
Sample file illustrating drag and drop techniques for use with file system objects.
Events & Other Input Sample Code 2003-01-14
Frequently Asked Text Services Manager (TSM) Questions (HTML)
TN2128: Regroups a collection of Text Services Manager (TSM) questions frequently asked by Input Method Developers
Events & Other Input Technical Notes 2005-06-24
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 Technical Q&As 2005-11-29
Ink Services Reference (HTML) (PDF)
Defines the C API for customizing handwriting recognition.
Events & Other Input Reference 2006-01-10
Keyboard Layout Services Reference (HTML) (PDF)
Describes the C API for managing key-to-character mappings used to support various languages.
Events & Other Input Reference 2002-11-18
LocalServer (HTML) (DMG) (ZIP)
Deprecated - Sample demonstrates how a Classic process can communicate with a Mac OS X process using IP networking protocols.
Events & Other Input Sample Code 2003-01-30
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Events & Other Input Sample Code 2003-10-27
Notification Manager Reference (HTML) (PDF)
Describes the C API used by background applications to communicate information to the user.
Events & Other Input Reference 2002-12-01
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Events & Other Input Technical Q&As 1997-10-13
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Events & Other Input Technical Q&As 2002-02-13
Process Carbon Events Not Delivered in 10.2 (HTML) (日本語 HTML)
QA1181: Work around for a bug in Mac OS X 10.2 that prevents the delivery of process Carbon events.
Events & Other Input Technical Q&As 2002-08-27
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Events & Other Input Technical Q&As 2008-09-24
QDFlushPortBuffer (HTML) (日本語 HTML)
QD65: Describes a possible solution for window update problems under Carbon.
Events & Other Input Technical Q&As 2000-11-08
Quartz Event Services Reference (HTML) (PDF)
Describes the C API for event taps, filters used to observe and alter the stream of low-level user input events.
Events & Other Input Reference 2007-10-31
SetFontInfoForSelection incorrect prototype (HTML)
QA1375: Describes the incorrect prototyping of the SetFontInfoForSelection API and gives a workaround.
Events & Other Input Technical Q&As 2004-10-04
SetMouseAcclSample (HTML) (DMG) (ZIP)
Find HID System Manager and get/set cursor acceleration
Events & Other Input Sample Code 2006-11-28
Speech Recognition Manager Reference (HTML) (PDF)
Describes the C interface for recognizing and accepting spoken input.
Events & Other Input Reference 2003-02-01
Supporting Unicode Input (HTML) (PDF)
Introduces international text in Mac OS X and lists the tasks an application needs to perform.
Events & Other Input Guides 2005-07-07
Text Services Manager Reference (HTML) (PDF)
Describes the C API for communicating between client applications and provider modules.
Events & Other Input Reference 2005-11-09
Understanding Text Input and the Text Services Manager in Carbon (HTML) (PDF)
Discusses keyboard input, including Unicode, and explains how events are routed and handled.
Events & Other Input Guides 2002-12-11
Using Ink Services in Your Application (HTML) (PDF)
Explains how Ink Services works and how to customize handwriting recognition.
Events & Other Input Guides 2003-07-24
Using Secure Event Input Fairly (HTML)
TN2150: Describes the proper use of EnableSecureEventInput.
Events & Other Input Technical Notes 2007-06-08
WaitMouseUp documentation errata (HTML)
QA1008: Specifies the correct behavior of the WaitMouseUp function.
Events & Other Input Technical Q&As 2001-02-27
Watcher (HTML) (DMG) (ZIP)
Uses FSEvents to monitor a directory hierarchy to keep track of its total size
Events & Other Input Sample Code 2006-08-04
The "/.vol" directory and "volfs" (HTML) (日本語 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
Accessing File Control Blocks (HTML) (日本語 HTML)
FL10: Shows how to access file control blocks correctly, reiterating not to access FCBs directly.
File Management Technical Q&As 1999-10-05
AddNibToNav (HTML) (DMG) (ZIP)
Shows how to create a custom area, instantiated from a nib file, in a Navigation Services dialog.
File Management Sample Code 2004-01-22