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
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 2008-10-15
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 deprecated technology for working with dynamic memory.
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
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) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Resource Management Technical Q&As 2008-09-24
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.
Resource Management Technical Q&As 2008-08-08
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 2009-01-06
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)
Describes an interface for using 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 2009-02-04
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 interface 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
Authorization Services Programming Guide (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Security Guides 2009-01-06
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 2008-11-19
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes services to read and evaluate certificates and to use cryptographic keys.
Security Reference 2008-11-19
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 2009-05-06
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
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
Keychain Manager Reference (HTML) (PDF)
Describes the legacy C API for managing passwords for multiple users and databases. Replaced by Keychain Services.
Security Reference 2005-07-07
Keychain Services Programming Guide (HTML) (PDF)
This document explains how to use Keychain Services to store and retrieve passwords.
Security Guides 2009-03-12
Keychain Services Reference (HTML) (PDF)
Describes the Keychain Services API, used to create, find, modify, and delete keychain items.
Security Reference 2008-11-19
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
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Security Sample Code 2003-10-27
OS Services Framework Release Notes (HTML)
Security Release Notes 2007-10-31
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
Secure Transport Reference (HTML) (PDF)
Describes the C API for creating a Secure Sockets Layer session over any transport layer.
Security Reference 2004-08-31