Introduction to System Configuration Programming Guidelines

This document describes the architecture of the system configuration services in OS X and the APIs in the System Configuration framework. It describes how users and applications use the configurable network preferences and how applications can use the framework APIs to accomplish various tasks.

What Is the System Configuration Framework?

The System Configuration framework provides powerful, flexible support for establishing and maintaining access to configurable network and system resources. It offers your application the ability to determine, set, and maintain configuration settings and to detect and respond dynamically to changes in that information.

The framework supports a wide range of configuration management, including high-level access to network services. Although the bulk of the System Configuration APIs were available in OS X version 10.1, later versions of OS X have included some changes and additions. This document focuses on the System Configuration APIs available in OS X version 10.3.

Who Should Read This Document?

The audience for this document comprises two main groups:

If you are developing an application that defines network services, initiates IP networking or creates a PPP connection, you should concentrate on the network preferences and configuration APIs. If you’re developing an application that needs to know if a remote host is reachable or initiate a PPP connection, you should focus on the reachability and connection APIs.

Organization of This Document

This document is divided into four chapters:

The chapters you read depend on the goals of your application. All developers new to the System Configuration framework should read System Configuration Goals and Architecture. Then, if you’re developing an ISP or dialer application that needs to manipulate network configurations, you should read Components of the System Configuration Framework and The System Configuration Schema. If, on the other hand, you’re developing an application that initiates PPP connections or determines if a remote host is reachable, you can skip to the last chapter, Determining Reachability and Getting Connected.

See Also

Apple provides comprehensive API reference documentation of the System Configuration framework. On the web, see System Configuration Framework Reference.

In addition, Apple provides several code samples that illustrate various network configuration and connection tasks. These samples are available on the web at

When you install the Developer Package, you get developer documentation as well as tools and sample code. The System Configuration API reference documentation is available at /Developer/ADC Reference Library/documentation/Networking/Reference.