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

Sort by
Title
Sort by
Topic
Sort by
Resource Type
Sorted by
Date
Programming with the Appearance Manager (HTML)
Explains how to make an application's user interface look like the Mac OS user interface.
Human Interface Toolbox, User Experience Guides 2001-11-20
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
Adding an automated Window menu to your application (HTML)
QA1080: Explains how to add an automated Window menu to your Carbon application.
Design Guidelines, Human Interface Toolbox Technical Q&As 2001-10-30
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
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
The intermittent behavior of SetDialogItemText (HTML)
Deprecated - QA1082: Explains why SetDialogItemText may seem to not work correctly if you have embedding turned on.
Human Interface Toolbox Technical Q&As 2001-10-30
QuickTime and Carbon Events (HTML)
QA1090: Discusses how to ensure smooth movie playback when using Carbon Events in an application.
Design Guidelines Technical Q&As 2001-10-26
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
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
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Graphics & Imaging, Printing Technical Q&As 2001-10-02
How to use URL Access with proxy servers (HTML)
Deprecated - QA1074: Explains how to use URL Access with proxy servers.
Networking Technical Q&As 2001-10-02
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
Avoiding Kernel Event Conflicts (HTML)
QA1063: Documents the namespace for the vendor_code field of the kern_event_msg structure.
Process Management Technical Q&As 2001-09-14
Installing input methods on Mac OS X (HTML)
QA1054: Describes how to install and use input methods on Mac OS X.
Human Interface Toolbox, Interapplication Communication, Text & Fonts Technical Q&As 2001-09-14
Carbon Full Screen Conundrums (HTML)
QA1068: Describes the available Mac OS X DrawSprocket services.
Games Technical Q&As 2001-08-20
Threading Architectures (HTML) (日本語 HTML)
TN2028: Describes the various threading APIs on Mac OS 9 and Mac OS X.
Process Management, Runtime Architecture Technical Notes 2001-08-08
CGContext Bounds (HTML)
QA1048: Explains how to determine the bounds of a CGContext.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
How do I use kMPCreateTaskSuspendedMask with MPCreateTask? (HTML)
QA1055: Describes how to start a task that has been suspended with the ability to resume it later.
Process Management, Runtime Architecture Technical Q&As 2001-07-02
Turning Off Core Graphics Clipping (HTML)
QA1050: Explains how to clear the clipping path for a CGContext.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
Unexpected CG state changes (HTML)
QA1045: Explains why the Core Graphics drawing state sometimes changes for no apparent reason.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Apple Applications, User Experience Technical Q&As 2001-06-13
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, Interapplication Communication, Process Management Technical Notes 2001-06-07
Browser Plugins in Mac OS X (HTML) (日本語 HTML)
TN2020: Describes the format of web browser plugins for Mac OS X.
Process Management, Runtime Architecture Technical Notes 2001-05-31
Targeting DebuggingCarbonLib asserts (HTML)
Deprecated - QA1033: Describes how to focus DebuggingCarbonLib asserts to a single application.
Runtime Architecture Technical Q&As 2001-05-04
ICLaunchURL, "file:///" URLs and Mac OS X (HTML)
QA1028: Describes problems with ICLaunchURL and "file:///" URLs on Mac OS X.
Process Management Technical Q&As 2001-04-20
Improving ATSUI Text Drawing Performance (HTML)
QA1027: Talks about one way of improving ATSUI text drawing performance.
Graphics & Imaging, Text & Fonts Technical Q&As 2001-04-17
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, Process Management Technical Notes 2001-04-17
How do I use QuickDraw with CGDirectDisplay? (HTML)
QA1011: Explains how to draw to a CGDirectDisplay-captured display using QuickDraw.
Games, Graphics & Imaging Technical Q&As 2001-04-11
Calling AppleScript from an Application (HTML)
QA1026: Describes how to call an AppleScript from an application written in C.
Interapplication Communication Technical Q&As 2001-04-10
Locating Application Support Files under Mac OS X (HTML) (日本語 HTML)
TN2015: Describes different methods for an application to determine its location.
File Management, Process Management, Runtime Architecture Technical Notes 2001-03-27
Disconnected aliases on CD-ROM and Alias Manager (HTML)
OPS05: Explains why aliases may become disconnected on a CD-ROM.
File Management Technical Q&As 2001-03-26
Creating Sub GWorlds using QTNewGWorldFromPtr (HTML)
QA1014: Using QTNewGWorldFromPtr to create sub GWorlds which reference the pixel data of other GWorlds.
QuickTime Technical Q&As 2001-03-20
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
WaitMouseUp documentation errata (HTML)
QA1008: Specifies the correct behavior of the WaitMouseUp function.
Events & Other Input Technical Q&As 2001-02-27
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
BowelsOfTheMemoryManager (aka YourHeapIsProbablyCorrupt) (HTML) (日本語 HTML)
Deprecated - ME05: What the symbol BowelsoftheMemoryManager means and the most probable cause of this symbol in MacsBug.
Data Management Technical Q&As 2001-02-01
CalcCMask and SeedCFill in Carbon (HTML) (日本語 HTML)
QD62: Explains how to use CalcCMask and SeedCFill in Carbon even though Carbon doesn't support OpenPort.
Graphics & Imaging Technical Q&As 2000-11-08
The CGDirectPalette API (HTML) (日本語 HTML)
TN2008: Provides a reference for the CGDirectPalette API on Mac OS X
Graphics & Imaging, User Experience Technical Notes 2000-11-08
GetPortBitMapForCopyBits (HTML) (日本語 HTML)
Deprecated - QD61: Describes the proper usage of GetPortBitMapForCopyBits.
Graphics & Imaging Technical Q&As 2000-11-08
QDFlushPortBuffer (HTML) (日本語 HTML)
QD65: Describes a possible solution for window update problems under Carbon.
Events & Other Input, Graphics & Imaging, Human Interface Toolbox, Porting Technical Q&As 2000-11-08
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
Detecting Classic and Carbon X Environments (HTML) (日本語 HTML)
OV03: Describes how to find out if your application is running in the Classic environment in Mac OS X.
Porting, Runtime Architecture Technical Q&As 2000-10-16
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
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
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 Technical Notes 2000-08-14
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
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
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 Technical Notes 2000-08-14
Power Manager 2.0 (HTML) (日本語 HTML)
TN1190: Describes the Macintosh Power Manager 2.0.
Process Management Technical Notes 2000-08-14
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 Technical Notes 2000-08-14
Working with Multiprocessing Services (HTML) (日本語 HTML)
TN1071: Discusses some techniques for use with Apple's Multiprocessing Services APIs.
Process Management Technical Notes 2000-08-14
Creating NetBoot Server-Friendly Applications (HTML) (日本語 HTML)
TN1151: Guidelines to ensure applications are able to work correctly in a NetBoot environment.
Design Guidelines Technical Notes 2000-08-01
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
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
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 Technical Notes 2000-06-01
The 'vers' Resource and Your Place in the World (HTML)
TX14: Setting the correct country code in the 'vers' resource to reflect the application's localization.
Resource Management Technical Q&As 2000-05-01
Digital CD Audio (HTML) (日本語 HTML)
TN1187: Describes digital audio on the Macintosh.
Audio Technical Notes 2000-04-01
Are there any OSStatus values I can use in my programs? (HTML)
OV02: Describes OSStatus values that generate errors without colliding with reserved Apple system values.
Design Guidelines Technical Q&As 1999-11-22
PBLockRange with a zero-length range (HTML)
FL13: Describes the afpRangeOverlap error and a work around.
File Management Technical Q&As 1999-11-22
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
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
Accessing File Control Blocks (HTML) (日本語 HTML)
FL10: Shows how to access file control blocks correctly, reiterating not to access FCBs directly.
File Management Technical Q&As 1999-10-05
Detecting specific ROM-in-RAM Mac (HTML) (日本語 HTML)
Deprecated - HW49: Identifying a Mac by name ("iMac"), and better alternatives for determining specific features ("has Firewire").
Design Guidelines, Runtime Architecture Technical Q&As 1999-10-05
Synchronizing Sounds to Video (HTML) (日本語 HTML)
Deprecated - SND19: Enabling regular sound callbacks under Mac OS 9 and Sound Manager 4.0.
Audio Technical Q&As 1999-10-05
Synchronous SysBeep (HTML) (日本語 HTML)
Deprecated - SND18: Obtaining a synchronous SysBeep with Sound Manager 3.1.
Audio Technical Q&As 1999-10-05
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
Allocate and Disk Full Error (HTML) (日本語 HTML)
FL12: Discusses a problem with AFP volumes displaying incorrect free space, and returning disk full errors.
File Management, Networking Technical Q&As 1999-07-21
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
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
TCP/IP Option Sizes (HTML) (日本語 HTML)
NW62: Enumerates the TCP/IP options and their sizes for Open Transport.
Networking, Porting Technical Q&As 1999-04-26
You Want Permission to do What?!! (HTML)
FL37: Provides an-depth discussion of the File Manager and AFP permission models.
File Management Technical Notes 1999-04-01
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
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
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
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
The Preferences Problem (HTML) (日本語 HTML)
Deprecated - TN1134: Outlines typical problems with preferences files and some of their solutions.
File Management Technical Notes 1998-10-01
Determining if a Drive is a Network Volume (HTML) (日本語 HTML)
NW09: Shows how to determine if a volume is mounted over the network.
File Management, Networking Technical Q&As 1998-06-01
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
Capturing Speech Manager Output (HTML) (日本語 HTML)
Deprecated - SND15: Capturing the output from the Speech Synthesis Manager to a file.
Audio Technical Q&As 1998-05-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 Technical Notes 1998-05-01
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
siMonitorSource Selector (HTML) (日本語 HTML)
Deprecated - SND13: Using the sound output siMonitorAvailable, and siMonitorSource selectors.
Audio Technical Q&As 1998-04-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
Virtual Memory Application Compatibility (HTML)
Deprecated - TN1094: Provides an introduction to how virtual memory works under Traditional Mac OS.
Runtime Architecture Technical Notes 1998-04-01
Parsing the PICT File Format (HTML) (日本語 HTML)
Deprecated - QD56: Explains where to find information on the PICT file format and warns against parsing a PICT file.
Graphics & Imaging Technical Q&As 1998-02-10
Setting Audio Input Gain (HTML) (日本語 HTML)
Deprecated - SND11: Setting audio input gain under Mac OS 8.1.
Audio Technical Q&As 1998-02-10
Locking and Unlocking Handles (HTML) (日本語 HTML)
Deprecated - TN1122: Explains Memory Manager handles: locking, unlocking, and preserving a handle's state.
Data Management, Process Management, Resource Management, Runtime Architecture Technical Notes 1998-02-01
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
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
Open Transport STREAMS FAQ (HTML)
Deprecated - TN1117: Decribes writing STREAMS modules and drivers for use with Open Transport.
Networking Technical Notes 1997-12-01
Creating Gray Scaled Images > 8 bits (HTML) (日本語 HTML)
Deprecated - QD51: Shows how to create gray-scaled images at resolutions greater than 8 bits for display.
Graphics & Imaging, User Experience Technical Q&As 1997-11-17
Receiving UDP Broadcasts (HTML) (日本語 HTML)
Deprecated - NW53: Explains why UDP endpoints may never receive UDP broadcast messages.
Networking Technical Q&As 1997-11-17
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
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 Technical Notes 1997-10-01
Deselecting Icons in the Finder (HTML) (日本語 HTML)
IC04: Shows how to programmatically deselect icons in the Finder.
Interapplication Communication Technical Q&As 1997-07-11
How to use the OT modem script engine (HTML) (日本語 HTML)
Deprecated - NW50: Shows how to use the Open Transport modem script engine.
Networking Technical Q&As 1997-07-11
68K Open Transport Code on Power Macintoshes (HTML)
Deprecated - NW48: Explains why running Open Transport 68K code on a PowerPC may not always work.
Networking Technical Q&As 1997-03-14
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Networking, Performance Technical Q&As 1997-03-14