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
Sort by
Resource Type
Sorted by
Date
CFError Reference (HTML) (PDF)
Describes a representation of a runtime error.
Events & Other Input Reference 2006-07-12
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Performance Guides 2006-06-28
Byte-Order Utilities Reference (HTML) (PDF)
Describes Core Foundation byte-order functions.
Data Management Reference 2006-05-23
Launch Time Performance Guidelines (HTML) (PDF)
Guidelines for improving the launch performance of an application.
Performance Guides 2006-04-04
Spotlight Query Programming Guide (HTML) (PDF)
Describes how to add Spotlight searching to your applications.
File Management Guides 2006-03-08
CFData Reference (HTML) (PDF)
Describes an immutable byte buffer.
General Reference 2006-02-07
CFMutableBitVector Reference (HTML) (PDF)
Describes a mutable ordered collection containing bit values.
General Reference 2006-02-07
CFPlugIn Reference (HTML) (PDF)
Describes a plug-in.
General Reference 2006-02-07
CFPropertyList Reference (HTML) (PDF)
Describes a runtime representation of a property list.
General Reference 2006-02-07
CFRunLoopObserver Reference (HTML) (PDF)
Describes a means to receive callbacks at specific points during a run loop's execution.
General Reference 2006-02-07
CFRunLoopSource Reference (HTML) (PDF)
Describes the source for a run loop.
General Reference 2006-02-07
CFRunLoopTimer Reference (HTML) (PDF)
Describes a timer associated with a run loop.
General Reference 2006-02-07
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
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
Property List Programming Topics for Core Foundation (HTML) (PDF)
Explains how to use structured, textual representations of data in Core Foundation.
Data Management Guides 2006-02-07
CFNetworkHTTPDownload (HTML) (DMG) (ZIP)
Demonstrates how to download a URL using CFNetworking.
Networking Sample Code 2006-01-18
Binary Data Programming Guide for Core Foundation (HTML) (PDF)
Explains how to create and use Core Foundation data objects, object-oriented wrappers for byte buffers.
Data Management Guides 2006-01-10
CFBinaryHeap Reference (HTML) (PDF)
Describes a collection sorted using a binary search algorithm.
General Reference 2006-01-10
filesystem_examples (HTML) (DMG) (ZIP)
Collection of command line tools illustrating filesystem features.
File Management Sample Code 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
Bundle Programming Guide (HTML) (PDF)
Explains how to use Core Foundation bundle objects to organize resources.
Resource Management Guides 2005-11-09
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
Designing Network-Friendly Applications (HTML)
Learn to make your application management-aware and reliably accessible on a network.
Design Guidelines Articles 2005-10-24
DisplayURL (HTML) (DMG) (ZIP)
Parses a passed in path URL into its various components displaying server information.
File Management Sample Code 2005-10-04
Core Foundation Design Concepts (HTML) (PDF)
Explains the fundamental design concepts that underlie all Core Foundation programming interfaces.
Design Guidelines Guides 2005-08-11
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Data Management, Internationalization Guides 2005-08-11
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
Code Speed Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance and efficiency of code.
Performance Guides 2005-07-07
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Performance Guides 2005-07-07
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
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
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
Creating Cross-Platform Applications with Core Foundation and Open Source (HTML)
Learn how to import and export data types across a range of platforms using CF-Lite.
Design Guidelines Articles 2005-04-11
Plug-ins (HTML) (PDF)
Explains how to use the plug-in architecture provided by Core Foundation.
Process Management Guides 2005-03-03
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
Tiger Develop Overview Series: Working with Spotlight (HTML)
Learn to make the most of Spotlight's powerful search technologies within your own applications.
File Management Articles 2004-10-07
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
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
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
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
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
Collections Programming Topics for Core Foundation (HTML) (PDF)
Explains how to group objects in arrays, sets, or dictionaries in Core Foundation.
Data Management Guides 2003-08-07
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
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
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
Debugging Programming Topics for Core Foundation (HTML) (PDF)
Tips and techniques for debugging Core Foundation code.
Performance Guides 2003-01-17
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
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
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
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