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
QuickTimeMovieControl (HTML) (DMG) (ZIP)
Demonstrates how to easily add QuickTime media playback to an application
QuickTime Sample Code 2005-08-10
Raw IP and Open Transport 2.5.x (HTML)
Deprecated - NW63: Discusses Open Transport 2.5's change to the behavior of raw IP endpoints with IP_HDRINCL set.
Networking Technical Q&As 1999-10-25
ReadLocation (HTML) (DMG) (ZIP)
Retrieves the Map control panel settings for longitude and latitude and the time offset from GMT.
User Experience Sample Code 2003-01-30
Receiving UDP Broadcasts (HTML) (日本語 HTML)
Deprecated - NW53: Explains why UDP endpoints may never receive UDP broadcast messages.
Networking Technical Q&As 1997-11-17
RecentItems (HTML) (DMG) (ZIP)
Implements "Recent items" menu(s)
Human Interface Toolbox, User Experience Sample Code 2006-10-09
RecordAudioToFile (HTML) (DMG) (ZIP)
Demonstrates recording audio to an AAC file using Core Audio
Audio Sample Code 2007-02-27
Recording Compressed Sounds (HTML) (日本語 HTML)
Deprecated - SND14: Sound Manager and sound input driver compression options are limited to allow interrupt time recording.
Audio Technical Q&As 1998-04-12
Registering a Bonjour service multiple times (HTML)
QA1311: Explains why registering the same Bonjour service twice on the same machine doesn't cause a name conflict.
Networking Technical Q&As 2003-10-23
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
Registering custom pixel formats with QuickTime and Core Video (HTML)
QA1401: Discusses how to register custom pixel formats with QuickTime & Core Video with QuickTime 7.
QuickTime Technical Q&As 2005-09-06
ReKeyTrans (HTML) (DMG) (ZIP)
Shows how to patch KeyTrans to ignore dead-key processing so you type fancy accented characters.
User Experience Sample Code 2003-01-30
Requirements for Quartz GL (HTML)
QA1536: Describes the requirements for enabling Quartz GL.
Games, Graphics & Imaging, Performance, User Experience Technical Q&As 2008-08-08
Resolution Independence Guidelines (HTML) (PDF)
Describes resolution independence and how to start updating applications to support high-resolution monitors.
Graphics & Imaging, User Experience Guides 2007-05-04
Resolution Independent UI Release Notes (HTML)
Graphics & Imaging Release Notes 2005-04-29
resolveRelativeAlias (HTML) (DMG) (ZIP)
Demonstrates the steps involved in creating and resolving a relative alias.
File Management Sample Code 2003-01-14
Resolves may return an IPv6 address in Panther (HTML)
QA1298: Explains why you get an IP address of 0.0.0.0 when resolving a Bonjour service.
Networking Technical Q&As 2005-01-10
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
Resource forks in Mach-O binaries (HTML) (日本語 HTML)
QA1175: Advises against using resource forks in Mach-O binaries.
Human Interface Toolbox, Resource Management, Runtime Architecture Technical Q&As 2002-08-07
Resource Manager Reference (HTML) (PDF)
Describes the C API for accessing information stored in resource files.
File Management, 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 2007-09-04
Retrieving Data from AEDesc Records - do not use the dataHandle field (HTML) (日本語 HTML)
QA1139: Describes the correct way to access data stored in AEDesc records.
Interapplication Communication Technical Q&As 2002-04-10
ROMResourceDump (HTML) (DMG) (ZIP)
Deprecated - Illustrates how to copy all resources in the Macintosh's ROM into a file.
User Experience Sample Code 2003-01-30
Run Loops (HTML) (PDF)
Explains how Core Foundation run loops process input.
Core Foundation, Events & Other Input Guides 2003-01-17
Runtime Configuration Guidelines (HTML) (PDF)
Conceptual and reference information for dynamically configuring your software.
Design Guidelines Guides 2007-04-18
SampleCMPlugIn (HTML) (DMG) (ZIP)
A contextual menu plugIn for Mac OS X.
Design Guidelines, Human Interface Toolbox, Resource Management, Scripting & Automation, User Experience Sample Code 2006-10-09
SampleScannerApp (HTML) (DMG) (ZIP)
This project implements a simple client accessing an ICA scanning device.
Graphics & Imaging Sample Code 2008-05-07
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
Saving the current Core Graphics Path (HTML)
QA1056: Explains that the Core Graphics save and restore GState APIs do not affect the path.
Graphics & Imaging, Printing Technical Q&As 2001-10-02
Scoping Your Transition Projects (HTML)
Learn how to transition to Intel-based Macs.
Intel-Based Macs, Porting Articles 2005-09-27
Scrap Manager Reference (HTML) (PDF)
Deprecated - Describes the legacy C API used to copy items to and from the Clipboard. Replaced by the Pasteboard Manager.
Interapplication Communication Reference 2007-12-11
Scrap Parsing (HTML) (DMG) (ZIP)
Deprecated - Shows how to parse the in-memory scrap.
User Experience Sample Code 2003-01-30
Script Manager Reference (HTML) (PDF)
Deprecated - Describes the legacy C API that was used for managing writing systems. Replaced by Unicode technology.
Text & Fonts Reference 2007-12-11
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
Scripting Interface Guidelines (HTML)
TN2106: Directions for providing a clean and consistent scripting interface for your application.
Scripting & Automation Technical Notes 2004-03-01
ScrollAndZoom (HTML) (DMG) (ZIP)
An illustration of the use of the Context Transformation Matrix (CTM) for zooming and scrolling a HIView.
Human Interface Toolbox Sample Code 2005-08-10
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
SCSIAction and IOSCSIUserClient on Mac OS X 10.2 (HTML) (日本語 HTML)
QA1201: Describes migrating to a new API for SCSI Parallel devices starting with Mac OS X 10.2.
Printing Technical Q&As 2002-09-13
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.
Porting, Runtime Architecture, Tools Sample Code 2005-06-06
Search Kit Programming Guide (HTML) (PDF)
Describes Search Kit architecture and workflow, and how to add search capabilities to Carbon and Cocoa applications.
Data Management, Text & Fonts, User Experience Guides 2005-12-06
Search Kit Reference (HTML) (PDF)
Programming interfaces that support user searching of textual content, supporting query-based and similarity-based searches.
Data Management, Text & Fonts, User Experience Reference 2006-07-14
Searching Volumes - Solutions and Problems (HTML)
Deprecated - FL31: Discusses searching volumes using PBCatSearch.
File Management Technical Notes 1988-10-01
SearchKit Release Notes (HTML)
User Experience Release Notes 2005-04-29
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
Security Guides 2006-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
Securely Erasing, Accessing and Dismounting a Macintosh Partition (HTML) (日本語 HTML)
FL11: Set up a disk for secure erasures. Resources with information on magnetic disks, information recovery.
Data Management, Design Guidelines, File Management, User Experience Technical Q&As 1999-01-11
Security Framework Error Codes (HTML)
QA1499: Explains how to interpret errors returned by the Security Framework with an overview of Security error handling.
Security Technical Q&As 2006-11-16
Security Framework Reference (HTML) (PDF)
Describes the C API for protecting information and controlling access to software.
Security Reference 2006-05-23
Security Overview (HTML) (PDF)
An introduction to computer security concepts and the Mac OS X security APIs.
Security Guides 2008-02-08
Security Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security framework.
Security Reference 2007-07-18
SeeMyFriends (HTML) (DMG) (ZIP)
Illustrates how to use SyncServices API in a Carbon (HLTB) based application
Syncing Sample Code 2006-10-16
Selecting a specific sound input source (HTML) (日本語 HTML)
Deprecated - SND10: Using the sound input driver to select specific sound input sources.
Audio Technical Q&As 1998-01-16
Sending an Email (HTML)
QA1084: Shows how to create an email in the user's prefered email application.
Interapplication Communication, Internet & Web, Networking Technical Q&As 2004-11-05
Sequence Grabber - Determining the capture resolution of an IIDC device (HTML)
QA1403: Discusses how to determine the resolution of a captured image from an IIDC device
QuickTime Technical Q&As 2005-01-06
Sequence Grabber preallocates large file when recording (HTML)
QA1411: Describes how to prevent the Sequence Grabber from filling your entire disk when recording.
QuickTime Technical Q&As 2006-02-06
Server Endpoint 'qlen' Limit (HTML) (日本語 HTML)
Deprecated - NW38: Tells how to determine the maximum 'qlen' value which limits the number of supported handoff endpoints.
Networking Technical Q&As 1996-08-21
SetCustomIcon (HTML) (DMG) (ZIP)
Demonstrates how to programmatically set a custom icon for a file, folder, or disk.
User Experience Sample Code 2006-08-01
SetFontInfoForSelection incorrect prototype (HTML)
QA1375: Describes the incorrect prototyping of the SetFontInfoForSelection API and gives a workaround.
Events & Other Input, Human Interface Toolbox, Text & Fonts, User Experience Technical Q&As 2004-10-04
SetIndString (HTML) (DMG) (ZIP)
Implements SetIndString(), which sets a particular STR# string to the passed in string. Similar to GetIndString()
Data Management, Resource Management, User Experience Sample Code 2003-01-30
SetMouseAcclSample (HTML) (DMG) (ZIP)
Find HID System Manager and get/set cursor acceleration
Events & Other Input Sample Code 2006-11-28
Setting a Control's Variant Field (HTML) (日本語 HTML)
Deprecated - TB63: Details how to change the variant of a custom control after creating the control.
Human Interface Toolbox Technical Q&As 1999-05-03
Setting a UserPane's feature (HTML) (日本語 HTML)
TB64: Explains how to set up the control attributes when creating controls, and UserPanes in particular.
Human Interface Toolbox Technical Q&As 1999-09-27
Setting Audio Input Gain (HTML) (日本語 HTML)
Deprecated - SND11: Setting audio input gain under Mac OS 8.1.
Audio Technical Q&As 1998-02-10
Setting default open Finder window (HTML)
QA1449: How to set the default Finder window to open when a disk is mounted
File Management, Human Interface Toolbox Technical Q&As 2006-01-03
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Data Management, Games, Interapplication Communication, Porting, Process Management, Resource Management, Runtime Architecture, Tools Technical Q&As 2001-10-25
Setting request headers in URL Access (HTML) (日本語 HTML)
Deprecated - QA1073: Explains how to work around a bug in URL Access when setting request headers.
Networking Technical Q&As 2002-09-10
Setting Up Your Carbon Application to Use the Services Menu (HTML) (PDF)
Explains how to make a Carbon application share functionality with other applications.
Interapplication Communication, User Experience Guides 2003-12-10
SetWindBackColor (HTML) (DMG) (ZIP)
Demonstrates how to programmatically set the background color of a window without flicker without the Appearance Manager.
Human Interface Toolbox, User Experience Sample Code 2003-01-30
Sheets (HTML) (DMG) (ZIP)
Demonstrates how to create a sheet both in code and through the use of a Nib file.
Human Interface Toolbox Sample Code 2003-10-24
siActive Channels Unsupported on Some Power Macs (HTML) (日本語 HTML)
Deprecated - SND03: siActive Channels is unsupported on some older PowerMacs (siUnknownInfoType returned by SPBGetDeviceInfo).
Audio Technical Q&As 1996-06-01
SICN LDEF (HTML) (DMG) (ZIP)
Implements an LDEF that displays small icons to the left of text in a list.
User Experience Sample Code 2003-01-30
Signals and Threads (HTML) (日本語 HTML)
QA1184: Describes how threads and signals interact.
Process Management Technical Q&As 2002-08-27
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
SillyFrequencyLevels (HTML) (DMG) (ZIP)
Demonstrates how to obtain audio frequency levels from a Movie using SetMovieAudioFrequencyMeteringNumBands and GetMovieAudioFrequencyLevels APIs.
QuickTime Sample Code 2006-01-25
siMonitorSource Selector (HTML) (日本語 HTML)
Deprecated - SND13: Using the sound output siMonitorAvailable, and siMonitorSource selectors.
Audio Technical Q&As 1998-04-12
Simple DrawSprocket (HTML) (DMG) (ZIP)
Deprecated - Simple use of DrawSprocket to set screen resolution and size.
Games, Graphics & Imaging, User Experience Sample Code 2003-07-22
SimpleHIMovieViewPlayer (HTML) (DMG) (ZIP)
Demonstrates how to use HIMovieView to play QuickTime Movies.
QuickTime Sample Code 2005-07-15
SimpleList (HTML) (DMG) (ZIP)
A simple illustration of a ListBox Control implementation and its pitfall
User Experience Sample Code 2003-01-30
SimplePlayThru (HTML) (DMG) (ZIP)
Use the HAL's Audio Output Unit (AUHAL) for device input and output on a single device (play-thru)
Audio Sample Code 2006-10-25
SimpleSpeechRecExample (HTML) (DMG) (ZIP)
Demonstrates how to use the Speech Recognition Manager in a simple application.
Accessibility, Audio, User Experience Sample Code 2003-03-26
SimpleTabControl (HTML) (DMG) (ZIP)
Demonstrates how to use a simple tabbed pane window. This control is often used in preferences.
Human Interface Toolbox, User Experience Sample Code 2003-02-20
SimpleVideoOut (HTML) (DMG) (ZIP)
Demonstrates how QuickTime Video Output Components can be used to play video out to hardware.
QuickTime Sample Code 2005-08-10
Simplifying Data Handling with Uniform Type Identifiers (HTML)
Learn to use UTIs to take advantage of key Mac OS X technologies in your application.
Data Management, File Management, Interapplication Communication Articles 2005-07-12
siOSTypeInput Selectors (HTML) (日本語 HTML)
Deprecated - SND12: The use of siOSTypeInputSource, and siOSTypeInputAvailable selectors and extracting the siOSTypeInputAvailable OSTypes returned.
Audio Technical Q&As 1998-04-12
siOSTypeInputAvailable Format (HTML) (日本語 HTML)
Deprecated - SND09: The format of the data returned by the siOSTypeInputAvailable selector is SoundInfoList.
Audio Technical Q&As 1998-01-16
Software Delivery Guide (HTML) (PDF)
Explains how to distribute and install Mac OS X software using PackageMaker and Installer.
Tools, User Experience Guides 2006-07-24
Son of Grab (HTML) (DMG) (ZIP)
Shows how to use the new CGWindow to get window images from the Window Server.
Graphics & Imaging Sample Code 2007-11-01
Sorting Like the Finder (HTML)
QA1159: Shows how to sort strings like the Finder's list view.
File Management, Text & Fonts Technical Q&As 2004-10-27
Sound Manager 3.3 (HTML)
Deprecated - Summary of Sound Manager legacy releases 3.1, 3.2.1, and 3.3.
Audio Reference 2001-11-15
The Sound of Opportunity Knocking: The Audio Units Community Takes Off (HTML)
Learn how one developer created a successful business using audio units.
Audio Articles 2005-10-31
Speech Recognition Manager Reference (HTML) (PDF)
Describes the C API for recognizing and accepting spoken input.
Accessibility, Events & Other Input, User Experience Reference 2003-02-01
Speech Release Notes (HTML)
New document that describes new features, notes, and known issues for speech synthesis on Mac OS X v10.5.
User Experience Release Notes 2007-10-31
Speech Synthesis Manager Reference (HTML) (PDF)
Describes the C API for converting text into synthesized speech.
Accessibility, User Experience Reference 2007-05-15
Speech Synthesis Programming Guide (HTML) (PDF)
Describes speech synthesis in Mac OS X and explains how your application can produce customized spoken output.
User Experience Guides 2006-09-05
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.
Design Guidelines, Runtime Architecture Sample Code 2005-08-10
Splasher (HTML) (DMG) (ZIP)
Closes a modal window, such as a splash screen, with a mouse click or key press.
User Experience Sample Code 2003-01-30
SplitView (HTML) (DMG) (ZIP)
An HIView sample that uses the HIFramework and implements a scalable split view.
Human Interface Toolbox Sample Code 2003-01-30
Spooling in or out of CompressPicture or CompressImage (HTML)
Deprecated - QD17: Recommends alternatives to spooling the results of CompressPicture or CompressImage to or from disk.
Graphics & Imaging Technical Q&As 1995-09-15
Spotlight Importer Programming Guide (HTML) (PDF)
Describes the role of metadata importers and how to write them.
File Management Guides 2007-05-27