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

Sorted by
Title
Sort by
Topic
Sort by
Resource Type
Sort by
Date
LockPixels and DisposeGWorld with QTNewGWorldFromPtr (HTML)
QA1007: Clarifies some issues surrounding pointer ownership when creating GWorlds with QTNewGWorldFromPtr
QuickTime Technical Q&As 2001-02-26
LoginItemsAE (HTML) (DMG) (ZIP)
Uses Apple events to manipulate the list of login items (items launched when you log in).
Interapplication Communication, Process Management Sample Code 2005-10-17
Losing the character code when using the control key (HTML)
QA1446: Explains why the control key transforms the character code instead of simply setting the appropriate modifier bit.
Human Interface Toolbox, Text & Fonts Technical Q&As 2006-07-17
Low Memory Accessors Reference (HTML) (PDF)
Describes the C API for obtaining information stored in low-memory variables.
Resource Management Reference 2006-07-13
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
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
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 Function Call Guide (HTML) (PDF)
Describes the function-calling conventions used in the architectures supported by Mac OS X.
Intel-Based Macs Guides 2009-02-04
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
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
Mac OS X Printing System Overview (HTML) (PDF)
Introduces Apple's printing architecture. Includes a road map for developing software.
Printing Guides 2006-02-07
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
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
MACE Restrictions (HTML) (日本語 HTML)
Deprecated - SND16: MACE algorithms only support the compression of 8-bit offset binary sound.
Audio Technical Q&As 1999-06-08
Making Input Gain Setting Changes (HTML) (日本語 HTML)
Deprecated - SND01: Changing the input gain setting on older Power Macs before recording.
Audio Technical Q&As 1996-06-01
Managing custom drawing code in a compositing world (HTML)
QA1162: Explains why any custom drawing code must be handled by the kEventControlDraw handler of a custom HIView
Human Interface Toolbox Technical Q&As 2004-10-14
Managing Fonts: QuickDraw (HTML) (PDF)
Deprecated - Explains how to use the deprecated QuickDraw-based font-management API replaced by Core Text or ATS.
Text & Fonts Guides 2007-12-11
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
MassiveImage (HTML) (DMG) (ZIP)
Shows how to use a CGDataProvider to save a very large image with Image IO
Graphics & Imaging Sample Code 2007-09-27
Mathematical and Logical Utilities Reference (HTML) (PDF)
Describes the C API for mathematical and logical data manipulation.
Data Management Reference 2005-11-09
Maximizing Mac OS X Application Performance (HTML)
Learn how to achieve better performance on Mac OS X.
Performance Articles 2003-06-23
MDImporter Reference (HTML) (PDF)
Describes the plug-in architecture and callbacks required by a document metadata importer.
File Management Reference 2005-04-29
MDItem Reference (HTML) (PDF)
Describes the metadata attributes for a file.
File Management Reference 2006-06-28
MDLineage Reference (HTML) (PDF)
Describes the interface for tracking versions of a file.
File Management Reference 2006-07-13
MDQuery Reference (HTML) (PDF)
Describes a metadata query.
File Management Reference 2005-06-04
MDSchema Reference (HTML) (PDF)
Describes a metadata schema.
File Management Reference 2005-04-29
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
Memory Management Programming Guide for Core Foundation (HTML) (PDF)
Explains how to allocate and deallocate objects in Core Foundation.
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
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Performance Guides 2006-06-28
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
Menu Manager Reference (HTML) (PDF)
Describes the C API for creating and managing an application's menus.
Human Interface Toolbox, User Experience Reference 2006-09-15
MenuViews (HTML) (DMG) (ZIP)
Demonstrates a variety of interesting uses of HIView-based menus in Mac OS X 10.3.
Human Interface Toolbox Sample Code 2003-10-24
MIDI File Format (HTML)
Describes the QuickTime implementation of the MIDI file standard.
Audio Reference 2002-09-17
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
Mixed Mode Manager Reference (HTML) (PDF)
Describes the interface that supports PowerPC computers running 680x0 code.
Runtime Architecture Reference 2003-04-01
MLTE_CustomScrolling (HTML) (DMG) (ZIP)
Shows how to implement MLTE's custom scrolling functionality
Human Interface Toolbox, Text & Fonts Sample Code 2004-10-15
Mode (HTML) (DMG) (ZIP)
Shows how to enumerate displays and list the available modes for each display.
Graphics & Imaging Sample Code 2003-01-14
ModeWhacker (HTML) (DMG) (ZIP)
Shows how to enumerate, select, capture, manipulate, and release displays using the CGDirectDisplay API.
Graphics & Imaging Sample Code 2003-01-14
MoreAppleEvents (HTML) (DMG) (ZIP)
Provides routines that assist with the creation and sending of Apple events and object descriptors.
Interapplication Communication, Tools Sample Code 2003-01-14
MoreFiles (HTML) (DMG) (ZIP)
Shows various File Manager operations (file copy, etc.) through a collection of high-level routines.
File Management Sample Code 2003-01-14
MoreFilesX (HTML) (DMG) (ZIP)
Deprecated - Shows various File Manager operations through a collection of high-level routines using HFS Plus APIs.
File Management Sample Code 2005-05-13
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Audio, Core Foundation, Data Management, Events & Other Input, File Management, Graphics & Imaging, Human Interface Toolbox, Interapplication Communication, Internationalization, Networking, Porting, Process Management, Resource Management, Runtime Architecture, Security, Text & Fonts, User Experience Sample Code 2003-10-27
MoreOSL (HTML) (DMG) (ZIP)
C library for implementing AppleScript support within your application.
Interapplication Communication Sample Code 2003-01-14
MouseTracking (HTML) (DMG) (ZIP)
Sample code used in the WWDC 2005 Hands-On session 215 "Moving from QD to Quartz"
Graphics & Imaging Sample Code 2005-06-01
Movie Export - Always fill in the MovieExportGetDataParams dataSize field (HTML)
QA1304: Outlines the importance of correctly filling in the MovieExportGetDataParams dataSize field when exporting from procedures.
QuickTime Technical Q&As 2005-02-25
Movie Export Component - How to ensure Final Cut Pro recognizes your exporter (HTML)
QA1415: Explains how to make sure Final Cut Pro will recognizes a custom QuickTime movie export component.
QuickTime Technical Q&As 2005-03-08
Movies - Saving movie playback hints (HTML)
QA1366: Explains how to save and load media play hints from Movie files.
QuickTime Technical Q&As 2004-09-14
Moving the Menu Bar (HTML) (日本語 HTML)
Deprecated - TB54: Describes how to move the menubar to another Macintosh Display and why this move is unadvisable.
Human Interface Toolbox, User Experience Technical Q&As 1998-12-22
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
Moving Your Project from CodeWarrior to Xcode (HTML)
Get started moving your project from CodeWarrior to Xcode.
Porting, Tools Articles 2005-11-28
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
MPRemoteCall Contexts (HTML) (日本語 HTML)
QA1122: Describes two recently introduced options for the context parameter of MPRemoteCall.
Process Management Technical Q&As 2002-02-18
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
Multilingual Text Engine Reference (HTML) (PDF)
Describes the C API for supporting Unicode text editing.
Internationalization, Text & Fonts Reference 2007-02-19
Multiple Resources with the Same Type and ID (HTML) (日本語 HTML)
TB30: Explains why Resource IDs should be unique within a given resource type within a given resource file.
Human Interface Toolbox Technical Q&As 1996-11-27
Multiprocessing Services Programming Guide (HTML) (PDF)
Explains how to implement preemptive tasks in Carbon applications.
Performance, Process Management Guides 2007-10-31
Multiprocessing Services Reference (HTML) (PDF)
Describes the C API for creating preemptively scheduled tasks in Carbon applications.
Performance, Process Management Reference 2008-02-08
MungSaver (HTML) (DMG) (ZIP)
Demonstrates a simple Screen Saver module for Panther, using the Sequence Grabber DataProc mung technique.
User Experience Sample Code 2003-11-18
My custom item dismisses my Navigation Services dialog (HTML)
QA1381: Gives a workaround for dismissive clicks on items in the custom area of Navigation Services dialogs.
File Management, Human Interface Toolbox, User Experience Technical Q&As 2004-11-22
My ListBox control works fine on Mac OS X but I get a crash on Mac OS 9 when I click in the scrollbar (HTML) (日本語 HTML)
QA1156: Explains the requirements for the use of the Listbox Control on Mac OS 9 and Mac OS X.
Human Interface Toolbox Technical Q&As 2002-07-12
NamingTableAccess (HTML) (DMG) (ZIP)
Digs out the contents of the NamingTable in a TrueType 'sfnt'.
Text & Fonts Sample Code 2003-01-14
Navigation Services for Carbon: An Overview (HTML) (PDF)
Introduces changes to the Navigation Services API for CarbonLib and Carbon in Mac OS X.
File Management, User Experience Guides 2003-12-10
Navigation Services Programming Guide (HTML) (PDF)
Explains how to provide a user interface for navigating to, opening, and saving files.
File Management, User Experience Guides 2007-07-10
Navigation Services Reference (HTML) (PDF)
Describes the C API for presenting a user interface for opening, saving, and navigating files.
File Management, User Experience Reference 2006-08-16
Network Services Location Manager (Legacy) (HTML) (PDF)
Deprecated - Explains how to have a Carbon application discover available network services.
Networking Guides 2006-05-23
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
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
Non Mac OS X Bundled data-fork based Resources (HTML) (日本語 HTML)
QA1098: Mac OS X Bundled data-fork based Resources
Data Management, Design Guidelines, File Management, Process Management, Resource Management, Runtime Architecture Technical Q&As 2003-08-20
NoSound (HTML) (DMG) (ZIP)
Illustrates how to install a procedure to be executed when the user restarts or shuts down.
User Experience Sample Code 2003-01-30
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
The Notification Manager: Problems & Fixes (HTML)
TN1026: Describes issues with the Notification Manager 'activate' and 'update' events.
Process Management Technical Notes 1996-02-01
Notifying the Finder of changed or newly created files (HTML) (日本語 HTML)
QA1260: Recommended approach to notifying the Finder to update its open windows of a file creation or change.
File Management, Human Interface Toolbox, Interapplication Communication Technical Q&As 2003-04-15
NSL and how it relates to Bonjour (HTML)
QA1299: Explains the relationship between NSL and Bonjour.
Networking Technical Q&As 2003-09-18
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
Numerous Small Packet Exchanges Resultin Poor TCP Performance (HTML) (日本語 HTML)
NW26: Explains why numerous small package exchanges result in poor TCP performance.
Networking Technical Q&As 1998-05-25
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
Obtaining and Using Icons With Icon Services (HTML) (PDF)
Explains how to obtain and display icons for a Carbon application or extension.
Human Interface Toolbox, User Experience Guides 2003-02-01
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
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
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
Open Scripting Architecture Reference (HTML) (PDF)
Describes the API for compiling and executing scripts in applications and writing scripting components.
Interapplication Communication, Scripting & Automation Reference 2007-05-07
Open Transport Error -3208: kEBADFErr (HTML) (日本語 HTML)
NW21: Explains why a call to OTSnd may result in a kEBADFErr -3208.
Networking Technical Q&As 1996-03-04
Open Transport Libraries (HTML) (日本語 HTML)
NW18: Lists the Open Transport libraries and what to link with for PowerPC and 68K.
Networking Technical Q&As 2000-11-03
Open Transport Reference (HTML) (PDF)
Describes the Carbon compatibility library for accessing TCP/IP networks at the transport level.
Networking Reference 2005-07-07
Open Transport STREAMS FAQ (HTML)
Deprecated - TN1117: Decribes writing STREAMS modules and drivers for use with Open Transport.
Networking Technical Notes 1997-12-01
OpenGL Extensions Guide (HTML)
Information about OpenGL functionality supported in Mac OS X.
Graphics & Imaging Guides 2003-09-10
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
OS Services Framework Release Notes (HTML)
General, Networking, Security Release Notes 2007-10-31
OT Virtual Server (HTML) (DMG) (ZIP)
Deprecated - Sample code which uses Open Transport and demonstrates real world issues.
Networking Sample Code 2003-01-14
OTEndpointInfo (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to query an endpoint for its 'vital statistic' using OTGetEndpointInfo.
Networking Sample Code 2003-08-20
OTLookupNameTest (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to lookup NBP entities on an AppleTalk network using Open Transport.
Networking Sample Code 2003-01-14
OTMP (HTML) (DMG) (ZIP)
Deprecated - A library for calling Open Transport synchronously from preemptively scheduled tasks (MP tasks).
Networking Sample Code 2003-07-22
OTPingSample (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to implement ping on top of the Open Transport API.
Networking Sample Code 2003-07-22
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Design Guidelines, Events & Other Input, Networking, Performance, Process Management, Resource Management, Runtime Architecture, Tools Technical Q&As 1997-10-13
OTScheduleSystemTask Cleanup (HTML) (日本語 HTML)
Deprecated - NW37: States the proper way to clean up any pending system tasks scheduled with OTScheduleSystemTask.
Networking Technical Q&As 1996-07-03
Out of This GWorld (HTML) (DMG) (ZIP)
Deprecated - Demonstrates the use of offscreen GWorlds and palette animation to simulate animation.
Games, Graphics & Imaging Sample Code 2003-03-12
Palette and GWorld (HTML) (DMG) (ZIP)
Deprecated - Demonstrates the use of palette and color tables with GWorlds.
Graphics & Imaging Sample Code 2003-10-10