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
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
WhackedTV (HTML) (DMG) (ZIP)
A Cocoa version of the venerable HackTV sample code, demonstrating usage of the Sequence Grabber API's
QuickTime Sample Code 2008-05-09
Bundle Programming Guide (HTML) (PDF)
Explains how to use Core Foundation bundle objects to organize resources.
Resource Management Guides 2005-11-09
Carbon Core Release Notes (HTML)
Resource Management Release Notes 2007-10-31
CFPrefTopScores (HTML) (DMG) (ZIP)
How to access globally shared (writable) user preferences without requiring authentication.
Resource Management Sample Code 2006-10-09
CPUGestalt (HTML) (DMG) (ZIP)
Deprecated - Shows how to determine the processor type of the Macintosh you're running on.
Resource Management Sample Code 2003-10-27
Customizing Process Stack Size (HTML)
QA1419: Describes methods for setting the stack size of a process and/or thread.
Resource Management Technical Q&As 2008-02-20
Fragment Tool (HTML) (DMG) (ZIP)
Demonstrates manipulation of code fragments; combining and separating; viewing and editing information associated with each.
Resource Management Sample Code 2003-01-30
Gestalt Manager Reference (HTML) (PDF)
Describes the C API for obtaining information about the operating-system environment.
Resource Management Reference 2007-10-31
Locking and Unlocking Handles (HTML) (日本語 HTML)
Deprecated - TN1122: Explains Memory Manager handles: locking, unlocking, and preserving a handle's state.
Resource Management Technical Notes 1998-02-01
Low Memory Accessors Reference (HTML) (PDF)
Describes the C API for obtaining information stored in low-memory variables.
Resource Management Reference 2006-07-13
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
Memory Management Programming Guide for Core Foundation (HTML) (PDF)
Explains how to allocate and deallocate objects in Core Foundation.
Resource Management Guides 2007-04-03
Memory Management Utilities Reference (HTML) (PDF)
Describes the C API for accessing global variables and managing the operating-system queue.
Resource Management Reference 2006-07-12
Memory Manager Reference (HTML) (PDF)
Describes the C API for controlling dynamic allocation of memory in versions of the Macintosh operating system prior to Mac OS X.
Resource Management Reference 2007-06-27
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Resource Management Sample Code 2003-10-27
NoCopyReceives (HTML) (DMG) (ZIP)
Demonstrates using no-copy receives under Open Transport.
Resource Management Sample Code 2003-01-14
Non Mac OS X Bundled data-fork based Resources (HTML) (日本語 HTML)
QA1098: Mac OS X Bundled data-fork based Resources
Resource Management 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.
Resource Management Technical Q&As 1997-10-13
Power Manager Reference (HTML) (PDF)
Describes the legacy C API for controlling power to the internal hardware devices of battery-powered Macintosh computers.
Resource Management Reference 2006-07-13
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Resource Management Technical Q&As 2008-01-23
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&As 2005-10-17
Resource forks in Mach-O binaries (HTML) (日本語 HTML)
QA1175: Advises against using resource forks in Mach-O binaries.
Resource Management Technical Q&As 2002-08-07
Resource Manager Reference (HTML) (PDF)
Describes the C API for accessing information stored in resource files.
Resource Management Reference 2007-10-31
Resource Programming Guide (HTML) (PDF)
Explains how to work with nib and bundle resources in Mac OS X applications.
Resource Management Guides 2007-09-04
SampleCMPlugIn (HTML) (DMG) (ZIP)
A contextual menu plugIn for Mac OS X.
Resource Management Sample Code 2006-10-09
SCSI Manager Reference (HTML) (PDF)
Deprecated - Describes the C API for accessing SCSI devices in Classic Mac OS. Replaced by the I/O Kit.
Resource Management Reference 2006-07-12
SetIndString (HTML) (DMG) (ZIP)
Implements SetIndString(), which sets a particular STR# string to the passed in string. Similar to GetIndString()
Resource Management Sample Code 2003-01-30
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Resource Management Technical Q&As 2001-10-25
Time Manager Reference (HTML) (PDF)
Describes the C API for scheduling routines for execution at a later time.
Resource Management Reference 2006-03-08
The 'vers' Resource and Your Place in the World (HTML)
TX14: Setting the correct country code in the 'vers' resource to reflect the application's localization.
Resource Management Technical Q&As 2000-05-01
BasicPlugIn (HTML) (DMG) (ZIP)
Uses the CFPlugin to locate, load, execute plugin. Derived from the SillyBalls sample.
Runtime Architecture Sample Code 2003-07-28
Browser Plugins in Mac OS X (HTML) (日本語 HTML)
TN2020: Describes the format of web browser plugins for Mac OS X.
Runtime Architecture Technical Notes 2001-05-31
CallMachOFramework (HTML) (DMG) (ZIP)
Shows two ways of calling a Mach-O framework from a CFM application on Mac OS X.
Runtime Architecture Sample Code 2003-07-17
CFM_MachO_CFM (HTML) (DMG) (ZIP)
CFM application calls Mach-O routine, passing in a fixed up CFM function pointer as a callback parameter.
Runtime Architecture Sample Code 2003-07-17
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
CocoaInCarbon (HTML) (DMG) (ZIP)
Demonstrates using Cocoa GUI code in a Carbon application.
Runtime Architecture Sample Code 2005-10-04
Code Fragment Manager Reference (HTML) (PDF)
Describes the C API for loading and preparing PEF binaries.
Runtime Architecture Reference 2005-07-07
Component Manager Reference (HTML) (PDF)
Explains how to enable applications to find and use shared code resources.
Runtime Architecture Reference 2006-07-17
Detecting Classic and Carbon X Environments (HTML) (日本語 HTML)
OV03: Describes how to find out if your application is running in the Classic environment in Mac OS X.
Runtime Architecture Technical Q&As 2000-10-16
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").
Runtime Architecture Technical Q&As 1999-10-05
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.
Runtime Architecture Technical Notes 2003-02-18
Environment Variables (HTML)
QA1255: Describes how a process gets its environment variables.
Runtime Architecture Technical Q&As 2003-10-29
Fragment Tool (HTML) (DMG) (ZIP)
Demonstrates manipulation of code fragments; combining and separating; viewing and editing information associated with each.
Runtime Architecture Sample Code 2003-01-30
How do I use kMPCreateTaskSuspendedMask with MPCreateTask? (HTML)
QA1055: Describes how to start a task that has been suspended with the ability to resume it later.
Runtime Architecture Technical Q&As 2001-07-02
In Search of Missing Links (HTML) (日本語 HTML)
TN1127: Demonstrates how to write CFM glue code which can call classic 68K A-Trap routines.
Runtime Architecture Technical Notes 1998-05-01
LocalServer (HTML) (DMG) (ZIP)
Deprecated - Sample demonstrates how a Classic process can communicate with a Mac OS X process using IP networking protocols.
Runtime Architecture Sample Code 2003-01-30
Locating Application Support Files under Mac OS X (HTML) (日本語 HTML)
TN2015: Describes different methods for an application to determine its location.
Runtime Architecture Technical Notes 2001-03-27
Locking and Unlocking Handles (HTML) (日本語 HTML)
Deprecated - TN1122: Explains Memory Manager handles: locking, unlocking, and preserving a handle's state.
Runtime Architecture Technical Notes 1998-02-01
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 Mach-O File Format Reference (HTML) (PDF)
Describes the data structures that make up the Mach-O file format.
Runtime Architecture Reference 2007-04-26
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
Mixed Mode Manager Reference (HTML) (PDF)
Describes the C API that supports PowerPC computers running 680x0 code.
Runtime Architecture Reference 2003-04-01
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Runtime Architecture Sample Code 2003-10-27
Moving Your Code to Mac OS X (HTML) (日本語 HTML)
TN2003: Talks about considerations for moving older Mac OS 9 applications to Mac OS X.
Runtime Architecture Technical Notes 2000-10-05
Non Mac OS X Bundled data-fork based Resources (HTML) (日本語 HTML)
QA1098: Mac OS X Bundled data-fork based Resources
Runtime Architecture 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.
Runtime Architecture Technical Q&As 1997-10-13
Pascal String Utilities Reference (HTML) (PDF)
Describes the C API for manipulating Pascal strings in Carbon applications.
Runtime Architecture Reference 2006-07-12
The 'plst' Resource (HTML) (日本語 HTML)
TN2013: Describes the 'plst' resource for Carbon-based applications.
Runtime Architecture Technical Notes 2002-02-07
Plug-ins (HTML) (PDF)
Explains how to use the plug-in architecture provided by Core Foundation.
Runtime Architecture Guides 2005-03-03
PowerPC G5 Performance Primer (HTML) (日本語 HTML)
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
Runtime Architecture Technical Notes 2003-09-03
Resource forks in Mach-O binaries (HTML) (日本語 HTML)
QA1175: Advises against using resource forks in Mach-O binaries.
Runtime Architecture Technical Q&As 2002-08-07
SDKExample (HTML) (DMG) (ZIP)
Shows how to weak-link against the Carbon framework in various SDKs to adopt new OS features in a single executable.
Runtime Architecture Sample Code 2005-06-06
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Runtime Architecture Technical Q&As 2001-10-25
SpellingChecker CarbonCocoa Bundled (HTML) (DMG) (ZIP)
How to load and call a Cocoa bundle from a Carbon CFM or Mach-O application
Runtime Architecture Sample Code 2004-08-17
SpellingChecker-CarbonCocoa (HTML) (DMG) (ZIP)
Implements procedural C wrapper around the Cocoa NSSpellChecker, exports it as a Mach-O bundle called "SpellCheck.bundle"
Runtime Architecture Sample Code 2003-01-14
SpellingChecker-CocoaCarbon (HTML) (DMG) (ZIP)
Demonstrates how to call NSSpellChecker cocoa routines from a Carbon application.
Runtime Architecture Sample Code 2005-08-10
Static linking of user binaries on Mac OS X (HTML) (日本語 HTML)
QA1118: Explains why static linking of user binaries is not supported on Mac OS X, and possible workarounds.
Runtime Architecture Technical Q&As 2002-02-07
Storing file references in CFPreferences (HTML)
QA1350: Storing file references in CFPreferences
Runtime Architecture Technical Q&As 2005-02-23
Targeting DebuggingCarbonLib asserts (HTML)
Deprecated - QA1033: Describes how to focus DebuggingCarbonLib asserts to a single application.
Runtime Architecture Technical Q&As 2001-05-04
Threading Architectures (HTML) (日本語 HTML)
TN2028: Describes the various threading APIs on Mac OS 9 and Mac OS X.
Runtime Architecture Technical Notes 2001-08-08
Tuning for G5: A Practical Guide (HTML) (日本語 HTML)
TN2086: Explains how to get started tuning your application for the new Macintosh G5 architecture.
Runtime Architecture Technical Notes 2003-10-01
Version Territory (HTML) (日本語 HTML)
TN1132: Clarifies the format of data in the NumVersion structure used in a version ( 'vers') resource.
Runtime Architecture Technical Notes 2003-08-25
Virtual Memory Application Compatibility (HTML)
Deprecated - TN1094: Provides an introduction to how virtual memory works under Traditional Mac OS.
Runtime Architecture Technical Notes 1998-04-01
Weak-Linking to a Code Fragment Manager-based Shared Library (HTML) (日本語 HTML)
TN1083: Describes weak-linking to CFM shared libraries.
Runtime Architecture Technical Notes 1996-11-01
Apple Event Manager Reference (HTML) (PDF)
Describes the C API for interapplication communication using Apple events.
Scripting & Automation Reference 2007-07-13
Apple Events Programming Guide (HTML) (PDF)
Provides conceptual information and programming examples for working with Apple events.
Scripting & Automation Guides 2007-10-31
AppleScript Language Guide (HTML) (PDF)
Defines the AppleScript scripting language. Includes many brief sample scripts.
Scripting & Automation Guides 2008-03-11
AppleScript Overview (HTML) (PDF)
Introduces the technology for writing scripts to control applications. Useful for scripters and application developers.
Scripting & Automation Guides 2007-10-31
AppleScript Studio Terminology Reference (HTML) (PDF)
Describes the scripting terminology for AppleScript Studio, through version 1.4.
Scripting & Automation Reference 2007-10-31
AppleScript Terminology and Apple Event Codes Reference (HTML)
Lists terms used in AppleScript, AppleScript Studio, and Standard Additions with their matching codes.
Scripting & Automation Release Notes 2006-06-28
Open Scripting Architecture Reference (HTML) (PDF)
Describes the API for compiling and executing scripts in applications and writing scripting components.
Scripting & Automation Reference 2007-05-07
SampleCMPlugIn (HTML) (DMG) (ZIP)
A contextual menu plugIn for Mac OS X.
Scripting & Automation Sample Code 2006-10-09
Scripting Interface Guidelines (HTML)
TN2106: Directions for providing a clean and consistent scripting interface for your application.
Scripting & Automation Technical Notes 2004-03-01
XML-RPC and SOAP Programming Guide (HTML) (PDF)
Explains how to make remote procedure calls from applications or from AppleScript scripts.
Scripting & Automation Guides 2005-03-03
Authorization for Everyone (HTML)
TN2095: Describes applications of Authorization Services beyond simple privilege requesting.
Security Technical Notes 2008-01-30
Authorization Plug-in Reference (HTML) (PDF)
Describes the C API for implementing an authorization plug-in.
Security Reference 2007-05-15
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
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Security Sample Code 2003-06-12
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Security Guides 2004-06-28
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Security Guides 2004-06-28
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes the C API for managing certificates, public and private keys, and trust policies.
Security Reference 2005-03-03
CFBundleIdentifier and user application access (HTML)
QA1373: Describes the role of CFBundleIdentifier in limiting a user's application access.
Security Technical Q&As 2005-02-08
CFNetwork Programming Guide (HTML) (PDF)
Explains how to use Core Foundation networking functions to work with low-level BSD sockets.
Security Guides 2008-03-11
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
Security Guides 2007-05-15
Code Signing Release Notes (HTML)
Security Release Notes 2007-10-31
Cryptographic Message Syntax Services Reference (HTML) (PDF)
Describes the API for encrypting, signing, and decoding messages using Cryptographic Message Syntax (CMS).
Security Reference 2007-10-31
CryptoSample (HTML) (DMG) (ZIP)
Contains sample code showing symmetric encryption and message digest calculation.
Security Sample Code 2003-02-06
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
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.
Security Sample Code 2005-10-27
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