Jump To:
Leopard Reference Library: Carbon
File management consists of storing persistent information on a physical medium and retrieving that information later. Carbon provides several programming interfaces for gaining access to stored files, folders, and disc recordings. Developers can also create and display dialogs that solicit choices from users when they are opening and saving files.

Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Resource Type
Sort by
Date
Simplifying Data Handling with Uniform Type Identifiers (HTML)
Learn to use UTIs to take advantage of key Mac OS X technologies in your application.
Articles 2005-07-12
Tiger Develop Overview Series: Working with Spotlight (HTML)
Learn to make the most of Spotlight's powerful search technologies within your own applications.
Articles 2004-10-07
File System Overview (HTML) (PDF)
Conceptual information and guidelines describing the structure and usage of the Mac OS X file system.
Guides 2008-07-11
Uniform Type Identifiers Overview (HTML) (PDF)
Describes uniform type identifiers and how to use them.
Guides 2008-04-08
Launch Services Programming Guide (HTML) (PDF)
Explains how an application can open document files, other applications, and URLs.
Guides 2007-08-23
Navigation Services Programming Guide (HTML) (PDF)
Explains how to provide a user interface for navigating to, opening, and saving files.
Guides 2007-07-10
Spotlight Importer Programming Guide (HTML) (PDF)
Describes the role of metadata importers and how to write them.
Guides 2007-05-27
Spotlight Query Programming Guide (HTML) (PDF)
Describes how to add Spotlight searching to your applications.
Guides 2006-03-08
Navigation Services for Carbon: An Overview (HTML) (PDF)
Introduces changes to the Navigation Services API for CarbonLib and Carbon in Mac OS X.
Guides 2003-12-10
Audio File Services Reference (HTML) (PDF)
Describes a C programming interface for reading and writing audio files.
Reference 2008-07-08
Disc Recording Framework Reference (HTML)
Describes the Objective-C and C API for burning audio and data CDs and DVDs.
Reference 2008-04-08
Disc Recording UI Framework Reference (HTML)
Describes the Objective-C and C API for presenting a user interface when burning audio and data CDs and DVDs.
Reference 2008-04-08
Resource Manager Reference (HTML) (PDF)
Describes the C API for accessing information stored in resource files.
Reference 2007-10-31
File Manager Reference (HTML) (PDF)
Describes the C API for basic file management tasks, such as opening and saving files.
Reference 2007-07-13
CFFileDescriptor Reference (HTML) (PDF)
Describes an object for monitoring file descriptors for read and write activity.
Reference 2007-05-23
Spotlight Metadata Attributes Reference (HTML) (PDF)
Describes metadata attributes used with Spotlight.
Reference 2007-05-22
Alias Manager Reference (HTML) (PDF)
Describes the C API for creating and managing persistent references to file system objects.
Reference 2006-12-05
Finder Interface Reference (HTML) (PDF)
Describes several C data types used by the Finder to contain information about file system objects.
Reference 2006-10-31
Navigation Services Reference (HTML) (PDF)
Describes the C API for presenting a user interface for opening, saving, and navigating files.
Reference 2006-08-16
Launch Services Reference (HTML) (PDF)
Describes an API for opening documents, other applications, and URLs, in a way similar to the Finder or the Dock.
Reference 2006-07-13
MDLineage Reference (HTML) (PDF)
Describes the interface for tracking versions of a file.
Reference 2006-07-13
Spotlight Reference Collection (HTML) (PDF)
Describes the API used to define Apple's desktop search technology, Spotlight.
Reference 2006-07-13
URL Access Manager Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for transferring data to and from a URL from within an application. Replaced by CFNetwork.
Reference 2006-07-13
Folder Manager Reference (HTML) (PDF)
Describes the C API for finding and accessing directories, including common Mac OS X system locations.
Reference 2006-07-12
Translation Manager Reference (HTML) (PDF)
Describes the C API for handling data and documents between applications, including applications from another operating system.
Reference 2006-07-12
MDItem Reference (HTML) (PDF)
Describes the metadata attributes for a file.
Reference 2006-06-28
MDQuery Reference (HTML) (PDF)
Describes a metadata query.
Reference 2005-06-04
MDImporter Reference (HTML) (PDF)
Describes the plug-in architecture and callbacks required by a document metadata importer.
Reference 2005-04-29
MDSchema Reference (HTML) (PDF)
Describes a metadata schema.
Reference 2005-04-29
Carbon Core Release Notes (HTML)
Release Notes 2007-10-31
DiscRecording Release Notes (HTML)
Updated for Mac OS X v10.5
Release Notes 2007-10-31
Launch Services Release Notes (HTML)
Release Notes 2007-10-31
Application Services Reference Update (HTML) (PDF)
Summarizes the symbols added to the Application Services framework.
Release Notes 2007-07-18
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.
Sample Code 2008-06-06
FSMegaInfo (HTML) (DMG) (ZIP)
Prints information about various file system objects; helpful when debugging VFS plug-ins.
Sample Code 2008-02-25
FSReplaceObject (HTML) (DMG) (ZIP)
FSReplaceObject is an example command line tool showing how to exercise the FSReplaceObject and FSPathReplaceObject related APIs.
Sample Code 2007-02-14
VolumeToBSDNode (HTML) (DMG) (ZIP)
Shows how to iterate across all mounted volumes and retrieve their BSD node names.
Sample Code 2006-10-16
CFPrefTopScores (HTML) (DMG) (ZIP)
How to access globally shared (writable) user preferences without requiring authentication.
Sample Code 2006-10-09
Watcher (HTML) (DMG) (ZIP)
Uses FSEvents to monitor a directory hierarchy to keep track of its total size
Sample Code 2006-08-04
filesystem_examples (HTML) (DMG) (ZIP)
Collection of command line tools illustrating filesystem features.
Sample Code 2006-01-10
FileNotification (HTML) (DMG) (ZIP)
kqueue file notification introduced in 10.3. Notification API to detect file system modifications.
Sample Code 2005-10-27
DisplayURL (HTML) (DMG) (ZIP)
Parses a passed in path URL into its various components displaying server information.
Sample Code 2005-10-04
FSFileOperation (HTML) (DMG) (ZIP)
This sample shows how to use the FSFileOperation API which supports copying and moving filesystem objects.
Sample Code 2005-06-06
FSCreateFileAndOpenForkUnicode (HTML) (DMG) (ZIP)
Demonstartes the use of FSCreateFileAndOpenForkUnicode to create a file with restricted access on disk and a read/write access path.
Sample Code 2005-06-01
FSRemoveInheritedACEs (HTML) (DMG) (ZIP)
Demonstrates manipulating access control lists of existing file system objects using the File Manager.
Sample Code 2005-06-01
MoreFilesX (HTML) (DMG) (ZIP)
Deprecated - Shows various File Manager operations through a collection of high-level routines using HFS Plus APIs.
Sample Code 2005-05-13
DRDataBurnCarbonUI (HTML) (DMG) (ZIP)
DRDataBurnCarbonUI shows how to use the standard DiscRecording burn setup and progress panel from Carbon.
Sample Code 2004-04-09
DREraseCarbonUI (HTML) (DMG) (ZIP)
DREraseCarbonUI shows how to use the DiscRecording erase setup and progress panel from Carbon.
Sample Code 2004-04-09
FSCopyObject (HTML) (DMG) (ZIP)
Copy engine for copying files and directories.
Sample Code 2004-03-19
AddNibToNav (HTML) (DMG) (ZIP)
Shows how to create a custom area, instantiated from a nib file, in a Navigation Services dialog.
Sample Code 2004-01-22
AsyncPB (HTML) (DMG) (ZIP)
Deprecated - Describes how to chain File System calls from an interrupt handler like a Time Manager task.
Sample Code 2003-10-27
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Sample Code 2003-10-27
FinderLaunch (HTML) (DMG) (ZIP)
Shows how to open documents by sending Apple Events to the Finder.
Sample Code 2003-10-14
GrabBag (HTML) (DMG) (ZIP)
Demonstrates variety of techniques and features of Carbon. DataBrowser , PBCatalogSearchAsync, Overlay windows, Tab controls, more...
Sample Code 2003-07-29
Fragment Tool (HTML) (DMG) (ZIP)
Demonstrates manipulation of code fragments; combining and separating; viewing and editing information associated with each.
Sample Code 2003-01-30
audioburntest (HTML) (DMG) (ZIP)
Uses the DRTrackCallbackProc and track properties to create a RedBook audio CD from AIFF files.
Sample Code 2003-01-14
bulkerase (HTML) (DMG) (ZIP)
Demonstrates how to erase media using the DiscRecording framework.
Sample Code 2003-01-14
databurntest (HTML) (DMG) (ZIP)
Demonstrates how to create a DRFolderRef and burn it to disc.
Sample Code 2003-01-14
FinderDragPro (HTML) (DMG) (ZIP)
Sample file illustrating drag and drop techniques for use with file system objects.
Sample Code 2003-01-14
Folder Watching (HTML) (DMG) (ZIP)
Demonstrates how a background only application can use Apple events to pass work to another application.
Sample Code 2003-01-14
MoreFiles (HTML) (DMG) (ZIP)
Shows various File Manager operations (file copy, etc.) through a collection of high-level routines.
Sample Code 2003-01-14
MPFileCopy (HTML) (DMG) (ZIP)
Demonstrates how to copy a folder and its contents using the HFS Plus APIs from an MP task.
Sample Code 2003-01-14
PutAwayVolumes (HTML) (DMG) (ZIP)
Deprecated - Demonstrates several ways to unmount a volume and which contexts might require which techniques.
Sample Code 2003-01-14
resolveRelativeAlias (HTML) (DMG) (ZIP)
Demonstrates the steps involved in creating and resolving a relative alias.
Sample Code 2003-01-14
SignatureToApp (HTML) (DMG) (ZIP)
Deprecated - Takes a signature (creator code) and finds the corresponding application, running or on disk.
Sample Code 2003-01-14
HFS Plus Volume Format (HTML) (日本語 HTML)
TN1150: Describes the physical layout of an HFS Plus volume.
Technical Notes 2004-03-05
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.
Technical Notes 2003-05-06
Exclusive File Access in Mac OS X (HTML) (日本語 HTML)
TN2037: Covers exclusive file access In Mac OS X
Technical Notes 2002-05-01
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.
Technical Notes 2001-06-07
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.
Technical Notes 2001-04-17
Locating Application Support Files under Mac OS X (HTML) (日本語 HTML)
TN2015: Describes different methods for an application to determine its location.
Technical Notes 2001-03-27
File Manager Performance and Caching (HTML)
FL16: Discusses traditional Mac OS file system input/output performance issues and the File Manager's volume cache.
Technical Notes 2000-09-01
File Manager File Handling Q&As (HTML)
FL515: Contains an archive of Q&As related to the Mac OS File Manager.
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.
Technical Notes 2000-07-01
Resolving Alias Files Quietly (HTML)
FL30: Describes how to resolve alias files on remote volumes without user interaction.
Technical Notes 1999-11-01
You Want Permission to do What?!! (HTML)
FL37: Provides an-depth discussion of the File Manager and AFP permission models.
Technical Notes 1999-04-01
The Preferences Problem (HTML) (日本語 HTML)
Deprecated - TN1134: Outlines typical problems with preferences files and some of their solutions.
Technical Notes 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.
Technical Notes 1997-10-01
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.
Technical Notes 1996-12-01
Searching Volumes - Solutions and Problems (HTML)
Deprecated - FL31: Discusses searching volumes using PBCatSearch.
Technical Notes 1988-10-01
Version Territory (HTML)
Deprecated - OV12: Please see Technical Note 1132 - Version Territory.
Technical Notes 1988-04-01
FSDeleteObject fails with fBsyErr, sometimes (HTML)
QA1497: Why Spotlight indexing can cause file deletion to fail, and what to do about it.
Technical Q&As 2008-09-24
Expanding Tilde-based paths (HTML)
QA1549: Demonstrates how to resolve tilde-based relevant paths.
Technical Q&As 2008-09-08
Why am I getting a bdNamErr when trying to use a file I just located? (HTML)
QA1392: Describes the problem caused by different forbidden characters in POSIX and HFS and a solution around the problem.
Technical Q&As 2006-11-14
Setting default open Finder window (HTML)
QA1449: How to set the default Finder window to open when a disk is mounted
Technical Q&As 2006-01-03
Weak Linking To Spotlight (HTML)
QA1422: Describes a problem with weak linking to Spotlight (the Metadata framework), and its solution.
Technical Q&As 2005-06-03
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.
Technical Q&As 2004-11-22
Sorting Like the Finder (HTML)
QA1159: Shows how to sort strings like the Finder's list view.
Technical Q&As 2004-10-27
Enabling the Navigation Services default behavior in its dialogs (HTML)
QA1384: Explains how to enable the default behavior of the Navigation Services dialogs.
Technical Q&As 2004-10-15
Avoiding the -42 error with DiscRecording (HTML)
QA1292: Explains how to workaround the -42 error when using the DiscRecording API.
Technical Q&As 2004-05-25
Directories Appear as Volume Aliases (HTML)
QA1351: Discusses how VFS plug-ins should handle device numbers to ensure compatibility with Carbon applications.
Technical Q&As 2004-05-25
Third party VFS can't unmount on Mac OS X 10.3 (HTML)
QA1308: Describes changes in unmounting behavior for VFS plug-ins under Mac OS X 10.3 "Panther."
Technical Q&As 2003-10-23
Non Mac OS X Bundled data-fork based Resources (HTML) (日本語 HTML)
QA1098: Mac OS X Bundled data-fork based Resources
Technical Q&As 2003-08-20
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.
Technical Q&As 2003-04-15
FSSetCatalogInfo versus UID and GID (HTML) (日本語 HTML)
QA1251: Describes why FSSetCatalogInfo does not set the UID and GID of the file, and provides a work around.
Technical Q&As 2003-03-26
Text Encodings in VFS (HTML) (日本語 HTML)
QA1173: How to handle text encodings correctly when writing a file system (VFS) plug-in for Mac OS X.
Technical Q&As 2003-02-10
File Manager Text Encoding Hints (HTML) (日本語 HTML)
QA1223: How to use Text Encoding Hints.
Technical Q&As 2003-01-20
How can I set the default location with the modern Navigation APIs NavCreatexxx? (HTML) (日本語 HTML)
QA1151: Explains how to set the default location with a NavCustomControl call using the kNavCtlSetLocation message in the Event Proc.
Technical Q&As 2002-07-01
The "/.vol" directory and "volfs" (HTML) (日本語 HTML)
QA1113: Describes how the Carbon File Manager interacts with BSD via "volfs" and the "/.vol" directory.
Technical Q&As 2002-02-14
Disconnected aliases on CD-ROM and Alias Manager (HTML)
OPS05: Explains why aliases may become disconnected on a CD-ROM.
Technical Q&As 2001-03-26
Finding your application's directory (HTML)
FL14: Demonstrates finding your application's directory and setting it as the default directory.
Technical Q&As 2000-06-19
PBLockRange with a zero-length range (HTML)
FL13: Describes the afpRangeOverlap error and a work around.
Technical Q&As 1999-11-22
Accessing File Control Blocks (HTML) (日本語 HTML)
FL10: Shows how to access file control blocks correctly, reiterating not to access FCBs directly.
Technical Q&As 1999-10-05
Allocate and Disk Full Error (HTML) (日本語 HTML)
FL12: Discusses a problem with AFP volumes displaying incorrect free space, and returning disk full errors.
Technical Q&As 1999-07-21
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.
Technical Q&As 1999-01-11
Determining if a Drive is a Network Volume (HTML) (日本語 HTML)
NW09: Shows how to determine if a volume is mounted over the network.
Technical Q&As 1998-06-01
Locking an Area Using PBLockRange (HTML) (日本語 HTML)
OPS09: Describes the behavior of PBLockRange.
Technical Q&As 1996-05-14