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
Sorted by
Resource Type
Sort by
Date
MPFileCopy (HTML) (DMG) (ZIP)
Demonstrates how to copy a folder and its contents using the HFS Plus APIs from an MP task.
File Management, Process Management Sample Code 2003-01-14
NamingTableAccess (HTML) (DMG) (ZIP)
Digs out the contents of the NamingTable in a TrueType 'sfnt'.
Text & Fonts Sample Code 2003-01-14
NewCCursor (HTML) (DMG) (ZIP)
Deprecated - Shows how to create a black and white 'CURS' and a color 'crsr' cursor resource by hand.
Graphics & Imaging, User Experience Sample Code 2003-01-14
NoCopyReceives (HTML) (DMG) (ZIP)
Demonstrates using no-copy receives under Open Transport.
Networking, Resource Management Sample Code 2003-01-14
NSLMiniBrowser (HTML) (DMG) (ZIP)
Deprecated - Uses the NSL API to find network services using SLP, NBP, and Directory Services.
Networking Sample Code 2003-01-14
ODOC (HTML) (DMG) (ZIP)
Illustrates how to send an open document ('odoc') Apple event to another application process.
Interapplication Communication Sample Code 2003-01-14
OT Virtual Server (HTML) (DMG) (ZIP)
Deprecated - Sample code which uses Open Transport and demonstrates real world issues.
Networking Sample Code 2003-01-14
OTLookupNameTest (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to lookup NBP entities on an AppleTalk network using Open Transport.
Networking Sample Code 2003-01-14
PDEProject (HTML) (DMG) (ZIP)
Deprecated - Demonstrates an application-hosted printing dialog extension (PDE) that displays a custom pane in the Print dialog.
Printing Sample Code 2003-01-14
Play Video Sample (HTML) (DMG) (ZIP)
Deprecated - The sample makes use of the RequestVideo sample code API.
Graphics & Imaging Sample Code 2003-01-14
PThreadSorts (HTML) (DMG) (ZIP)
Applies various sorting algorithms to pictures using POSIX threads (pthreads) on Mac OS X.
Process Management Sample Code 2003-01-14
PutAwayVolumes (HTML) (DMG) (ZIP)
Deprecated - Demonstrates several ways to unmount a volume and which contexts might require which techniques.
File Management, Interapplication Communication Sample Code 2003-01-14
qtshellCEvents (HTML) (DMG) (ZIP)
A Carbon event based movie viewer framework which demonstrates how to incorporate movie support into an application.
QuickTime Sample Code 2003-01-14
resolveRelativeAlias (HTML) (DMG) (ZIP)
Demonstrates the steps involved in creating and resolving a relative alias.
File Management Sample Code 2003-01-14
SignatureToApp (HTML) (DMG) (ZIP)
Deprecated - Takes a signature (creator code) and finds the corresponding application, running or on disk.
File Management, Process Management Sample Code 2003-01-14
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
SSLSample (HTML) (DMG) (ZIP)
Contains examples showing how to use SecureTransport.
Security Sample Code 2003-01-14
StyleFlatteningSample (HTML) (DMG) (ZIP)
Shows how to use the ATSUFlatten and ATSUUnflatten APIs.
Text & Fonts Sample Code 2003-01-14
TimeZone.Daylight (HTML) (DMG) (ZIP)
Deprecated - Shows how to read the current location and time zone that is set in Date & Time.
Text & Fonts Sample Code 2003-01-14
VelEng FFT (HTML) (DMG) (ZIP)
G4 Velocity Engine implementation of Fast Fourier Transform (FFT) and associated convolution/correlation routines.
Tools Sample Code 2003-01-14
Observing Process Lifetimes Without Polling (HTML)
TN2050: Shows a variety of methods to observe process lifetimes without polling.
Process Management Technical Notes 2008-09-10
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
Scripting Additions for Mac OS X (HTML) (日本語 HTML)
TN1164: Talks about how to create AppleScript scripting additions (OSAX) for Mac OS X.
Interapplication Communication Technical Notes 2008-04-24
Authorization for Everyone (HTML)
TN2095: Describes applications of Authorization Services beyond simple privilege requesting.
Security Technical Notes 2008-01-30
New HID Manager APIs for Mac OS X version 10.5 (HTML)
TN2187: Mac OS X version 10.5 introduces new APIs for the HID Manager.
Games, Porting Technical Notes 2008-01-23
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
Thread-safe programming in QuickTime (HTML)
TN2125: Discusses how to use QuickTime from background threads for applications and component developers.
Design Guidelines, QuickTime Technical Notes 2007-09-14
Using Secure Event Input Fairly (HTML)
TN2150: Describes the proper use of EnableSecureEventInput.
Events & Other Input, Security Technical Notes 2007-06-08
Saving Printer Settings for Automatic Printing (HTML)
TN2155: Describes how you can save a a user selected Printer, Print Settings and Page Format to disk.
Printing Technical Notes 2007-03-29
Playing a sound file using the Default Output Audio Unit (HTML)
TN2097: Playing an Audio File using the Default Output Audio Unit
Audio Technical Notes 2006-11-15
The Font Panel for Carbon API (HTML) (日本語 HTML)
TN2058: The API to display and interact with the Font Panel from Carbon applications on Mac OS X.
Graphics & Imaging Technical Notes 2006-10-26
Uniquely Identifying a Macintosh Computer (HTML) (日本語 HTML)
TN1103: How to identify a specific Macintosh computer.
Security Technical Notes 2006-04-25
Coalesced Updates (HTML)
TN2133: How to achieve the maxium frame rate in your Mac OS X application
Graphics & Imaging Technical Notes 2006-01-20
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 Notes 2005-09-12
Building Universal QuickTime Components for Mac OS X (HTML) (日本語 HTML)
TN2012: Discusses the changes necessary to build Universal Mach-O QuickTime Components for Mac OS X.
QuickTime Technical Notes 2005-07-21
Memory Allocation Recommendations on Mac OS X (HTML)
TN2130: Recommends the best ways to allocate memory on Mac OS X.
Performance Technical Notes 2005-07-12
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, Text & Fonts Technical Notes 2005-06-24
OpenGL Release Highlights - Mac OS X 10.3 Panther (HTML)
TN2131: Contains a list of bugs along with a short description on a release-by-release basis
Games, Graphics & Imaging Technical Notes 2005-02-04
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Audio Technical Notes 2004-06-14
HFS Plus Volume Format (HTML) (日本語 HTML)
TN1150: Describes the physical layout of an HFS Plus volume.
File Management Technical Notes 2004-03-05
Scripting Interface Guidelines (HTML)
TN2106: Directions for providing a clean and consistent scripting interface for your application.
Scripting & Automation Technical Notes 2004-03-01
Mac OS X 10.3 Navigation Services Changes (HTML) (日本語 HTML)
TN2105: Explains Navigation Services changes in Mac OS X 10.3 Panther
Human Interface Toolbox Technical Notes 2004-01-30
Understanding and Detecting OpenGL Functionality (HTML)
TN2080: Discusses OpenGL API design, and how to access the full power of hardware and software renderers.
Graphics & Imaging Technical Notes 2003-12-29
The Enhanced Print Apple Event (HTML)
TN2082: Describes an enhancement to the print Apple event that gives developers more control over scripted printing.
Printing Technical Notes 2003-12-09
HIView APIs vs. Control Manager APIs (HTML)
TN2074: Provides some clarification on the similar APIs and similar behaviors found in the HIView and Control Managers.
Human Interface Toolbox Technical Notes 2003-10-29
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
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
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
Glyph Access Protocol (HTML) (日本語 HTML)
TN2079: How to support unencoded glyphs using the TSM, ATSUI and Cocoa.
Text & Fonts Technical Notes 2003-05-06
Migrating to FSRefs & long Unicode names from FSSpecs (HTML) (日本語 HTML)
TN2078: Answers and coding techniques to commonly asked questions about adopting FSRefs and long file names.
File Management Technical Notes 2003-05-06
Guide to Creating Kiosks on Mac OS X (HTML) (日本語 HTML)
TN2062: Discusses techniques used in creating applications which require kiosk-like functionality on Mac OS X.
Human Interface Toolbox, User Experience Technical Notes 2003-02-24
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, Runtime Architecture Technical Notes 2003-02-18
Mac OS X QuickDraw Performance (HTML) (日本語 HTML)
TN2051: Some of the trouble spots in the Mac OS X windowing system and how to avoid them.
Graphics & Imaging, Performance Technical Notes 2003-02-13
Using collection classes safely with multithreaded applications (HTML) (日本語 HTML)
TN2059: Describes some problems with and workarounds for using mutable collection classes in multithreaded applications.
Process Management Technical Notes 2002-09-10
Mac OS X 10.2 (HTML)
TN2053: Describes software development-related changes provided in system software update Mac OS X 10.2.
Tools Technical Notes 2002-09-04
Exclusive File Access in Mac OS X (HTML) (日本語 HTML)
TN2037: Covers exclusive file access In Mac OS X
File Management Technical Notes 2002-05-01
AEStream and Friends (HTML) (日本語 HTML)
TN2046: Describes the AEStream family of routines.
Interapplication Communication, Process Management Technical Notes 2002-03-29
AEBuild*, AEPrint* and Friends (HTML) (日本語 HTML)
TN2045: Describes the AEBuild* and AEPrint* family of routines.
Interapplication Communication, Process Management Technical Notes 2002-03-21
Mac OS X: v10.1.1 - v10.1.3 (HTML)
TN2043: Describes changes provided by system software updates 10.1.1 through 10.1.3.
Tools Technical Notes 2002-03-06
The 'plst' Resource (HTML) (日本語 HTML)
TN2013: Describes the 'plst' resource for Carbon-based applications.
Design Guidelines, Process Management, Runtime Architecture Technical Notes 2002-02-07
How to use the ATSUI Low Level APIs to get glyph outlines (HTML) (日本語 HTML)
TN2033: Covers the ATSUI low-level APIs.
Human Interface Toolbox Technical Notes 2001-11-26
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
Threading Architectures (HTML) (日本語 HTML)
TN2028: Describes the various threading APIs on Mac OS 9 and Mac OS X.
Process Management, Runtime Architecture Technical Notes 2001-08-08
The Death of typeFSSpec: moving along to typeFileURL (HTML) (日本語 HTML)
TN2022: Discusses the typeFileURL format and using it to pass file references between applications in Mac OS X.
File Management, Interapplication Communication, Process Management Technical Notes 2001-06-07
Browser Plugins in Mac OS X (HTML) (日本語 HTML)
TN2020: Describes the format of web browser plugins for Mac OS X.
Process Management, Runtime Architecture Technical Notes 2001-05-31
Using Launch Services for discovering document binding and launching applications (HTML) (日本語 HTML)
TN2017: Interface to starting applications, opening documents either with a specific application, or using the default application.
File Management, Process Management Technical Notes 2001-04-17
Locating Application Support Files under Mac OS X (HTML) (日本語 HTML)
TN2015: Describes different methods for an application to determine its location.
File Management, Process Management, Runtime Architecture Technical Notes 2001-03-27
The CGDirectPalette API (HTML) (日本語 HTML)
TN2008: Provides a reference for the CGDirectPalette API on Mac OS X
Graphics & Imaging, User Experience Technical Notes 2000-11-08
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, User Experience Technical Notes 2000-10-05
File Manager Performance and Caching (HTML)
FL16: Discusses traditional Mac OS file system input/output performance issues and the File Manager's volume cache.
File Management Technical Notes 2000-09-01
Dialog Manager Helper Functions (HTML) (日本語 HTML)
TN1148: Discusses Dialog Manager calls available since System 7.0 that minimize work in managing dialogs.
Human Interface Toolbox Technical Notes 2000-08-14
File Manager File Handling Q&As (HTML)
FL515: Contains an archive of Q&As related to the Mac OS File Manager.
File Management Technical Notes 2000-08-14
On Drag Manager Additions (Release 1.1) (HTML)
TN1043: Explains how to take advantage of the new Drag Manager features, including the translucent dragging.
Human Interface Toolbox Technical Notes 2000-08-14
Pending Update Perils (HTML) (日本語 HTML)
Deprecated - TN1147: Discusses potential problems when pending update events for windows behind modal dialogs are not serviced.
Human Interface Toolbox Technical Notes 2000-08-14
Power Manager 2.0 (HTML) (日本語 HTML)
TN1190: Describes the Macintosh Power Manager 2.0.
Process Management Technical Notes 2000-08-14
Update: Borrowed AFP Sessions (HTML) (日本語 HTML)
TN1106: Shows how to borrow the session reference number of an AFP volume mounted by the Macintosh File System.
Networking Technical Notes 2000-08-14
Working with Multiprocessing Services (HTML) (日本語 HTML)
TN1071: Discusses some techniques for use with Apple's Multiprocessing Services APIs.
Process Management Technical Notes 2000-08-14
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
On Launching an App with a Document (HTML) (日本語 HTML)
TN1002: Explains how to programatically launch an application and then tell it to open a document.
File Management, Interapplication Communication Technical Notes 2000-07-01
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
Digital CD Audio (HTML) (日本語 HTML)
TN1187: Describes digital audio on the Macintosh.
Audio Technical Notes 2000-04-01
Resolving Alias Files Quietly (HTML)
FL30: Describes how to resolve alias files on remote volumes without user interaction.
File Management Technical Notes 1999-11-01
You Want Permission to do What?!! (HTML)
FL37: Provides an-depth discussion of the File Manager and AFP permission models.
File Management Technical Notes 1999-04-01
The Preferences Problem (HTML) (日本語 HTML)
Deprecated - TN1134: Outlines typical problems with preferences files and some of their solutions.
File Management Technical Notes 1998-10-01
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
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
Locking and Unlocking Handles (HTML) (日本語 HTML)
Deprecated - TN1122: Explains Memory Manager handles: locking, unlocking, and preserving a handle's state.
Data Management, Process Management, Resource Management, Runtime Architecture Technical Notes 1998-02-01
Open Transport STREAMS FAQ (HTML)
Deprecated - TN1117: Decribes writing STREAMS modules and drivers for use with Open Transport.
Networking Technical Notes 1997-12-01
Programmatic Mounting of AppleShare Volumes (HTML) (日本語 HTML)
TN1111: Mount an AppleShare volume using PBVolumeMount. AFPVolMountInfo structure is defined along with the AFPXVolMountInfo structure.
File Management Technical Notes 1997-10-01
Using the Drag Manager to Interact with and Manipulate File System Entities (HTML) (日本語 HTML)
TN1085: Details the data flavors provided by the Drag Manager for interacting with and manipulating file system entities.
File Management, Human Interface Toolbox, User Experience Technical Notes 1996-12-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
The Notification Manager: Problems & Fixes (HTML)
TN1026: Describes issues with the Notification Manager 'activate' and 'update' events.
Process Management Technical Notes 1996-02-01
Gestalt Manager Q&As (HTML)
Deprecated - OS505: Describes methods utilizing the Gestalt Manager for determining whether a Macintosh is a U.S. machine.
User Experience Technical Notes 1992-12-01
Pascal to C: PROCEDURE Parameters (HTML)
Deprecated - PT31: Nested procedures and PROCEDURE parameters in Pascal when converting them into C or C++.
Porting Technical Notes 1990-02-01
Searching Volumes - Solutions and Problems (HTML)
Deprecated - FL31: Discusses searching volumes using PBCatSearch.
File Management Technical Notes 1988-10-01
Version Territory (HTML)
Deprecated - OV12: Please see Technical Note 1132 - Version Territory.
Design Guidelines, File Management Technical Notes 1988-04-01
FSDeleteObject fails with fBsyErr, sometimes (HTML)
QA1497: Why Spotlight indexing can cause file deletion to fail, and what to do about it.
File Management Technical Q&As 2008-09-24
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Events & Other Input, Process Management, Resource Management Technical Q&As 2008-09-24
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Performance Technical Q&As 2008-09-16
Expanding Tilde-based paths (HTML)
QA1549: Demonstrates how to resolve tilde-based relevant paths.
File Management Technical Q&As 2008-09-08