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
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
CFString Reference (HTML) (PDF)
Describes an immutable character string.
General Reference 2008-10-15
CFTimeZone Reference (HTML) (PDF)
Describes a representation of a time zone.
General Reference 2008-10-15
CFTree Reference (HTML) (PDF)
Describes a tree structure.
General Reference 2005-12-06
CFType Reference (HTML) (PDF)
Describes the Core Foundation base type.
General Reference 2007-07-12
CFURL Reference (HTML) (PDF)
Describes a string that uniquely identifies a resource.
General Reference 2009-02-04
CFUserNotification Reference (HTML) (PDF)
Describes a notification.
General Reference 2006-02-07
CFUUID Reference (HTML) (PDF)
Describes a unique identifier.
General Reference 2007-01-15
CFWriteStream Reference (HTML) (PDF)
Describes an interface for writing a byte stream.
General Reference 2007-05-03
CFXMLNode Reference (HTML) (PDF)
Describes the opaque type for representing an individual XML construct.
General Reference 2006-02-07
CFXMLParser Reference (HTML) (PDF)
Describes an object for finding and extracting data in XML documents.
General Reference 2008-10-15
CFXMLTree Reference (HTML) (PDF)
Describes an XML document as a tree structure.
General Reference 2008-10-15
Core Foundation Framework Reference (HTML) (PDF)
Describes the Core Foundation API.
General Reference 2007-10-31
Core Foundation Reference Update (HTML) (PDF)
Summarizes the symbols added to the Core Foundation framework.
General Release Notes 2007-07-18
Core Foundation URL Access Utilities Reference (HTML) (PDF)
Describes Core Foundation URL access functions.
General Reference 2007-01-19
Preferences Utilities Reference (HTML) (PDF)
Describes Core Foundation preferences functions.
General Reference 2007-10-31
Socket Name Server Utilities Reference (HTML) (PDF)
Describes a representation of a native network socket; does nothing in Mac OS X.
General Reference 2006-10-27
Time Utilities Reference (HTML) (PDF)
Describes Core Foundation time functions.
General Reference 2007-08-23
CFCalendar Reference (HTML) (PDF)
Describes a calendar.
Internationalization Reference 2009-02-04
CFStringTokenizer Reference (HTML) (PDF)
Describes an opaque type for breaking a string into tokens.
Internationalization Reference 2009-01-06
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Internationalization Guides 2005-08-11
Internationalization Programming Topics (HTML) (PDF)
Explains how to support multiple languages in software.
Internationalization Guides 2009-01-06
Locales Programming Guide (HTML) (PDF)
Explains how to use locales to retrieve, interpret, and display localized information in Core Foundation.
Internationalization Guides 2008-10-15
Strings Programming Guide for Core Foundation (HTML) (PDF)
Explains how to create, manipulate, and search strings in Core Foundation, and how strings interact with encodings and character sets.
Internationalization Guides 2008-03-11
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Internet & Web Technical Q&As 2008-06-03
JavaScriptCore Framework Reference (HTML)
Describes the API for evaluating JavaScript programs from within a C-based program
Internet & Web Reference 2008-04-08
Web Services Core Framework Reference (HTML)
Describes the client-side APIs for accessing web services.
Internet & Web Reference 2009-01-06
XML Programming Topics for Core Foundation (HTML) (PDF)
Explains how to parse XML documents into structured objects.
Internet & Web Guides 2008-10-15
Accessing HTTPS Proxy Settings (HTML) (日本語 HTML)
QA1234: Describes how to programatically access Secure Web Proxy information.
Networking Technical Q&As 2003-02-19
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
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
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
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Networking Sample Code 2003-06-12
CFFTPSample (HTML) (DMG) (ZIP)
A simple example showing how to use CFFTPStream to download and upload files.
Networking Sample Code 2006-10-13
CFFTPStream Reference (HTML) (PDF)
Describes the C API for communicating with FTP servers.
Networking Reference 2008-07-11
CFHost Reference (HTML) (PDF)
Describes the C API for acquiring host information.
Networking Reference 2008-07-11
CFHostSample (HTML) (DMG) (ZIP)
Uses the CFHost API to do DNS hostname lookups and to determine host reachability.
Networking Sample Code 2004-04-20
CFHTTPAuthentication Reference (HTML) (PDF)
Describes the C API for applying authentication credentials to HTTP messages.
Networking Reference 2007-05-15
CFHTTPMessage Reference (HTML) (PDF)
Describes the C API for creating, sending, receiving and manipulating HTTP messages.
Networking Reference 2008-07-11
CFHTTPStream Reference (HTML) (PDF)
Describes the interface for working with HTTP connections.
Networking Reference 2008-07-08
CFLocalServer (HTML) (DMG) (ZIP)
Uses UNIX domain sockets to communicate between client and server programs on the same machine.
Networking Sample Code 2005-07-26
CFNetDiagnostics Reference (HTML) (PDF)
Describes the C API for diagnosing and fixing network related problems.
Networking Reference 2008-07-11
CFNetServices Reference (HTML) (PDF)
Describes the C API for implementing Bonjour functionality in an application.
Networking Reference 2008-07-08
CFNetwork Error Codes Reference (HTML) (PDF)
Describes error codes used by the CFNetwork API.
Networking Reference 2008-10-15
CFNetwork Framework Release Notes (HTML)
Networking Release Notes 2007-10-31
CFNetwork Programming Guide (HTML) (PDF)
Explains how to use Core Foundation networking functions to work with low-level BSD sockets.
Networking Guides 2009-05-06
CFNetwork Reference Collection (HTML) (PDF)
Describes the C APIs for performing a variety network tasks.
Networking Reference 2008-07-15
CFNetworkHTTPDownload (HTML) (DMG) (ZIP)
Demonstrates how to download a URL using CFNetworking.
Networking Sample Code 2006-01-18
CFProxySupport Reference (HTML) (PDF)
Describes the CFProxySupport API, which provides functions for managing network proxy information.
Networking Reference 2008-07-07
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
CFStream Reference (HTML) (PDF)
Describes the interface for creating streams.
Networking Reference 2007-05-03
CFStream Socket Additions (HTML) (PDF)
Describes the C API for using streams with sockets.
Networking Reference 2008-07-08
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Networking Technical Q&As 1997-03-14
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
Core Services Identity Reference (HTML)
Describes the C API for creating, maintaining and finding users and groups.
Networking Reference 2008-04-08
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
DNSServiceMetaQuery (HTML) (DMG) (ZIP)
Shows how to discover Bonjour service types being advertised on the local network.
Networking Sample Code 2005-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
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Networking Technical Q&As 2008-06-03
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
Identity Services Programming Guide (HTML) (PDF)
Explains how identities work and how to use them in applications.
Networking Guides 2008-10-15
Identity Services Reference Collection (HTML) (PDF)
Describes the APIs for using identities and the Identity Picker.
Networking Reference 2007-05-14
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
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
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
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Networking Sample Code 2003-10-27
NSHost Class Reference (HTML) (PDF)
Describes a representation of a network host.
Networking Reference 2007-03-24
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
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
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
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
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
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
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Performance Technical Q&As 1997-03-14
Code Speed Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance and efficiency of code.
Performance Guides 2005-07-07
CoreFoundation Framework Release Notes (HTML)
Performance Release Notes 2007-10-31
Debugging Programming Topics for Core Foundation (HTML) (PDF)
Tips and techniques for debugging Core Foundation code.
Performance Guides 2003-01-17
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
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Performance Guides 2005-07-07
Launch Time Performance Guidelines (HTML) (PDF)
Guidelines for improving the launch performance of an application.
Performance Guides 2006-04-04
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Performance Guides 2006-06-28
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Performance Guides 2006-10-03
Threading Programming Guide (HTML) (PDF)
Explains how to use threads in Cocoa applications.
Performance Guides 2008-02-08
CFLocalServer (HTML) (DMG) (ZIP)
Uses UNIX domain sockets to communicate between client and server programs on the same machine.
Process Management Sample Code 2005-07-26
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
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
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
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
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Process Management Technical Q&As 1997-10-13
Plug-ins (HTML) (PDF)
Explains how to use the plug-in architecture provided by Core Foundation.
Process Management Guides 2005-03-03
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.
Process Management Technical Q&As 2002-02-13
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Process Management Technical Q&As 2008-09-24
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Process Management Technical Q&As 2001-10-25
Threading Programming Guide (HTML) (PDF)
Explains how to use threads in Cocoa applications.
Process Management Guides 2008-02-08
Bundle Programming Guide (HTML) (PDF)
Explains how to use Core Foundation bundle objects to organize resources.
Resource Management Guides 2005-11-09
CFPreferences (HTML) (DMG) (ZIP)
Shows how to use the CFPreferences APIs to access user preferences.
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.
Resource Management Sample Code 2003-01-14
CFPrefTopScores (HTML) (DMG) (ZIP)
How to access globally shared (writable) user preferences without requiring authentication.
Resource Management Sample Code 2006-10-09
CFXML to CFPropertyListRef (and back!) (HTML) (日本語 HTML)
QA1208: Describes to how save and restore a CFPropertyListRef to and from an XML file.
Resource Management Technical Q&As 2003-08-29
CheckExecutableArchitecture (HTML) (DMG) (ZIP)
Determine whether a particular Mach-O executable contains a version suitable for executing on a given processor architecture.
Resource Management Sample Code 2006-02-07