ADC Home > Reference Library > Reference > Networking > System Configuration Framework Reference

 


SystemConfiguration.h

Include Path:
<SystemConfiguration/SystemConfiguration.h>
Path:
/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/Headers/SystemConfiguration.h
Includes:

Overview

The System Configuration framework provides access to the data used to configure a running system. The APIs provided by this framework communicate with the configd daemon.

The configd daemon manages a dynamic store reflecting the desired configuration settings as well as the current state of the system. The daemon provides a notification mechanism for processes that need to be aware of changes made to the data. Lastly, the daemon loads a number of bundles (or plug-ins) that monitor low-level kernel events and, through a set of policy modules, keep the state data up to date.

For more information on using System Configuration framework APIs, see System Configuration Programming Guidelines.



Functions

SCCopyLastError
SCError
SCErrorString

SCCopyLastError


CFErrorRef SCCopyLastError (
    void);  
Return Value

Returns the last error encountered.

Discussion

Returns the most recent status or error code generated as the result of calling a System Configuration framework API.


SCError


int SCError (
    void);  
Return Value

Returns the last error encountered.

Discussion

Returns the most recent status or error code generated as the result of calling a System Configuration framework API.


SCErrorString


const char * SCErrorString (
    int status);  
Parameters
status
The SCDynamicStoreStatus to be returned.
Return Value

Returns a pointer to the error message string.

Discussion

Returns a pointer to the message string associated with the specified status or error.

Constants


kCFErrorDomainSystemConfiguration


extern const CFStringRef kCFErrorDomainSystemConfiguration;  
Discussion

CFError domain associated with errors reported by the SystemConfiguration.framework.

Availability
Introduced in Mac OS X v10.5.

Enumerations


Error codes


enum { 
    /*
 * Generic error codes
        */
    kSCStatusOK = 0, /* Success */
    kSCStatusFailed = 1001, /* Non-specific failure */
    kSCStatusInvalidArgument = 1002, /* Invalid argument */
    kSCStatusAccessError = 1003, /* Permission denied
 - must be root to obtain lock
 - could not create access/create preferences
        */
    kSCStatusNoKey = 1004, /* No such key */
    kSCStatusKeyExists = 1005, /* Key already defined */
    kSCStatusLocked = 1006, /* Lock already held */
    kSCStatusNeedLock = 1007, /* Lock required for this operation */
    /*
 * SCDynamicStore error codes
        */
    kSCStatusNoStoreSession = 2001, /* Configuration daemon session not active */
    kSCStatusNoStoreServer = 2002, /* Configuration daemon not (no longer) available */
    kSCStatusNotifierActive = 2003, /* Notifier is currently active */
    /*
 * SCPreferences error codes
        */
    kSCStatusNoPrefsSession = 3001, /* Preference session not active */
    kSCStatusPrefsBusy = 3002, /* Preferences update currently in progress */
    kSCStatusNoConfigFile = 3003, /* Configuration file not found */
    kSCStatusNoLink = 3004, /* No such link */
    kSCStatusStale = 3005, /* Write attempted on stale version of object */
    kSCStatusMaxLink = 3006, /* Maximum link count exceeded */
    /*
 * SCNetwork error codes
        */
    kSCStatusReachabilityUnknown = 4001 /* Network reachability cannot be determined */
};  
Constants
kSCStatusOK
Success
kSCStatusFailed
Non-specific Failure
kSCStatusInvalidArgument
Invalid argument
kSCStatusAccessError
Permission denied
kSCStatusNoKey
No such key
kSCStatusKeyExists
Data associated with key already defined
kSCStatusLocked
Lock already held
kSCStatusNeedLock
Lock required for this operation
kSCStatusNoStoreSession
Configuration daemon session not active
kSCStatusNoStoreServer
Configuration daemon not (or no longer) available
kSCStatusNotifierActive
Notifier is currently active
kSCStatusNoPrefsSession
Preferences session not active
kSCStatusPrefsBusy
Preferences update currently in progress
kSCStatusNoConfigFile
Configuration file not found
kSCStatusNoLink
No such link
kSCStatusStale
Write attempted on stale version of object
kSCStatusMaxLink
Maximum link count exceeded
kSCStatusReachabilityUnknown
A determination could not be made regarding the reachability of the specified nodename or address.
Discussion

Returned error codes.


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.
Last Updated: 2008-03-11