Jump To:
Leopard Reference Library
Core Foundation is a framework that provides fundamental software services. Developers can use Core Foundation to build cross-platform applications and can share code and data among frameworks, libraries, and applications. Core Foundation provides abstractions for common data types, facilitates internationalization through Unicode string storage, and offers a suite of utilities.

A guided introduction and learning path for developers new to Core Foundation.   Essential information for developers using the Core Foundation framework.   C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sorted by
Resource Type
Sort by
Date
CFUserNotification Reference (HTML) (PDF)
Describes a notification.
General Reference 2006-02-07
CFXMLNode Reference (HTML) (PDF)
Describes the opaque type for representing an individual XML construct.
General Reference 2006-02-07
CFBinaryHeap Reference (HTML) (PDF)
Describes a collection sorted using a binary search algorithm.
General Reference 2006-01-10
CFBitVector Reference (HTML) (PDF)
Describes an immutable ordered collection containing bit values.
General Reference 2005-12-06
CFBoolean Reference (HTML) (PDF)
Describes a Boolean value.
General Reference 2005-12-06
CFDate Reference (HTML) (PDF)
Describes a date and time.
General Reference 2005-12-06
CFMutableArray Reference (HTML) (PDF)
Describes an immutable ordered collection.
General Reference 2005-12-06
CFMutableBag Reference (HTML) (PDF)
Describes a mutable unordered collection that may contain duplicate values.
General Reference 2005-12-06
CFMutableCharacterSet Reference (HTML) (PDF)
Describes a mutable set of Unicode characters.
General Reference 2005-12-06
CFMutableDictionary Reference (HTML) (PDF)
Describes a mutable collection of key-value pairs.
General Reference 2005-12-06
CFMutableSet Reference (HTML) (PDF)
Describes a mutable unordered collection of distinct values.
General Reference 2005-12-06
CFNull Reference (HTML) (PDF)
Describes an object that represents null.
General Reference 2005-12-06
CFPlugInInstance Reference (HTML) (PDF)
Describes a deprecated technology replaced by the CFPlugin opaque type.
General Reference 2005-12-06
CFSet Reference (HTML) (PDF)
Describes an immutable unordered collection of distinct values.
General Reference 2005-12-06
CFTree Reference (HTML) (PDF)
Describes a tree structure.
General Reference 2005-12-06
CFNetwork Framework Release Notes (HTML)
Networking Release Notes 2007-10-31
CoreFoundation Framework Release Notes (HTML)
Design Guidelines, Performance Release Notes 2007-10-31
Core Foundation Reference Update (HTML) (PDF)
Summarizes the symbols added to the Core Foundation framework.
General Release Notes 2007-07-18
FSMegaInfo (HTML) (DMG) (ZIP)
Prints information about various file system objects; helpful when debugging VFS plug-ins.
File Management Sample Code 2008-02-25
CFProxySupportTool (HTML) (DMG) (ZIP)
Shows how to use the CFProxySupport APIs to decide whether a network connection should pass through a proxy.
Networking Sample Code 2007-10-29
CoreTextArc (HTML) (DMG) (ZIP)
Illustrates the use of fonts, lines, and runs in a CoreText text drawing Carbon application.
Text & Fonts Sample Code 2007-06-04
CoreTextTest (HTML) (DMG) (ZIP)
Shows how to handle the CoreText objects to display text.
Text & Fonts Sample Code 2006-12-19
CFFTPSample (HTML) (DMG) (ZIP)
A simple example showing how to use CFFTPStream to download and upload files.
Networking Sample Code 2006-10-13
CFPrefTopScores (HTML) (DMG) (ZIP)
How to access globally shared (writable) user preferences without requiring authentication.
Data Management, Design Guidelines, File Management, Resource Management Sample Code 2006-10-09
RecentItems (HTML) (DMG) (ZIP)
Implements "Recent items" menu(s)
Data Management Sample Code 2006-10-09
Watcher (HTML) (DMG) (ZIP)
Uses FSEvents to monitor a directory hierarchy to keep track of its total size
Events & Other Input, File Management Sample Code 2006-08-04
IdentitySample (HTML) (DMG) (ZIP)
IdentitySample builds a utility which demonstrates how to use the CoreServices Identity API to manage system-wide identities
Data Management Sample Code 2006-07-27
CheckExecutableArchitecture (HTML) (DMG) (ZIP)
Determine whether a particular Mach-O executable contains a version suitable for executing on a given processor architecture.
File Management, Resource Management Sample Code 2006-02-07
CFNetworkHTTPDownload (HTML) (DMG) (ZIP)
Demonstrates how to download a URL using CFNetworking.
Networking Sample Code 2006-01-18
filesystem_examples (HTML) (DMG) (ZIP)
Collection of command line tools illustrating filesystem features.
File Management Sample Code 2006-01-10
EventMonitorTest (HTML) (DMG) (ZIP)
Receive notification of all keyboard, mouse, and tablet events passed to other processes.
Events & Other Input Sample Code 2005-11-09
FileNotification (HTML) (DMG) (ZIP)
kqueue file notification introduced in 10.3. Notification API to detect file system modifications.
File Management Sample Code 2005-10-27
DisplayURL (HTML) (DMG) (ZIP)
Parses a passed in path URL into its various components displaying server information.
File Management Sample Code 2005-10-04
PasteboardPeeker (HTML) (DMG) (ZIP)
Using pasteboards for Copy and Paste, Drag and Drop, service support and filter services.
Text & Fonts Sample Code 2005-08-10
CFLocalServer (HTML) (DMG) (ZIP)
Uses UNIX domain sockets to communicate between client and server programs on the same machine.
Networking, Process Management Sample Code 2005-07-26
SimpleDial (HTML) (DMG) (ZIP)
Demonstrates management of dialup connections, such as PPP, using System Configuration framework network connection API.
Networking Sample Code 2005-07-26
SimpleReach (HTML) (DMG) (ZIP)
Demonstrates network host reachability testing using the System Configuration framework asynchronous network reachability API.
Networking Sample Code 2005-07-26
DNSServiceMetaQuery (HTML) (DMG) (ZIP)
Shows how to discover Bonjour service types being advertised on the local network.
Networking Sample Code 2005-06-01
ImageClient (HTML) (DMG) (ZIP)
Demonstrates how to use CFNetwork for synchronous and asynchronous operations, network diagnostics, proxy navigation, and authentication.
Networking Sample Code 2005-06-01
ManagedObjectDataFormatter (HTML) (DMG) (ZIP)
A Data Formatter for Xcode 2.0 and 2.1 that displays NSManagedObject * variables.
Data Management Sample Code 2005-06-01
Spotlight (HTML) (DMG) (ZIP)
Sample code that shows how to write Spotlight Importers.
File Management Sample Code 2005-06-01
CFHostSample (HTML) (DMG) (ZIP)
Uses the CFHost API to do DNS hostname lookups and to determine host reachability.
Networking Sample Code 2004-04-20
FSCopyObject (HTML) (DMG) (ZIP)
Copy engine for copying files and directories.
File Management Sample Code 2004-03-19
MapLargeFile (HTML) (DMG) (ZIP)
Shows a technique for mapping files greater than 4GB into memory for faster access.
Resource Management Sample Code 2003-11-19
InkSample (HTML) (DMG) (ZIP)
Demonstrates some usage scenarios for the Ink.Framework APIs.
Text & Fonts Sample Code 2003-10-27
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Data Management, File Management, Networking, Resource Management Sample Code 2003-10-27
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Events & Other Input, Networking Sample Code 2003-06-12
LocalServer (HTML) (DMG) (ZIP)
Deprecated - Sample demonstrates how a Classic process can communicate with a Mac OS X process using IP networking protocols.
Networking Sample Code 2003-01-30
CFPreferences (HTML) (DMG) (ZIP)
Shows how to use the CFPreferences APIs to access user preferences.
Data Management, Design Guidelines, Resource Management Sample Code 2003-01-14
CFPrefsDumper (HTML) (DMG) (ZIP)
Shows how to use the CFPreferences APIs to access information about the current user preferences.
Data Management, Design Guidelines, Resource Management Sample Code 2003-01-14
NamingTableAccess (HTML) (DMG) (ZIP)
Digs out the contents of the NamingTable in a TrueType 'sfnt'.
Text & Fonts Sample Code 2003-01-14
Observing Process Lifetimes Without Polling (HTML)
TN2050: Shows a variety of methods to observe process lifetimes without polling.
Process Management Technical Notes 2008-09-10
Daemons and Agents (HTML)
TN2083: Describes the most common problems encountered with daemons and agents, and suggests detailed solutions.
Process Management Technical Notes 2007-11-05
Using Secure Event Input Fairly (HTML)
TN2150: Describes the proper use of EnableSecureEventInput.
Events & Other Input Technical Notes 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
Events & Other Input, Text & Fonts Technical Notes 2005-06-24
The Preferences Problem (HTML) (日本語 HTML)
Deprecated - TN1134: Outlines typical problems with preferences files and some of their solutions.
Resource Management Technical Notes 1998-10-01
Core Animation properties and Reference Counting (HTML)
QA1565: Describes a discrepancy between the property declarations in Core Animation and the actual behavior.
Resource Management Technical Q&As 2008-11-24
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Events & Other Input, Process Management, Resource Management Technical Q&As 2008-09-24
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Performance Technical Q&As 2008-09-16
Expanding Tilde-based paths (HTML)
QA1549: Demonstrates how to resolve tilde-based relevant paths.
File Management Technical Q&As 2008-09-08
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
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Internet & Web, Networking Technical Q&As 2008-06-03
Bonjour Printer Subtype for HTTP (HTML)
QA1555: Describes how printer vendors can register their bonjour service such that Safari can see them.
Networking Technical Q&As 2008-03-25
Advertising a Bonjour service on a specific set of networking interfaces. (HTML)
QA1513: Explains how to register a Bonjour service only on a specific set of networking interfaces.
Networking Technical Q&As 2007-02-12
How can I identify the runtime environment, Carbon or Cocoa, of the current application? (HTML)
QA1372: Identifies the runtime environment of the application. Useful only for plugins, frameworks, input methods, etc.
Process Management Technical Q&As 2006-11-07
Programmatically Performing an Open Directory Search (HTML)
QA1462: A short guide on how to programmatically search Open Directory for matching attribute values within records.
Data Management Technical Q&As 2006-09-11
Problems getting Bonjour TXT record information (HTML)
QA1389: Explains why you might have problems retrieving TXT record information from a CFNetServiceRef or NSNetService.
Networking Technical Q&As 2005-07-06
Using language-tagged QuickTime UserData text APIs with CFStrings (HTML)
QA1410: Describes how to use language-tagged QuickTime UserData text APIs with CFStrings and TextEncodings.
Text & Fonts Technical Q&As 2005-02-11
CFBundleIdentifier and user application access (HTML)
QA1373: Describes the role of CFBundleIdentifier in limiting a user's application access.
Design Guidelines Technical Q&As 2005-02-08
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
Bonjour enforces the TXT record format in Panther (HTML)
QA1306: Explains how mDNSResponder enforces the proper TXT record format in Panther.
Networking Technical Q&As 2004-07-14
Updating the TXT record of a Bonjour service (HTML)
QA1302: Explains how to update a Bonjour TXT record while running on either Jaguar or Panther.
Networking Technical Q&As 2004-07-14
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Networking Technical Q&As 2004-06-01
Downloading through a proxy server in Mac OS X (HTML)
QA1296: Explains when downloading through a proxy server will work, and when it will fail.
Networking Technical Q&As 2003-10-29
URL Access vs. CFNetwork (HTML)
QA1291: Explains when to choose URL Access or CFNetwork when downloading files from within your application.
Networking Technical Q&As 2003-10-29
CFXML to CFPropertyListRef (and back!) (HTML) (日本語 HTML)
QA1208: Describes to how save and restore a CFPropertyListRef to and from an XML file.
Data Management, Events & Other Input, Resource Management, Text & Fonts Technical Q&As 2003-08-29
Internet Connect Speed (HTML) (日本語 HTML)
QA1165: Describes how to get the modem connection speed from the System Configuration framework dynamic store.
Networking Technical Q&As 2003-03-26
Accessing HTTPS Proxy Settings (HTML) (日本語 HTML)
QA1234: Describes how to programatically access Secure Web Proxy information.
Networking Technical Q&As 2003-02-19
Converting to Precomposed Unicode (HTML) (日本語 HTML)
QA1235: Describes how to convert a string to precomposed Unicode.
Text & Fonts Technical Q&As 2003-02-07
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Events & Other Input, Process Management Technical Q&As 2002-02-13
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
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Data Management, Design Guidelines, Process Management, Resource Management Technical Q&As 2001-10-25
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Process Management Technical Q&As 2001-06-13
The "chosen" node in the device tree (HTML)
HW88: Describes how to find the "chosen" node in the Open firmware device tree.
Networking Technical Q&As 2000-09-05
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Process Management, Resource Management Technical Q&As 1997-10-13
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
T_DATA_REQ vs M_DATA TPI Message Blocks (HTML) (日本語 HTML)
NW42: Explains why OT passes data to a TPI module using M_DATA message blocks instead of M_PROTO+T_DATA_REQ.
Networking Technical Q&As 1996-10-25