Jump To:
Leopard Technical Notes
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
Date
Digital CD Audio (HTML) (日本語 HTML)
TN1187: Describes digital audio on the Macintosh.
Audio 2000-04-01
Playing a sound file using the Default Output Audio Unit (HTML)
TN2097: Playing an Audio File using the Default Output Audio Unit
Audio 2006-11-15
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Audio 2004-06-14
Locking and Unlocking Handles (HTML) (日本語 HTML)
Deprecated - TN1122: Explains Memory Manager handles: locking, unlocking, and preserving a handle's state.
Data Management 1998-02-01
Creating NetBoot Server-Friendly Applications (HTML) (日本語 HTML)
TN1151: Guidelines to ensure applications are able to work correctly in a NetBoot environment.
Design Guidelines 2000-08-01
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 2003-02-18
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 2000-06-01
The 'plst' Resource (HTML) (日本語 HTML)
TN2013: Describes the 'plst' resource for Carbon-based applications.
Design Guidelines 2002-02-07
Thread-safe programming in QuickTime (HTML)
TN2125: Discusses how to use QuickTime from background threads for applications and component developers.
Design Guidelines 2007-09-14
Version Territory (HTML)
Deprecated - OV12: Please see Technical Note 1132 - Version Territory.
Design Guidelines 1988-04-01
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 2005-06-24
Using Secure Event Input Fairly (HTML)
TN2150: Describes the proper use of EnableSecureEventInput.
Events & Other Input 2007-06-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 2001-06-07
Exclusive File Access in Mac OS X (HTML) (日本語 HTML)
TN2037: Covers exclusive file access In Mac OS X
File Management 2002-05-01
File Manager File Handling Q&As (HTML)
FL515: Contains an archive of Q&As related to the Mac OS File Manager.
File Management 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 2000-09-01
HFS Plus Volume Format (HTML) (日本語 HTML)
TN1150: Describes the physical layout of an HFS Plus volume.
File Management 2004-03-05
Locating Application Support Files under Mac OS X (HTML) (日本語 HTML)
TN2015: Describes different methods for an application to determine its location.
File Management 2001-03-27
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 2003-05-06
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 2000-07-01
The Preferences Problem (HTML) (日本語 HTML)
Deprecated - TN1134: Outlines typical problems with preferences files and some of their solutions.
File Management 1998-10-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 1997-10-01
Resolving Alias Files Quietly (HTML)
FL30: Describes how to resolve alias files on remote volumes without user interaction.
File Management 1999-11-01
Searching Volumes - Solutions and Problems (HTML)
Deprecated - FL31: Discusses searching volumes using PBCatSearch.
File Management 1988-10-01
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 2001-04-17
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 1996-12-01
Version Territory (HTML)
Deprecated - OV12: Please see Technical Note 1132 - Version Territory.
File Management 1988-04-01
You Want Permission to do What?!! (HTML)
FL37: Provides an-depth discussion of the File Manager and AFP permission models.
File Management 1999-04-01
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 2008-01-23
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 2005-02-04
The CGDirectPalette API (HTML) (日本語 HTML)
TN2008: Provides a reference for the CGDirectPalette API on Mac OS X
Graphics & Imaging 2000-11-08
Coalesced Updates (HTML)
TN2133: How to achieve the maxium frame rate in your Mac OS X application
Graphics & Imaging 2006-01-20
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 2006-10-26
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 2003-02-13
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
Graphics & Imaging 2005-02-04
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 2003-12-29
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 2000-08-14
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 2003-02-24
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 2003-10-29
How to use the ATSUI Low Level APIs to get glyph outlines (HTML) (日本語 HTML)
TN2033: Covers the ATSUI low-level APIs.
Human Interface Toolbox 2001-11-26
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 2004-01-30
Multilingual Text Engine Frequently Asked Questions (HTML) (日本語 HTML)
TN2026: A list of frequently asked questions for the Multilingual Text Engine (MLTE).
Human Interface Toolbox 2005-09-12
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 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 2000-08-14
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.
Human Interface Toolbox 1996-12-01
AEBuild*, AEPrint* and Friends (HTML) (日本語 HTML)
TN2045: Describes the AEBuild* and AEPrint* family of routines.
Interapplication Communication 2002-03-21
AEStream and Friends (HTML) (日本語 HTML)
TN2046: Describes the AEStream family of routines.
Interapplication Communication 2002-03-29
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.
Interapplication Communication 2001-06-07
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.
Interapplication Communication 2000-07-01
Scripting Additions for Mac OS X (HTML) (日本語 HTML)
TN1164: Talks about how to create AppleScript scripting additions (OSAX) for Mac OS X.
Interapplication Communication 2008-04-24
Multilingual Text Engine Frequently Asked Questions (HTML) (日本語 HTML)
TN2026: A list of frequently asked questions for the Multilingual Text Engine (MLTE).
Internationalization 2005-09-12
Open Transport STREAMS FAQ (HTML)
Deprecated - TN1117: Decribes writing STREAMS modules and drivers for use with Open Transport.
Networking 1997-12-01
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 2000-08-14
GDB for MacsBug Veterans (HTML)
TN2030: Translate your experience with MacsBug into a working knowledge of the GNU source-level debugger (GDB).
Performance 2001-10-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.
Performance 2003-02-13
Memory Allocation Recommendations on Mac OS X (HTML)
TN2130: Recommends the best ways to allocate memory on Mac OS X.
Performance 2005-07-12
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.
Porting 2008-01-23
Pascal to C: PROCEDURE Parameters (HTML)
Deprecated - PT31: Nested procedures and PROCEDURE parameters in Pascal when converting them into C or C++.
Porting 1990-02-01
The Enhanced Print Apple Event (HTML)
TN2082: Describes an enhancement to the print Apple event that gives developers more control over scripted printing.
Printing 2003-12-09
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 2007-03-29
AEBuild*, AEPrint* and Friends (HTML) (日本語 HTML)
TN2045: Describes the AEBuild* and AEPrint* family of routines.
Process Management 2002-03-21
AEStream and Friends (HTML) (日本語 HTML)
TN2046: Describes the AEStream family of routines.
Process Management 2002-03-29
Browser Plugins in Mac OS X (HTML) (日本語 HTML)
TN2020: Describes the format of web browser plugins for Mac OS X.
Process Management 2001-05-31
Daemons and Agents (HTML)
TN2083: Describes the most common problems encountered with daemons and agents, and suggests detailed solutions.
Process Management 2007-11-05
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.
Process Management 2001-06-07
Locating Application Support Files under Mac OS X (HTML) (日本語 HTML)
TN2015: Describes different methods for an application to determine its location.
Process Management 2001-03-27
Locking and Unlocking Handles (HTML) (日本語 HTML)
Deprecated - TN1122: Explains Memory Manager handles: locking, unlocking, and preserving a handle's state.
Process Management 1998-02-01
The Notification Manager: Problems & Fixes (HTML)
TN1026: Describes issues with the Notification Manager 'activate' and 'update' events.
Process Management 1996-02-01
Observing Process Lifetimes Without Polling (HTML)
TN2050: Shows a variety of methods to observe process lifetimes without polling.
Process Management 2008-09-10
The 'plst' Resource (HTML) (日本語 HTML)
TN2013: Describes the 'plst' resource for Carbon-based applications.
Process Management 2002-02-07
Power Manager 2.0 (HTML) (日本語 HTML)
TN1190: Describes the Macintosh Power Manager 2.0.
Process Management 2000-08-14
Threading Architectures (HTML) (日本語 HTML)
TN2028: Describes the various threading APIs on Mac OS 9 and Mac OS X.
Process Management 2001-08-08
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 2002-09-10
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.
Process Management 2001-04-17
Working with Multiprocessing Services (HTML) (日本語 HTML)
TN1071: Discusses some techniques for use with Apple's Multiprocessing Services APIs.
Process Management 2000-08-14
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 2005-07-21
Thread-safe programming in QuickTime (HTML)
TN2125: Discusses how to use QuickTime from background threads for applications and component developers.
QuickTime 2007-09-14
Locking and Unlocking Handles (HTML) (日本語 HTML)
Deprecated - TN1122: Explains Memory Manager handles: locking, unlocking, and preserving a handle's state.
Resource Management 1998-02-01
Browser Plugins in Mac OS X (HTML) (日本語 HTML)
TN2020: Describes the format of web browser plugins for Mac OS X.
Runtime Architecture 2001-05-31
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 2003-02-18
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 1998-05-01
Locating Application Support Files under Mac OS X (HTML) (日本語 HTML)
TN2015: Describes different methods for an application to determine its location.
Runtime Architecture 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 1998-02-01
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 2000-10-05
The 'plst' Resource (HTML) (日本語 HTML)
TN2013: Describes the 'plst' resource for Carbon-based applications.
Runtime Architecture 2002-02-07
PowerPC G5 Performance Primer (HTML) (日本語 HTML)
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
Runtime Architecture 2003-09-03
Threading Architectures (HTML) (日本語 HTML)
TN2028: Describes the various threading APIs on Mac OS 9 and Mac OS X.
Runtime Architecture 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 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 2003-08-25
Virtual Memory Application Compatibility (HTML)
Deprecated - TN1094: Provides an introduction to how virtual memory works under Traditional Mac OS.
Runtime Architecture 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 1996-11-01
Scripting Interface Guidelines (HTML)
TN2106: Directions for providing a clean and consistent scripting interface for your application.
Scripting & Automation 2004-03-01
Authorization for Everyone (HTML)
TN2095: Describes applications of Authorization Services beyond simple privilege requesting.
Security 2008-01-30
Mac OS X Code Signing In Depth (HTML)
TN2206: Intermediate to expert level overview of code signing that details specific options and gotchas
Security 2008-08-06
Uniquely Identifying a Macintosh Computer (HTML) (日本語 HTML)
TN1103: How to identify a specific Macintosh computer.
Security 2006-04-25
Using Secure Event Input Fairly (HTML)
TN2150: Describes the proper use of EnableSecureEventInput.
Security 2007-06-08
Frequently Asked Text Services Manager (TSM) Questions (HTML)
TN2128: Regroups a collection of Text Services Manager (TSM) questions frequently asked by Input Method Developers
Text & Fonts 2005-06-24
Glyph Access Protocol (HTML) (日本語 HTML)
TN2079: How to support unencoded glyphs using the TSM, ATSUI and Cocoa.
Text & Fonts 2003-05-06
Multilingual Text Engine Frequently Asked Questions (HTML) (日本語 HTML)
TN2026: A list of frequently asked questions for the Multilingual Text Engine (MLTE).
Text & Fonts 2005-09-12
Mac OS X 10.2 (HTML)
TN2053: Describes software development-related changes provided in system software update Mac OS X 10.2.
Tools 2002-09-04
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 2002-03-06
The CGDirectPalette API (HTML) (日本語 HTML)
TN2008: Provides a reference for the CGDirectPalette API on Mac OS X
User Experience 2000-11-08
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 1992-12-01
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.
User Experience 2003-02-24
Moving Your Code to Mac OS X (HTML) (日本語 HTML)
TN2003: Talks about considerations for moving older Mac OS 9 applications to Mac OS X.
User Experience 2000-10-05
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.
User Experience 1996-12-01