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
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 2009-01-06
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
Runtime Configuration Guidelines (HTML) (PDF)
Conceptual and reference information for dynamically configuring your software.
Design Guidelines Guides 2008-07-08
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 a deprecated technology replaced by Unicode facilities.
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
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)
Describes the interface for supporting user searches of textual content.
Data Management, Text & Fonts, User Experience Reference 2009-05-06
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 2008-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 API for protecting information.
Security Reference 2008-03-12
Security Overview (HTML) (PDF)
An introduction to computer security concepts and the security APIs in Mac OS X and iPhone OS.
Security Guides 2008-10-15
Security Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security framework.
Security Release Notes 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 interface 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 2009-04-08
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
Spotlight Metadata Attributes Reference (HTML) (PDF)
Describes metadata attributes used with Spotlight.
File Management Reference 2007-05-22
Spotlight Overview (HTML) (PDF)
Introduces the main components and services of Apple's metadata technology.
Design Guidelines Guides 2007-05-27
Spotlight Query Programming Guide (HTML) (PDF)
Describes how to add Spotlight searching to your applications.
File Management Guides 2006-03-08
Spotlight Reference Collection (HTML) (PDF)
Describes the API used to define Apple's desktop search technology, Spotlight.
File Management Reference 2006-07-13
SpotlightFortunes (HTML) (DMG) (ZIP)
Demonstrates how to provision a Spotlight importer plug-in for a custom UTI, and how to use a NSMetadataQuery with bindings to display live query results in a table view.
File Management Sample Code 2008-06-06