]> git.saurik.com Git - apple/configd.git/blobdiff - SystemConfiguration.fproj/v1Compatibility.c
configd-84.tar.gz
[apple/configd.git] / SystemConfiguration.fproj / v1Compatibility.c
diff --git a/SystemConfiguration.fproj/v1Compatibility.c b/SystemConfiguration.fproj/v1Compatibility.c
deleted file mode 100644 (file)
index 9a233ab..0000000
+++ /dev/null
@@ -1,816 +0,0 @@
-/*
- * Copyright (c) 2001 Apple Computer, Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- *
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License").  You may not use this file except in compliance with the
- * License.  Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
- *
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
- * License for the specific language governing rights and limitations
- * under the License.
- *
- * @APPLE_LICENSE_HEADER_END@
- */
-
-/*
- * Modification History
- *
- * March 28, 2001              Allan Nathanson <ajn@apple.com>
- * - initial revision
- */
-
-#include <SystemConfiguration/SystemConfiguration.h>
-#include <SystemConfiguration/SCPrivate.h>
-#include "SCDynamicStoreInternal.h"
-
-#include "v1Compatibility.h"
-
-extern void __Initialize();
-
-typedef struct {
-
-       /* configuration data associated with key */
-       CFPropertyListRef       data;
-
-       /* instance value of last fetched data */
-       int                     instance;
-
-} SCDHandlePrivate, *SCDHandlePrivateRef;
-
-
-SCDHandleRef
-SCDHandleInit()
-{
-       SCDHandlePrivateRef privateHandle = CFAllocatorAllocate(NULL, sizeof(SCDHandlePrivate), 0);
-
-       /* set data */
-       privateHandle->data = NULL;
-
-       /* set instance */
-       privateHandle->instance = 0;
-
-       return (SCDHandleRef)privateHandle;
-}
-
-
-void
-SCDHandleRelease(SCDHandleRef handle)
-{
-       SCDHandlePrivateRef privateHandle = (SCDHandlePrivateRef)handle;
-
-       if (privateHandle->data)
-               CFRelease(privateHandle->data);
-
-       CFAllocatorDeallocate(NULL, privateHandle);
-       return;
-}
-
-
-int
-SCDHandleGetInstance(SCDHandleRef handle)
-{
-       SCDHandlePrivateRef privateHandle = (SCDHandlePrivateRef)handle;
-
-       return privateHandle->instance;
-}
-
-
-void
-_SCDHandleSetInstance(SCDHandleRef handle, int instance)
-{
-       SCDHandlePrivateRef privateHandle = (SCDHandlePrivateRef)handle;
-
-       privateHandle->instance = instance;
-       return;
-}
-
-
-CFPropertyListRef
-SCDHandleGetData(SCDHandleRef handle)
-{
-       SCDHandlePrivateRef privateHandle = (SCDHandlePrivateRef)handle;
-
-       if (privateHandle->data == NULL) {
-               return CFSTR("SCDHandleRef not initialized.");
-       }
-
-       return privateHandle->data;
-}
-
-
-void
-SCDHandleSetData(SCDHandleRef handle, CFPropertyListRef data)
-{
-       SCDHandlePrivateRef privateHandle = (SCDHandlePrivateRef)handle;
-
-       /* remove reference to data previously associated with handle */
-       if (privateHandle->data)
-               CFRelease(privateHandle->data);
-
-       /* associate new data with handle, keep a reference as needed */
-       privateHandle->data = data;
-       if (privateHandle->data)
-               CFRetain(privateHandle->data);
-
-       return;
-}
-
-static int
-convert_SCDStatus_To_SCStatus(SCDStatus status)
-{
-       switch (status) {
-               case SCD_OK                     : return kSCStatusOK;
-               case SCD_NOSESSION              : return kSCStatusNoStoreSession;
-               case SCD_NOSERVER               : return kSCStatusNoStoreServer;
-               case SCD_LOCKED                 : return kSCStatusLocked;
-               case SCD_NEEDLOCK               : return kSCStatusNeedLock;
-               case SCD_EACCESS                : return kSCStatusAccessError;
-               case SCD_NOKEY                  : return kSCStatusNoKey;
-               case SCD_EXISTS                 : return kSCStatusKeyExists;
-               case SCD_STALE                  : return kSCStatusStale;
-               case SCD_INVALIDARGUMENT        : return kSCStatusInvalidArgument;
-               case SCD_NOTIFIERACTIVE         : return kSCStatusNotifierActive;
-               case SCD_FAILED                 : return kSCStatusFailed;
-               default                         : return kSCStatusFailed;
-       }
-}
-
-SCDStatus
-SCDOpen(SCDSessionRef *session, CFStringRef name)
-{
-       SCDynamicStoreRef       newStore;
-
-       __Initialize();         /* initialize framework */
-
-       newStore = SCDynamicStoreCreate(NULL, name, NULL, NULL);
-       if (!newStore) {
-               return SCD_NOSERVER;
-       }
-
-       *session = (SCDSessionRef)newStore;
-       return SCD_OK;
-}
-
-SCDStatus
-SCDClose(SCDSessionRef *session)
-{
-       CFRelease(*session);
-       *session = NULL;
-       return SCD_OK;
-}
-
-SCDStatus
-SCDLock(SCDSessionRef session)
-{
-       return SCDynamicStoreLock((SCDynamicStoreRef)session) ? SCD_OK : SCD_FAILED;
-}
-
-SCDStatus
-SCDUnlock(SCDSessionRef session)
-{
-       return SCDynamicStoreUnlock((SCDynamicStoreRef)session) ? SCD_OK : SCD_FAILED;
-}
-
-SCDStatus
-SCDList(SCDSessionRef session, CFStringRef key, int regexOptions, CFArrayRef *subKeys)
-{
-       CFMutableStringRef      pattern;
-
-       pattern = CFStringCreateMutableCopy(NULL, 0, key);
-       if ((regexOptions & kSCDRegexKey) != kSCDRegexKey) {
-               CFStringAppend(pattern, CFSTR(".*"));
-       }
-       *subKeys = SCDynamicStoreCopyKeyList((SCDynamicStoreRef)session, pattern);
-       CFRelease(pattern);
-
-       return (*subKeys) ? SCD_OK : SCD_FAILED;
-}
-
-SCDStatus
-SCDAdd(SCDSessionRef session, CFStringRef key, SCDHandleRef handle)
-{
-       CFTypeRef       value = SCDHandleGetData(handle);
-       return SCDynamicStoreAddValue((SCDynamicStoreRef)session, key, value) ? SCD_OK : SCD_EXISTS;
-}
-
-SCDStatus
-SCDAddSession(SCDSessionRef session, CFStringRef key, SCDHandleRef handle)
-{
-       CFTypeRef       value = SCDHandleGetData(handle);
-       return SCDynamicStoreAddTemporaryValue((SCDynamicStoreRef)session, key, value) ? SCD_OK : SCD_EXISTS;
-}
-
-SCDStatus
-SCDGet(SCDSessionRef session, CFStringRef key, SCDHandleRef *handle)
-{
-       CFTypeRef       value;
-
-       value = SCDynamicStoreCopyValue((SCDynamicStoreRef)session, key);
-       if (value) {
-               *handle = SCDHandleInit();
-               SCDHandleSetData(*handle, value);
-               CFRelease(value);
-               return SCD_OK;
-       }
-       return SCD_NOKEY;
-}
-
-SCDStatus
-SCDSet(SCDSessionRef session, CFStringRef key, SCDHandleRef handle)
-{
-       CFTypeRef       value = SCDHandleGetData(handle);
-       return SCDynamicStoreSetValue((SCDynamicStoreRef)session, key, value) ? SCD_OK : SCD_EXISTS;
-}
-
-SCDStatus
-SCDRemove(SCDSessionRef session, CFStringRef key)
-{
-       return SCDynamicStoreRemoveValue((SCDynamicStoreRef)session, key) ? SCD_OK : SCD_NOKEY;
-}
-
-SCDStatus
-SCDTouch(SCDSessionRef session, CFStringRef key)
-{
-       return SCDynamicStoreTouchValue((SCDynamicStoreRef)session, key) ? SCD_OK : SCD_FAILED;
-}
-
-SCDStatus
-SCDNotifierList(SCDSessionRef session, int regexOptions, CFArrayRef *notifierKeys)
-{
-       *notifierKeys = SCDynamicStoreCopyWatchedKeyList((SCDynamicStoreRef)session,
-                                                        ((regexOptions & kSCDRegexKey) == kSCDRegexKey));
-       return (*notifierKeys) ? SCD_OK : SCD_FAILED;
-}
-
-SCDStatus
-SCDNotifierAdd(SCDSessionRef session, CFStringRef key, int regexOptions)
-{
-       return SCDynamicStoreAddWatchedKey((SCDynamicStoreRef)session,
-                                          key,
-                                          ((regexOptions & kSCDRegexKey) == kSCDRegexKey)) ? SCD_OK : SCD_EXISTS;
-}
-
-SCDStatus
-SCDNotifierRemove(SCDSessionRef session, CFStringRef key, int regexOptions)
-{
-       return SCDynamicStoreRemoveWatchedKey((SCDynamicStoreRef)session,
-                                             key,
-                                             ((regexOptions & kSCDRegexKey) == kSCDRegexKey)) ? SCD_OK : SCD_NOKEY;
-}
-
-SCDStatus
-SCDNotifierGetChanges(SCDSessionRef session, CFArrayRef *changedKeys)
-{
-       *changedKeys = SCDynamicStoreCopyNotifiedKeys((SCDynamicStoreRef)session);
-       return (*changedKeys) ? SCD_OK : SCD_FAILED;
-}
-
-SCDStatus
-SCDNotifierWait(SCDSessionRef session)
-{
-       return SCDynamicStoreNotifyWait((SCDynamicStoreRef)session) ? SCD_OK : SCD_FAILED;
-}
-
-SCDStatus
-SCDNotifierInformViaCallback(SCDSessionRef session, SCDCallbackRoutine_t func, void *arg)
-{
-       return SCDynamicStoreNotifyCallback((SCDynamicStoreRef)session,
-                                           CFRunLoopGetCurrent(),
-                                           (SCDynamicStoreCallBack_v1)func,
-                                           arg) ? SCD_OK : SCD_NOTIFIERACTIVE;
-}
-
-SCDStatus
-SCDNotifierInformViaMachPort(SCDSessionRef session, mach_msg_id_t msgid, mach_port_t *port)
-{
-       return SCDynamicStoreNotifyMachPort((SCDynamicStoreRef)session, msgid, port) ? SCD_OK : SCD_NOTIFIERACTIVE;
-}
-
-SCDStatus
-SCDNotifierInformViaFD(SCDSessionRef session, int32_t identifier, int *fd)
-{
-       return SCDynamicStoreNotifyFileDescriptor((SCDynamicStoreRef)session, identifier, fd) ? SCD_OK : SCD_NOTIFIERACTIVE;
-}
-
-SCDStatus
-SCDNotifierInformViaSignal(SCDSessionRef session, pid_t pid, int sig)
-{
-       return SCDynamicStoreNotifySignal((SCDynamicStoreRef)session, pid, sig) ? SCD_OK : SCD_NOTIFIERACTIVE;
-}
-
-SCDStatus
-SCDNotifierCancel(SCDSessionRef session)
-{
-       return SCDynamicStoreNotifyCancel((SCDynamicStoreRef)session) ? SCD_OK : SCD_NOTIFIERACTIVE;
-}
-
-SCDStatus
-SCDSnapshot(SCDSessionRef session)
-{
-       return SCDynamicStoreSnapshot((SCDynamicStoreRef)session) ? SCD_OK : SCD_NOTIFIERACTIVE;
-}
-
-int
-SCDOptionGet(SCDSessionRef session, int option)
-{
-       int             value     = 0;
-
-       if (session) {
-               static  Boolean warned = FALSE;
-               if (!warned) {
-                       SCLog(TRUE, LOG_NOTICE, CFSTR("per-session options are no longer supported, using global options."));
-                       warned = TRUE;
-               }
-       }
-
-       switch (option) {
-               case kSCDOptionDebug :
-                       value = _sc_debug ? 1 : 0;
-                       break;
-
-               case kSCDOptionVerbose :
-                       value = _sc_verbose ? 1 : 0;
-                       break;
-
-               case kSCDOptionUseSyslog :
-                       value = _sc_log ? 1 : 0;
-                       break;
-
-               case kSCDOptionUseCFRunLoop :
-                       value = 1;      /* always TRUE */
-                       break;
-       }
-
-       return value;
-}
-
-void
-SCDOptionSet(SCDSessionRef session, int option, int value)
-{
-       if (session) {
-               static Boolean  warned = FALSE;
-               if (!warned) {
-                       SCLog(TRUE, LOG_NOTICE, CFSTR("per-session options are no longer supported, using global options."));
-                       warned = TRUE;
-               }
-       }
-
-       switch (option) {
-               case kSCDOptionDebug :
-                       _sc_debug = (value != 0);
-                       _sc_log   = (value == 0);
-                       break;
-
-               case kSCDOptionVerbose :
-                       _sc_verbose = (value != 0);
-                       break;
-
-               case kSCDOptionUseSyslog :
-               {
-                       _sc_log = (value != 0);
-                       break;
-               }
-
-               case kSCDOptionUseCFRunLoop :
-               {
-                       static Boolean warned = FALSE;
-                       if ((value == FALSE) && !warned) {
-                               SCLog(TRUE, LOG_NOTICE, CFSTR("The kSCDOptionUseCFRunLoop option can no longer be set FALSE.  The"));
-                               SCLog(TRUE, LOG_NOTICE, CFSTR("SCDNotifierInformViaCallback requires the use of a CFRunLoop."));
-                               warned = TRUE;
-                       }
-                       break;
-               }
-       }
-
-       return;
-}
-
-void
-SCDSessionLog(SCDSessionRef session, int level, CFStringRef formatString, ...)
-{
-       va_list         argList;
-       FILE            *f = (LOG_PRI(level) > LOG_NOTICE) ? stderr : stdout;
-       CFStringRef     resultString;
-
-       if ((LOG_PRI(level) == LOG_DEBUG) && !SCDOptionGet(session, kSCDOptionVerbose)) {
-               /* it's a debug message and we haven't requested verbose logging */
-               return;
-       }
-
-       va_start(argList, formatString);
-       resultString = CFStringCreateWithFormatAndArguments(NULL, NULL, formatString, argList);
-       va_end(argList);
-
-       if (SCDOptionGet(session, kSCDOptionUseSyslog)) {
-               __SCLog(level, resultString);
-       } else {
-               CFStringRef     newString;
-
-               /* add a new-line */
-               newString = CFStringCreateWithFormat(NULL, NULL, CFSTR("%@\n"), resultString);
-               __SCPrint(f, newString);
-               CFRelease(newString);
-       }
-       CFRelease(resultString);
-}
-
-void
-SCDLog(int level, CFStringRef formatString, ...)
-{
-       va_list         argList;
-       FILE            *f = (LOG_PRI(level) > LOG_NOTICE) ? stderr : stdout;
-       CFStringRef     resultString;
-
-       if ((LOG_PRI(level) == LOG_DEBUG) && !SCDOptionGet(NULL, kSCDOptionVerbose)) {
-               /* it's a debug message and we haven't requested verbose logging */
-               return;
-       }
-
-       va_start(argList, formatString);
-       resultString = CFStringCreateWithFormatAndArguments(NULL, NULL, formatString, argList);
-       va_end(argList);
-
-       if (SCDOptionGet(NULL, kSCDOptionUseSyslog)) {
-               __SCLog(level, resultString);
-       } else {
-               CFStringRef     newString;
-
-               /* add a new-line */
-               newString = CFStringCreateWithFormat(NULL, NULL, CFSTR("%@\n"), resultString);
-               __SCPrint(f, newString);
-               CFRelease(newString);
-       }
-       CFRelease(resultString);
-}
-
-const char *
-SCDError(SCDStatus status)
-{
-       return SCErrorString(convert_SCDStatus_To_SCStatus(status));
-}
-
-CFStringRef
-SCDKeyCreate(CFStringRef fmt, ...)
-{
-       va_list args;
-       va_start(args, fmt);
-       return (CFStringCreateWithFormatAndArguments(NULL,
-                                                    NULL,
-                                                    fmt,
-                                                    args));
-}
-
-CFStringRef
-SCDKeyCreateNetworkGlobalEntity(CFStringRef domain, CFStringRef entity)
-{
-       return SCDynamicStoreKeyCreateNetworkGlobalEntity(NULL, domain, entity);
-}
-
-CFStringRef
-SCDKeyCreateNetworkInterface(CFStringRef domain)
-{
-       return SCDynamicStoreKeyCreateNetworkInterface(NULL, domain);
-}
-
-CFStringRef
-SCDKeyCreateNetworkInterfaceEntity(CFStringRef domain, CFStringRef ifname, CFStringRef entity)
-{
-       return SCDynamicStoreKeyCreateNetworkInterfaceEntity(NULL, domain, ifname, entity);
-}
-
-CFStringRef
-SCDKeyCreateNetworkServiceEntity(CFStringRef domain, CFStringRef serviceID, CFStringRef entity)
-{
-       return SCDynamicStoreKeyCreateNetworkServiceEntity(NULL, domain, serviceID, entity);
-}
-
-static int
-convert_SCPStatus_To_SCStatus(SCPStatus status)
-{
-       switch (status) {
-               case SCP_OK                     : return kSCStatusOK;
-               case SCP_NOSESSION              : return kSCStatusNoPrefsSession;
-               case SCP_BUSY                   : return kSCStatusPrefsBusy;
-               case SCP_NEEDLOCK               : return kSCStatusNeedLock;
-               case SCP_EACCESS                : return kSCStatusAccessError;
-               case SCP_ENOENT                 : return kSCStatusNoConfigFile;
-               case SCP_BADCF                  : return kSCStatusFailed;
-               case SCP_NOKEY                  : return kSCStatusNoKey;
-               case SCP_NOLINK                 : return kSCStatusNoLink;
-               case SCP_EXISTS                 : return kSCStatusKeyExists;
-               case SCP_STALE                  : return kSCStatusStale;
-               case SCP_INVALIDARGUMENT        : return kSCStatusInvalidArgument;
-               case SCP_FAILED                 : return kSCStatusFailed;
-               default                         : return kSCStatusFailed;
-       }
-}
-
-SCPStatus
-SCPOpen(SCPSessionRef *session, CFStringRef name, CFStringRef prefsID, int options)
-{
-       CFArrayRef      keys;
-       CFIndex         nKeys;
-
-       __Initialize();         /* initialize framework */
-
-       *session = (SCPSessionRef)SCPreferencesCreate(NULL, name, prefsID);
-       if (*session == NULL) {
-               return SCP_EACCESS;
-       }
-
-       keys  = SCPreferencesCopyKeyList(*session);
-       nKeys = CFArrayGetCount(keys);
-       CFRelease(keys);
-
-       if ((nKeys == 0) &&
-           ((options & kSCPOpenCreatePrefs) != kSCPOpenCreatePrefs)) {
-               /* if no keys and not requesting the file be created */
-               return SCP_ENOENT;
-       }
-
-       return SCP_OK;
-}
-
-SCPStatus
-SCPUserOpen(SCPSessionRef *session, CFStringRef name, CFStringRef prefsID, CFStringRef user, int options)
-{
-       CFArrayRef      keys;
-       CFIndex         nKeys;
-
-       __Initialize();         /* initialize framework */
-
-       *session = (SCPSessionRef)SCUserPreferencesCreate(NULL, name, prefsID, user);
-       if (*session == NULL) {
-               return SCP_EACCESS;
-       }
-
-       keys  = SCPreferencesCopyKeyList(*session);
-       nKeys = CFArrayGetCount(keys);
-       CFRelease(keys);
-
-       if ((nKeys == 0) &&
-           ((options & kSCPOpenCreatePrefs) != kSCPOpenCreatePrefs)) {
-               /* if no keys and not requesting the file be created */
-               return SCP_ENOENT;
-       }
-
-       return SCP_OK;
-}
-
-SCPStatus
-SCPClose(SCPSessionRef *session)
-{
-       CFRelease(*session);
-       *session = NULL;
-       return SCD_OK;
-}
-
-SCPStatus
-SCPLock(SCPSessionRef session, boolean_t wait)
-{
-       /* XXXXX: old API error codes included kSCStatusPrefsBusy, kSCStatusAccessError, and kSCStatusStale */
-       return SCPreferencesLock((SCPreferencesRef)session, wait) ? SCP_OK : SCP_FAILED;
-}
-
-SCPStatus
-SCPCommit(SCPSessionRef session)
-{
-       /* XXXXX: old API error codes included kSCStatusAccessError, kSCStatusStale */
-       return SCPreferencesCommitChanges((SCPreferencesRef)session) ? SCP_OK : SCP_FAILED;
-}
-
-SCPStatus
-SCPApply(SCPSessionRef session)
-{
-       return SCPreferencesApplyChanges((SCPreferencesRef)session) ? SCP_OK : SCP_EACCESS;
-}
-
-SCPStatus
-SCPUnlock(SCPSessionRef session)
-{
-       return SCPreferencesUnlock((SCPreferencesRef)session) ? SCP_OK : SCP_FAILED;
-}
-
-SCPStatus
-SCPGetSignature(SCPSessionRef session, CFDataRef *signature)
-{
-       *signature = SCPreferencesGetSignature((SCPreferencesRef)session);
-       return (*signature) ? SCP_OK : SCP_FAILED;
-}
-
-SCPStatus
-SCPList(SCPSessionRef session, CFArrayRef *keys)
-{
-       *keys = SCPreferencesCopyKeyList((SCPreferencesRef)session);
-       return (*keys) ? SCP_OK : SCP_FAILED;
-}
-
-SCPStatus
-SCPGet(SCPSessionRef session, CFStringRef key, CFPropertyListRef *data)
-{
-       *data = SCPreferencesGetValue((SCPreferencesRef)session, key);
-       return (*data) ? SCP_OK : SCP_NOKEY;
-}
-
-SCPStatus
-SCPAdd(SCPSessionRef session, CFStringRef key, CFPropertyListRef data)
-{
-       return SCPreferencesAddValue((SCPreferencesRef)session, key, data) ? SCP_OK : SCP_EXISTS;
-}
-
-SCPStatus
-SCPSet(SCPSessionRef session, CFStringRef key, CFPropertyListRef data)
-{
-       return SCPreferencesSetValue((SCPreferencesRef)session, key, data) ? SCP_OK : SCP_FAILED;
-}
-
-SCPStatus
-SCPRemove(SCPSessionRef session, CFStringRef key)
-{
-       return SCPreferencesRemoveValue((SCPreferencesRef)session, key) ? SCP_OK : SCP_NOKEY;
-}
-
-CFStringRef
-SCPNotificationKeyCreate(CFStringRef prefsID, int keyType)
-{
-       return SCDynamicStoreKeyCreatePreferences(NULL, prefsID, keyType);
-}
-
-CFStringRef
-SCPUserNotificationKeyCreate(CFStringRef prefsID, CFStringRef user, int keyType)
-{
-       return SCDynamicStoreKeyCreateUserPreferences(NULL, prefsID, user, keyType);
-}
-
-SCPStatus
-SCPPathCreateUniqueChild(SCPSessionRef session, CFStringRef prefix, CFStringRef *newPath)
-{
-       *newPath = SCPreferencesPathCreateUniqueChild((SCPreferencesRef)session, prefix);
-       return (*newPath) ? SCP_OK : SCP_NOKEY;
-}
-
-SCPStatus
-SCPPathGetValue(SCPSessionRef session, CFStringRef path, CFDictionaryRef *value)
-{
-       *value = SCPreferencesPathGetValue((SCPreferencesRef)session, path);
-       return (*value) ? SCP_OK : SCP_NOKEY;
-}
-
-SCPStatus
-SCPPathGetLink(SCPSessionRef session, CFStringRef path, CFStringRef *link)
-{
-       *link = SCPreferencesPathGetLink((SCPreferencesRef)session, path);
-       return (*link) ? SCP_OK : SCP_NOKEY;
-}
-
-SCPStatus
-SCPPathSetValue(SCPSessionRef session, CFStringRef path, CFDictionaryRef value)
-{
-       return SCPreferencesPathSetValue((SCPreferencesRef)session, path, value) ? SCP_OK : SCP_FAILED;
-}
-
-SCPStatus
-SCPPathSetLink(SCPSessionRef session, CFStringRef path, CFStringRef link)
-{
-       return SCPreferencesPathSetLink((SCPreferencesRef)session, path, link) ? SCP_OK : SCP_FAILED;
-}
-
-SCPStatus
-SCPPathRemove(SCPSessionRef session, CFStringRef path)
-{
-       return SCPreferencesPathRemoveValue((SCPreferencesRef)session, path) ? SCP_OK : SCP_NOKEY;
-}
-
-const char *
-SCPError(SCPStatus status)
-{
-       return SCErrorString(convert_SCPStatus_To_SCStatus(status));
-}
-
-CFStringRef
-SCDKeyCreateConsoleUser()
-{
-       return SCDynamicStoreKeyCreateConsoleUser(NULL);
-}
-
-SCDStatus
-SCDConsoleUserGet(char *user, int userlen, uid_t *uid, gid_t *gid)
-{
-       CFStringRef     consoleUser;
-
-       consoleUser = SCDynamicStoreCopyConsoleUser(NULL, uid, gid);
-       if (!consoleUser) {
-               return SCD_NOKEY;
-       }
-
-       if (user && (userlen > 0)) {
-               CFIndex         len;
-               CFRange         range;
-
-               bzero(user, userlen);
-               range = CFRangeMake(0, CFStringGetLength(consoleUser));
-               (void) CFStringGetBytes(consoleUser,
-                                       range,
-                                       kCFStringEncodingMacRoman,
-                                       0,
-                                       FALSE,
-                                       user,
-                                       userlen,
-                                       &len);
-       }
-       CFRelease(consoleUser);
-       return SCD_OK;
-}
-
-SCDStatus
-SCDConsoleUserSet(const char *user, uid_t uid, gid_t gid)
-{
-       return SCDynamicStoreSetConsoleUser(NULL, user, uid, gid) ? SCD_OK : SCD_FAILED;
-}
-
-CFStringRef
-SCDKeyCreateHostName()
-{
-       return SCDynamicStoreKeyCreateComputerName(NULL);
-}
-
-SCDStatus
-SCDHostNameGet(CFStringRef *name, CFStringEncoding *nameEncoding)
-{
-       *name = SCDynamicStoreCopyComputerName(NULL, nameEncoding);
-       return (*name) ? SCD_OK : SCD_FAILED;
-}
-
-static SCNStatus
-convertReachability(int newFlags, int *oldFlags)
-{
-       SCNStatus       scn_status = SCN_REACHABLE_NO;
-
-       if (newFlags & kSCNetworkFlagsTransientConnection) {
-               if (oldFlags) {
-                       *oldFlags |= kSCNFlagsTransientConnection;
-               }
-       }
-
-       if (newFlags & kSCNetworkFlagsReachable) {
-               scn_status = SCN_REACHABLE_YES;
-
-               if (newFlags & kSCNetworkFlagsConnectionRequired) {
-                       scn_status = SCN_REACHABLE_CONNECTION_REQUIRED;
-               }
-
-               if (newFlags & kSCNetworkFlagsConnectionAutomatic) {
-                       if (oldFlags) {
-                               *oldFlags |= kSCNFlagsConnectionAutomatic;
-                       }
-               }
-
-               if (newFlags & kSCNetworkFlagsInterventionRequired) {
-                       if (oldFlags) {
-                               *oldFlags |= kSCNFlagsInterventionRequired;
-                       }
-               }
-       }
-
-       return scn_status;
-}
-
-SCNStatus
-SCNIsReachableByAddress(const struct sockaddr *address, const int addrlen, int *flags, const char **errorMessage)
-{
-       SCNetworkConnectionFlags        newFlags;
-
-       if (!SCNetworkCheckReachabilityByAddress(address, addrlen, &newFlags)) {
-               if (errorMessage) {
-                       *errorMessage = SCErrorString(kSCStatusReachabilityUnknown);
-               }
-               return SCN_REACHABLE_UNKNOWN;
-       }
-
-       return convertReachability(newFlags, flags);
-
-}
-
-SCNStatus
-SCNIsReachableByName(const char *nodename, int *flags, const char **errorMessage)
-{
-       SCNetworkConnectionFlags        newFlags;
-
-       if (!SCNetworkCheckReachabilityByName(nodename, &newFlags)) {
-               if (errorMessage) {
-                       *errorMessage = SCErrorString(kSCStatusReachabilityUnknown);
-               }
-               return SCN_REACHABLE_UNKNOWN;
-       }
-
-       return convertReachability(newFlags, flags);
-}