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

Sorted by
Title
Sort by
Topic
Sort by
Resource Type
Sort by
Date
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
Drawing Performance Guidelines (HTML) (PDF)
Guidelines for improving the speed of drawing code.
Performance Guides 2006-04-04
DrawSprocketTestOld (HTML) (DMG) (ZIP)
Deprecated - Demonstrates basic implementations of DrawSprocket Functions.
Games Sample Code 2003-10-14
DRDataBurnCarbonUI (HTML) (DMG) (ZIP)
DRDataBurnCarbonUI shows how to use the standard DiscRecording burn setup and progress panel from Carbon.
File Management Sample Code 2004-04-09
DREraseCarbonUI (HTML) (DMG) (ZIP)
DREraseCarbonUI shows how to use the DiscRecording erase setup and progress panel from Carbon.
File Management Sample Code 2004-04-09
DropDraw (HTML) (DMG) (ZIP)
Demonstrates automatic ColorSync color-matching when drawing with QuickTime graphics importers in Panther
QuickTime Sample Code 2005-08-01
DTSCarbonShell (HTML) (DMG) (ZIP)
Provides a modern Mac OS X Carbon Application Skeleton
Human Interface Toolbox, Text & Fonts, User Experience Sample Code 2007-09-20
DumpVolumeInfo (HTML) (DMG) (ZIP)
A tool to help folks who are implementing a plug-in file system (VFS plug-in) on Mac OS X.
File Management Sample Code 2004-11-12
Dynamically registering a bundled component (HTML)
QA1083: Describes how to dynamically register a Component which resides in an Application bundle.
Core Foundation, QuickTime Technical Q&As 2004-06-07
EmbededAppleScripts (HTML) (DMG) (ZIP)
Extending the functionality of your application by adding precompiled AppleScripts.
Interapplication Communication Sample Code 2003-09-04
Empty Memory Objects (HTML) (日本語 HTML)
QA1259: Describes how two memory management edge cases are handled by the common Mac OS memory allocators.
Accessibility, Data Management Technical Q&As 2003-04-21
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, Human Interface Toolbox Technical Q&As 2001-10-30
Enabling the Navigation Services default behavior in its dialogs (HTML)
QA1384: Explains how to enable the default behavior of the Navigation Services dialogs.
File Management, Human Interface Toolbox Technical Q&As 2004-10-15
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
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
Enumerating fonts with ATS (HTML)
QA1471: Describes the different ATS font enumeration methods
Text & Fonts Technical Q&As 2006-04-14
Environment Variables (HTML)
QA1255: Describes how a process gets its environment variables.
Runtime Architecture Technical Q&As 2003-10-29
Error -151 and NewGWorld (HTML)
Deprecated - QD18: Explains what the error code -151 means when in NewGWorld.
Graphics & Imaging, Performance, User Experience Technical Q&As 1995-09-15
Error -3168 (kOTStateChangeErr) and Handoff Endpoints (HTML) (日本語 HTML)
Deprecated - NW22: Explains why a kOTStateChangeErr -3168 occurs when there is a handoff endpoint involved.
Networking Technical Q&As 1996-04-08
Error Handler Reference (HTML) (PDF)
Describes the C API for a Mac OS 9 service that assumes control when certain low-level system errors occur.
Performance Reference 2003-01-01
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
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
Expanding Tilde-based paths (HTML)
QA1549: Demonstrates how to resolve tilde-based relevant paths.
File Management Technical Q&As 2007-09-24
Extending Printing Dialogs (HTML) (PDF)
A guide to developing printing dialog extensions, including basic concepts and a documented Carbon-based sample project.
Printing Guides 2006-10-03
Extracting DV Fields using QTNewGWorldFromPtr (HTML)
QA1017: Describes using QTNewGWorldFromPtr to access individual fields contained within a frame of DV source.
QuickTime Technical Q&As 2001-03-20
fBroadCastAddr Always Zero (HTML) (日本語 HTML)
Deprecated - NW58: Explains why the fBroadcastAddr field may be zero after a call to OTInetGetInterfaceInfo and includes the workaround.
Networking Technical Q&As 1999-03-08
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
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
File Manager Reference (HTML) (PDF)
Describes the C API for basic file management tasks, such as opening and saving files.
File Management Reference 2007-07-13
File Manager Text Encoding Hints (HTML) (日本語 HTML)
QA1223: How to use Text Encoding Hints.
File Management Technical Q&As 2003-01-20
File System Overview (HTML) (PDF)
Conceptual information and guidelines describing the structure and usage of the Mac OS X file system.
File Management Guides 2008-07-11
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Performance Guides 2005-07-07
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Performance Guides 2005-07-07
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
filesystem_examples (HTML) (DMG) (ZIP)
Collection of command line tools illustrating filesystem features.
File Management Sample Code 2006-01-10
Filtering QuickTime media types in Navigation Services (HTML) (日本語 HTML)
QA1274: Describes how to filter QuickTime media types in a Navigation Services filter procedure.
Human Interface Toolbox Technical Q&As 2003-07-23
Find By Content Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for performing relevance-ranked searches. Replaced by Search Kit.
Data Management, Text & Fonts, User Experience Reference 2006-07-13
Finder Interface Reference (HTML) (PDF)
Describes several C data types used by the Finder to contain information about file system objects.
File Management, Human Interface Toolbox, User Experience Reference 2006-10-31
FinderDragPro (HTML) (DMG) (ZIP)
Sample file illustrating drag and drop techniques for use with file system objects.
Events & Other Input, File Management, Interapplication Communication, User Experience Sample Code 2003-01-14
FinderLaunch (HTML) (DMG) (ZIP)
Shows how to open documents by sending Apple Events to the Finder.
File Management, Interapplication Communication, User Experience Sample Code 2003-10-14
Finding your application's directory (HTML)
FL14: Demonstrates finding your application's directory and setting it as the default directory.
File Management Technical Q&As 2000-06-19
Fixing the Layout Binding of the Tab control User Panes (HTML)
QA1161: Describes the Tab control hierarchy and layouts of its panes and provides a fix to a common problem.
Human Interface Toolbox Technical Q&As 2004-10-14
FloatingWindow (HTML) (DMG) (ZIP)
Demonstrates that floating windows are very easy to implement on Mac OS X using Nib files.
Human Interface Toolbox Sample Code 2003-10-24
Folder Manager Reference (HTML) (PDF)
Describes the C API for finding and accessing directories, including common Mac OS X system locations.
File Management Reference 2006-07-12
Folder Watching (HTML) (DMG) (ZIP)
Demonstrates how a background only application can use Apple events to pass work to another application.
File Management, Interapplication Communication, Process Management Sample Code 2003-01-14
Font Manager Reference (HTML) (PDF)
Describes the C API for QuickDraw-based font access and management.
Graphics & Imaging, Text & Fonts Reference 2007-12-11
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
Fonts Panel Reference (HTML) (PDF)
Describes the C API for providing a Fonts window in a Carbon application.
Graphics & Imaging, Text & Fonts, User Experience Reference 2007-02-26
FontSync Reference (HTML) (PDF)
Describes the C API for content-based font identification and comparison.
Text & Fonts Reference 2002-10-01
Fragment Tool (HTML) (DMG) (ZIP)
Demonstrates manipulation of code fragments; combining and separating; viewing and editing information associated with each.
Data Management, Design Guidelines, File Management, Resource Management, Runtime Architecture, Tools, User Experience Sample Code 2003-01-30
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
FSCopyObject (HTML) (DMG) (ZIP)
Copy engine for copying files and directories.
File Management Sample Code 2004-03-19
FSCreateFileAndOpenForkUnicode (HTML) (DMG) (ZIP)
Demonstartes the use of FSCreateFileAndOpenForkUnicode to create a file with restricted access on disk and a read/write access path.
File Management Sample Code 2005-06-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 2006-11-17
FSFileOperation (HTML) (DMG) (ZIP)
This sample shows how to use the FSFileOperation API which supports copying and moving filesystem objects.
File Management Sample Code 2005-06-06
FSMegaInfo (HTML) (DMG) (ZIP)
Prints information about various file system objects; helpful when debugging VFS plug-ins.
File Management Sample Code 2008-02-25
FSRemoveInheritedACEs (HTML) (DMG) (ZIP)
Demonstrates manipulating access control lists of existing file system objects using the File Manager.
File Management Sample Code 2005-06-01
FSReplaceObject (HTML) (DMG) (ZIP)
FSReplaceObject is an example command line tool showing how to exercise the FSReplaceObject and FSPathReplaceObject related APIs.
File Management Sample Code 2007-02-14
FSSetCatalogInfo versus UID and GID (HTML) (日本語 HTML)
QA1251: Describes why FSSetCatalogInfo does not set the UID and GID of the file, and provides a work around.
File Management Technical Q&As 2003-03-26
FullScreen (HTML) (DMG) (ZIP)
Shows how to use BeginFullScreen and EndFullScreen to enter and exit full-screen mode.
Graphics & Imaging Sample Code 2003-01-14
Gathering all PostScript Printer Descriptions (PPDs) (HTML)
QA1529: Describes a work around for an issue in PMCopyAvailablePPDs on Mac OS X 10.4 and below
Printing Technical Q&As 2007-07-18
GCC Porting Guide (HTML) (PDF)
Provides guidance on how to migrate projects to new GCC releases.
Intel-Based Macs Guides 2006-10-03
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
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
Gestalt Manager Reference (HTML) (PDF)
Describes the C API for obtaining information about the operating-system environment.
Resource Management Reference 2007-10-31
GetDragHiliteColor (HTML) (DMG) (ZIP)
Shows how to obtain the color that Drag Manager uses to hilite regions when calling ShowDragHilite.
Human Interface Toolbox, User Experience Sample Code 2003-01-30
GetHWEthernetAddr (HTML) (DMG) (ZIP)
Deprecated - Shows how to obtain the hardware Ethernet address of a machine.
Networking Sample Code 2003-01-14
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Networking, Security Sample Code 2003-01-14
GetPortBitMapForCopyBits (HTML) (日本語 HTML)
Deprecated - QD61: Describes the proper usage of GetPortBitMapForCopyBits.
Graphics & Imaging Technical Q&As 2000-11-08
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
GetProcAdress and OpenGL Entry Points (HTML) (日本語 HTML)
QA1188: Technique for finding function pointers for OpenGL entry points in Cocoa and Carbon
Games, Graphics & Imaging Technical Q&As 2002-11-25
GetSetOptions (HTML) (DMG) (ZIP)
Demonstrates a variety of uses of Open Transport's option management routines.
Networking Sample Code 2003-01-14
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Internet & Web, Networking Technical Q&As 2008-06-03
Getting the User and Computer Name (HTML)
QA1078: Describes how to get the user and computer name on Mac OS X.
Networking Technical Q&As 2001-10-30
GLCarbon1ContextPbuffer (HTML) (DMG) (ZIP)
Demostrates using OpenGL pixel buffers with a single shared context.
Graphics & Imaging Sample Code 2004-03-26
GLCarbonAGLFullScreen (HTML) (DMG) (ZIP)
Demonstrates a full screen AGL application which uses Carbon events to drive the user input.
Graphics & Imaging Sample Code 2004-03-26
GLCarbonAGLWindow (HTML) (DMG) (ZIP)
Complete Carbon OpenGL sample with virtual trackball, capability checking, and proper event handling.
Graphics & Imaging Sample Code 2004-03-24
GLCarbonCGLFullScreen (HTML) (DMG) (ZIP)
Demonstrates a full screen CGL application which uses Carbon events to drive the user input.
Graphics & Imaging Sample Code 2004-03-26
GLCarbonSharedPbuffer (HTML) (DMG) (ZIP)
Demostrates sharing a single OpenGL pixel buffer with multiple other contexts.
Graphics & Imaging Sample Code 2004-03-26
GLUTSurfaceTexture (HTML) (DMG) (ZIP)
Example of using the new glutSurfaceTexture.
Graphics & Imaging Sample Code 2004-03-26
Glyph Access Protocol (HTML) (日本語 HTML)
TN2079: How to support unencoded glyphs using the TSM, ATSUI and Cocoa.
Text & Fonts Technical Notes 2003-05-06
GlyphaIVOld (HTML) (DMG) (ZIP)
Deprecated - A basic game implementation in the spirit of Joust meant as demonstation of Sprocket usage.
Games, Graphics & Imaging Sample Code 2003-10-14
GNU C 4.0 Preprocessor User Guide (HTML)
Describes the Apple version of the GNU C 4.0 Preprocessor.
Tools Reference 2007-10-31
GNU C 4.2 Preprocessor User Guide (HTML)
Describes the Apple version of the GNU C 4.2 Preprocessor.
Tools Reference 2008-01-23
GNU C/C++/Objective-C 3.3 Compiler (HTML)
Explains how to use the GNU compilers from the command line.
Tools Reference
GNU C/C++/Objective-C 4.0.1 Compiler User Guide (HTML)
Describes the Apple version of the GNU 4.0.1 compiler.
Intel-Based Macs, Tools Reference 2007-10-31
GNU C/C++/Objective-C 4.2.1 Compiler User Guide (HTML)
Describes the Apple version of the GNU 4.2.1 compiler.
Tools Reference 2008-01-23
Going Universal: Audio Developers Catch the Wave (HTML)
Learn how audio developers who built universal binaries of their applications are reaping the benefits.
Audio, Intel-Based Macs, Porting Articles 2006-07-18
GrabBag (HTML) (DMG) (ZIP)
Demonstrates variety of techniques and features of Carbon. DataBrowser , PBCatalogSearchAsync, Overlay windows, Tab controls, more...
File Management, Human Interface Toolbox, User Experience Sample Code 2003-07-29
grayishTextOr and Mac OS 8.5 (HTML) (日本語 HTML)
Deprecated - QD59: Explains why text drawn using TextMode(grayishTextOr) is never drawn; provides a workaround.
Graphics & Imaging Technical Q&As 1998-12-07
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
HackTV Carbon (HTML) (DMG) (ZIP)
HackTV Carbon shows how to use the sequence grabber to preview and record QuickTime movie files.
QuickTime Sample Code 2007-11-16
Handling Carbon Windows and Controls (HTML) (PDF)
A guidebook for implementing windows and controls in Carbon applications.
Human Interface Toolbox, User Experience Guides 2005-07-07
Handling Unicode Text Editing With MLTE (HTML) (PDF)
Explains how to use Apple's multilingual text engine.
Internationalization Guides 2006-09-05
HandyScrollingSample (HTML) (DMG) (ZIP)
Shows some ways of implementing scrolling.
User Experience Sample Code 2003-01-30
The header file 'alut.h' is missing from the OpenAL framework. (HTML)
QA1504: ALUT headers were removed from OpenAL.framework with the Xcode 2.4. This Q&A describes how to regain access to those system-supplied symbols
Audio Technical Q&As 2007-02-06
Help Book Caching During Software Development (HTML)
QA1409: Development situations that can potentially confuse Help Viewer
Tools Technical Q&As 2005-03-30
HexEditorView (HTML) (DMG) (ZIP)
HIView subclass which implements a hex editor similar to those found in resource editors.
Human Interface Toolbox Sample Code 2003-01-30
HFS Plus Volume Format (HTML) (日本語 HTML)
TN1150: Describes the physical layout of an HFS Plus volume.
File Management Technical Notes 2004-03-05