]> git.saurik.com Git - apple/configd.git/commitdiff
configd-135.tar.gz mac-os-x-1043 v135
authorApple <opensource@apple.com>
Mon, 24 Oct 2005 23:10:58 +0000 (23:10 +0000)
committerApple <opensource@apple.com>
Mon, 24 Oct 2005 23:10:58 +0000 (23:10 +0000)
43 files changed:
Plugins/ATconfig/Info.plist
Plugins/ATconfig/atconfig.c
Plugins/IPMonitor/Info.plist
Plugins/IPMonitor/set-hostname.c
Plugins/InterfaceNamer/Info.plist
Plugins/KernelEventMonitor/Info.plist
Plugins/Kicker/Info.plist
Plugins/LinkConfiguration/Info.plist
Plugins/LinkConfiguration/linkconfig.c
Plugins/PreferencesMonitor/Info.plist
Plugins/PreferencesMonitor/prefsmon.c
SystemConfiguration.fproj/BondConfiguration.h
SystemConfiguration.fproj/BondConfigurationPrivate.h
SystemConfiguration.fproj/Info.plist
SystemConfiguration.fproj/LinkConfiguration.c
SystemConfiguration.fproj/SCDConsoleUser.c
SystemConfiguration.fproj/SCDGet.c
SystemConfiguration.fproj/SCDList.c
SystemConfiguration.fproj/SCDNotifierGetChanges.c
SystemConfiguration.fproj/SCDPrivate.c
SystemConfiguration.fproj/SCDynamicStore.h
SystemConfiguration.fproj/SCNetworkConfiguration.h
SystemConfiguration.fproj/SCNetworkConnection.c
SystemConfiguration.fproj/SCNetworkConnection.h
SystemConfiguration.fproj/SCNetworkInterface.c
SystemConfiguration.fproj/SCNetworkReachability.c
SystemConfiguration.fproj/SCNetworkReachability.h
SystemConfiguration.fproj/SCPPath.c
SystemConfiguration.fproj/SCPreferences.h
SystemConfiguration.fproj/SCPreferencesPathKey.h
SystemConfiguration.fproj/SCPrivate.h
SystemConfiguration.fproj/SCSchemaDefinitions.h
SystemConfiguration.fproj/VLANConfiguration.h
SystemConfiguration.fproj/VLANConfigurationPrivate.h
SystemConfiguration.fproj/genSCPreferences.c
configd.tproj/plugin_support.c
configd.xcode/project.pbxproj
dnsinfo/dnsinfo.h
dnsinfo/dnsinfo_create.h
dnsinfo/dnsinfo_private.h
scutil.tproj/net_interface.c
scutil.tproj/prefs.c
scutil.tproj/tests.c

index 048a8f93fe821b9c71e1c38efdfdda7b84a9b506..99daa6d2267f48cfd58fee1758699227aaacd90c 100644 (file)
@@ -15,7 +15,7 @@
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.8.0</string>
+       <string>1.8.1</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
index 7bf129e12ce208f6b72613ed61db6a9984c78218..973fd6f3fe5747d09dd11d06f724429efd03107b 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -139,12 +139,15 @@ updateDefaults(const void *key, const void *val, void *context)
                         * set the "default zone" for this interface
                         */
                        bzero(&zone, sizeof(zone));
                         * set the "default zone" for this interface
                         */
                        bzero(&zone, sizeof(zone));
-                       if (!_SC_cfstring_to_cstring(defaultZone, zone.str, sizeof(zone.str), kCFStringEncodingASCII)) {
+                       if (!_SC_cfstring_to_cstring(defaultZone,
+                                                    (char *)zone.str,
+                                                    sizeof(zone.str),
+                                                    kCFStringEncodingASCII)) {
                                SCLog(TRUE, LOG_ERR, CFSTR("could not convert default zone to C string"));
                                return;
                        }
 
                                SCLog(TRUE, LOG_ERR, CFSTR("could not convert default zone to C string"));
                                return;
                        }
 
-                       zone.len = strlen(zone.str);
+                       zone.len = strlen((const char *)zone.str);
                        status = at_setdefaultzone(ifr_name, &zone);
                        if (status == -1) {
                                SCLog(TRUE, LOG_ERR, CFSTR("at_setdefaultzone() failed"));
                        status = at_setdefaultzone(ifr_name, &zone);
                        if (status == -1) {
                                SCLog(TRUE, LOG_ERR, CFSTR("at_setdefaultzone() failed"));
index bb883e4426d964801a4ea1eed318cc83b5c50838..bb8b3f96e1259ac9153bc7dc83ee7d02b4cf1528 100644 (file)
@@ -15,7 +15,7 @@
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.8.0</string>
+       <string>1.8.1</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
index b5408f95d796427dc06684511caa73650f936b4d..b593bef9fea76755facd2fcc5a4ba01f68326527 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2004-2005 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 20042005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -44,6 +44,7 @@
 static SCDynamicStoreRef       store           = NULL;
 static CFRunLoopSourceRef      rls             = NULL;
 
 static SCDynamicStoreRef       store           = NULL;
 static CFRunLoopSourceRef      rls             = NULL;
 
+static Boolean                 dnsActive       = FALSE;
 static CFMachPortRef           dnsPort         = NULL;
 static CFRunLoopSourceRef      dnsRLS          = NULL;
 static struct timeval          dnsQueryStart;
 static CFMachPortRef           dnsPort         = NULL;
 static CFRunLoopSourceRef      dnsRLS          = NULL;
 static struct timeval          dnsQueryStart;
@@ -538,6 +539,7 @@ reverseDNSComplete(int32_t status, char *host, char *serv, void *context)
 
        if (host != NULL)       free(host);
        if (serv != NULL)       free(serv);
 
        if (host != NULL)       free(host);
        if (serv != NULL)       free(serv);
+       dnsActive = FALSE;
        return;
 }
 
        return;
 }
 
@@ -545,9 +547,16 @@ reverseDNSComplete(int32_t status, char *host, char *serv, void *context)
 static void
 getnameinfo_async_handleCFReply(CFMachPortRef port, void *msg, CFIndex size, void *info)
 {
 static void
 getnameinfo_async_handleCFReply(CFMachPortRef port, void *msg, CFIndex size, void *info)
 {
-       getnameinfo_async_handle_reply(msg);
+       int32_t status;
+
+       status = getnameinfo_async_handle_reply(msg);
+       if ((status == 0) && dnsActive) {
+               // if request has been re-queued
+               return;
+       }
 
        if (port == dnsPort) {
 
        if (port == dnsPort) {
+               CFRunLoopSourceInvalidate(dnsRLS);
                CFRelease(dnsRLS);
                dnsRLS = NULL;
                CFRelease(dnsPort);
                CFRelease(dnsRLS);
                dnsRLS = NULL;
                CFRelease(dnsPort);
@@ -607,15 +616,6 @@ start_dns_query(SCDynamicStoreRef store, CFStringRef address)
                mach_port_t             port;
                int32_t                 error;
 
                mach_port_t             port;
                int32_t                 error;
 
-               if ((dnsPort != NULL) && (dnsRLS != NULL)) {
-                       /* if we already have an active async DNS query */
-                       lu_async_call_cancel(CFMachPortGetPort(dnsPort));
-                       CFRelease(dnsRLS);
-                       dnsRLS = NULL;
-                       CFRelease(dnsPort);
-                       dnsPort = NULL;
-               }
-
                (void) gettimeofday(&dnsQueryStart, NULL);
 
                error = getnameinfo_async_start(&port,
                (void) gettimeofday(&dnsQueryStart, NULL);
 
                error = getnameinfo_async_start(&port,
@@ -628,6 +628,7 @@ start_dns_query(SCDynamicStoreRef store, CFStringRef address)
                        goto done;
                }
 
                        goto done;
                }
 
+               dnsActive = TRUE;
                dnsPort = CFMachPortCreateWithPort(NULL,
                                                   port,
                                                   getnameinfo_async_handleCFReply,
                dnsPort = CFMachPortCreateWithPort(NULL,
                                                   port,
                                                   getnameinfo_async_handleCFReply,
@@ -650,6 +651,18 @@ update_hostname(SCDynamicStoreRef store, CFArrayRef changedKeys, void *info)
        CFStringRef     hostname        = NULL;
        CFStringRef     serviceID       = NULL;
 
        CFStringRef     hostname        = NULL;
        CFStringRef     serviceID       = NULL;
 
+       // if active, cancel any in-progress attempt to resolve the primary IP address
+
+       if (dnsPort != NULL) {
+               /* cancel the outstanding DNS query */
+               lu_async_call_cancel(CFMachPortGetPort(dnsPort));
+               CFRunLoopSourceInvalidate(dnsRLS);
+               CFRelease(dnsRLS);
+               dnsRLS = NULL;
+               CFRelease(dnsPort);
+               dnsPort = NULL;
+       }
+
        // get static hostname, if available
 
        hostname = copy_static_name();
        // get static hostname, if available
 
        hostname = copy_static_name();
index 69db34efdc98b85c1dafc1569217adf9c551acf0..5f9d8d1ca9d3df7455dbf198e454fc72e3dafac4 100644 (file)
@@ -15,7 +15,7 @@
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.8.0</string>
+       <string>1.8.1</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
index 0a9b667a6eb7ad275c4ceac34b45a505c953945f..01fc546804c03d4ca238efaa0868e4e3ddf49dcb 100644 (file)
@@ -15,7 +15,7 @@
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.8.0</string>
+       <string>1.8.1</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
index d692f896a03ecc655adba5d5b8c06a1c553bf7b0..fda650ce10f6552f046c4dd08a2a0701f81fe84c 100644 (file)
@@ -15,7 +15,7 @@
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.8.0</string>
+       <string>1.8.1</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
index 4907af2e8f2aeb00abd3ebb890ca23331a1f79d3..277ff64dbf40140a2612ceafa9d87b83324ab43b 100644 (file)
@@ -15,7 +15,7 @@
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.8.0</string>
+       <string>1.8.1</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
index 75d7262c4df9b61a424d9fc7efab2d2bda645488..595a89f9c8641ed4e164dcba19b0656931678cf4 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2002-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2002-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -54,7 +54,42 @@ static Boolean                       _verbose        = FALSE;
 
 /* in SystemConfiguration/LinkConfiguration.c */
 int
 
 /* in SystemConfiguration/LinkConfiguration.c */
 int
-__createMediaOptions(CFDictionaryRef media_options);
+__createMediaOptions(CFStringRef interface, CFDictionaryRef media_options);
+
+
+static CFDictionaryRef
+__copyMediaOptions(CFDictionaryRef options)
+{
+       CFMutableDictionaryRef  requested       = NULL;
+       CFTypeRef               val;
+
+       if (!isA_CFDictionary(options)) {
+               return NULL;
+       }
+
+       val = CFDictionaryGetValue(options, kSCPropNetEthernetMediaSubType);
+       if (isA_CFString(val)) {
+               requested = CFDictionaryCreateMutable(NULL,
+                                                     0,
+                                                     &kCFTypeDictionaryKeyCallBacks,
+                                                     &kCFTypeDictionaryValueCallBacks);
+               CFDictionaryAddValue(requested, kSCPropNetEthernetMediaSubType, val);
+       } else {
+               /* if garbage */;
+               return NULL;
+       }
+
+       val = CFDictionaryGetValue(options, kSCPropNetEthernetMediaOptions);
+       if (isA_CFArray(val)) {
+               CFDictionaryAddValue(requested, kSCPropNetEthernetMediaOptions, val);
+       } else {
+               /* if garbage */;
+               CFRelease(requested);
+               return NULL;
+       }
+
+       return requested;
+}
 
 
 __private_extern__
 
 
 __private_extern__
@@ -68,44 +103,34 @@ _NetworkInterfaceSetMediaOptions(CFStringRef               interface,
        struct ifreq            ifr;
        Boolean                 ok              = FALSE;
        int                     newOptions;
        struct ifreq            ifr;
        Boolean                 ok              = FALSE;
        int                     newOptions;
-       CFMutableDictionaryRef  requested       = NULL;
+       CFDictionaryRef         requested;
        int                     sock            = -1;
        int                     sock            = -1;
-       CFTypeRef               val;
 
        /* get current & available options */
        if (!NetworkInterfaceCopyMediaOptions(interface, &current, NULL, &available, FALSE)) {
 
        /* get current & available options */
        if (!NetworkInterfaceCopyMediaOptions(interface, &current, NULL, &available, FALSE)) {
+               /* could not get current media options */
                return FALSE;
        }
 
        /* extract just the dictionary key/value pairs of interest */
                return FALSE;
        }
 
        /* extract just the dictionary key/value pairs of interest */
-       requested = CFDictionaryCreateMutable(NULL,
-                                             0,
-                                             &kCFTypeDictionaryKeyCallBacks,
-                                             &kCFTypeDictionaryValueCallBacks);
+       requested = __copyMediaOptions(options);
+       if (requested == NULL) {
+               CFDictionaryRef baseOptions;
 
 
-       val = CFDictionaryGetValue(options, kSCPropNetEthernetMediaSubType);
-       if (!val) {
-               val = CFDictionaryGetValue(current, kSCPropNetEthernetMediaSubType);
+               /* get base options */
+               baseOptions = CFDictionaryGetValue(baseSettings, interface);
+               requested = __copyMediaOptions(baseOptions);
        }
        }
-       if (isA_CFString(val)) {
-               CFDictionaryAddValue(requested, kSCPropNetEthernetMediaSubType, val);
-       } else {
-               /* if garbage */;
-               goto done;
-       }
-
-       val = CFDictionaryGetValue(options, kSCPropNetEthernetMediaOptions);
-       if (!val) {
-               val = CFDictionaryGetValue(current, kSCPropNetEthernetMediaOptions);
+       if (requested == NULL) {
+               /* get base options */
+               requested = __copyMediaOptions(current);
        }
        }
-       if (isA_CFArray(val)) {
-               CFDictionaryAddValue(requested, kSCPropNetEthernetMediaOptions, val);
-       } else {
-               /* if garbage */;
+       if (requested == NULL) {
+               /* if no media options to set */
                goto done;
        }
 
                goto done;
        }
 
-       if (current && CFEqual(current, requested)) {
+       if ((current != NULL) && CFEqual(current, requested)) {
                /* if current settings are as requested */
                ok = TRUE;
                goto done;
                /* if current settings are as requested */
                ok = TRUE;
                goto done;
@@ -117,7 +142,7 @@ _NetworkInterfaceSetMediaOptions(CFStringRef                interface,
                goto done;
        }
 
                goto done;
        }
 
-       newOptions = __createMediaOptions(requested);
+       newOptions = __createMediaOptions(interface, requested);
        if (newOptions == -1) {
                /* since we have just validated, this should never happen */
                goto done;
        if (newOptions == -1) {
                /* since we have just validated, this should never happen */
                goto done;
@@ -210,13 +235,22 @@ _NetworkInterfaceSetMTU(CFStringRef       interface,
                return FALSE;
        }
 
                return FALSE;
        }
 
-       val = CFDictionaryGetValue(options, kSCPropNetEthernetMTU);
-       if (val) {
-               if (isA_CFNumber(val)) {
-                       CFNumberGetValue(val, kCFNumberIntType, &requested);
-               } else {
-                       return FALSE;
+       val = NULL;
+       if (isA_CFDictionary(options)) {
+               val = CFDictionaryGetValue(options, kSCPropNetEthernetMTU);
+               val = isA_CFNumber(val);
+       }
+       if (val == NULL) {
+               CFDictionaryRef baseOptions;
+
+               /* get base MTU */
+               baseOptions = CFDictionaryGetValue(baseSettings, interface);
+               if (baseOptions != NULL) {
+                       val = CFDictionaryGetValue(baseOptions, kSCPropNetEthernetMTU);
                }
                }
+       }
+       if (val != NULL) {
+               CFNumberGetValue(val, kCFNumberIntType, &requested);
        } else {
                requested = mtu_cur;
        }
        } else {
                requested = mtu_cur;
        }
@@ -342,39 +376,37 @@ updateLink(CFStringRef ifKey, CFDictionaryRef options)
                        CFDictionaryRef         cur_media       = NULL;
                        CFMutableDictionaryRef  new_media       = NULL;
                        int                     cur_mtu         = -1;
                        CFDictionaryRef         cur_media       = NULL;
                        CFMutableDictionaryRef  new_media       = NULL;
                        int                     cur_mtu         = -1;
-                       CFNumberRef             num;
-
-                       if (!NetworkInterfaceCopyMediaOptions(interface, &cur_media, NULL, NULL, FALSE)) {
-                               /* could not determine current settings */
-                               goto done;
-                       }
 
 
-                       if (!cur_media) {
-                               /* could not determine current settings */
-                               goto done;
+                       /* preserve current media options */
+                       if (NetworkInterfaceCopyMediaOptions(interface, &cur_media, NULL, NULL, FALSE)) {
+                               if (cur_media != NULL) {
+                                       new_media = CFDictionaryCreateMutableCopy(NULL, 0, cur_media);
+                                       CFRelease(cur_media);
+                               }
                        }
 
                        }
 
-                       if (!NetworkInterfaceCopyMTU(interface, &cur_mtu, NULL, NULL)) {
-                               /* could not determine current MTU */
-                               CFRelease(cur_media);
-                               goto done;
+                       /* preserve current MTU */
+                       if (NetworkInterfaceCopyMTU(interface, &cur_mtu, NULL, NULL)) {
+                               if (cur_mtu != -1) {
+                                       CFNumberRef     num;
+
+                                       if (new_media == NULL) {
+                                               new_media = CFDictionaryCreateMutable(NULL,
+                                                                                     0,
+                                                                                     &kCFTypeDictionaryKeyCallBacks,
+                                                                                     &kCFTypeDictionaryValueCallBacks);
+                                       }
+
+                                       num = CFNumberCreate(NULL, kCFNumberIntType, &cur_mtu);
+                                       CFDictionaryAddValue(new_media, kSCPropNetEthernetMTU, num);
+                                       CFRelease(num);
+                               }
                        }
 
                        }
 
-                       if (cur_mtu < 0) {
-                               /* could not determine current MTU */
-                               CFRelease(cur_media);
-                               goto done;
+                       if (new_media != NULL) {
+                               CFDictionarySetValue(baseSettings, interface, new_media);
+                               CFRelease(new_media);
                        }
                        }
-
-                       new_media = CFDictionaryCreateMutableCopy(NULL, 0, cur_media);
-                       CFRelease(cur_media);
-
-                       num = CFNumberCreate(NULL, kCFNumberIntType, &cur_mtu);
-                       CFDictionaryAddValue(new_media, kSCPropNetEthernetMTU, num);
-                       CFRelease(num);
-
-                       CFDictionarySetValue(baseSettings, interface, new_media);
-                       CFRelease(new_media);
                }
 
                /* establish new settings */
                }
 
                /* establish new settings */
@@ -458,6 +490,14 @@ load_LinkConfiguration(CFBundleRef bundle, Boolean bundleVerbose)
 
        patterns = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks);
 
 
        patterns = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks);
 
+       /* ...watch for (per-interface) AirPort configuration changes */
+       key = SCDynamicStoreKeyCreateNetworkInterfaceEntity(NULL,
+                                                           kSCDynamicStoreDomainSetup,
+                                                           kSCCompAnyRegex,
+                                                           kSCEntNetAirPort);
+       CFArrayAppendValue(patterns, key);
+       CFRelease(key);
+
        /* ...watch for (per-interface) Ethernet configuration changes */
        key = SCDynamicStoreKeyCreateNetworkInterfaceEntity(NULL,
                                                            kSCDynamicStoreDomainSetup,
        /* ...watch for (per-interface) Ethernet configuration changes */
        key = SCDynamicStoreKeyCreateNetworkInterfaceEntity(NULL,
                                                            kSCDynamicStoreDomainSetup,
@@ -466,6 +506,14 @@ load_LinkConfiguration(CFBundleRef bundle, Boolean bundleVerbose)
        CFArrayAppendValue(patterns, key);
        CFRelease(key);
 
        CFArrayAppendValue(patterns, key);
        CFRelease(key);
 
+       /* ...watch for (per-interface) FireWire configuration changes */
+       key = SCDynamicStoreKeyCreateNetworkInterfaceEntity(NULL,
+                                                           kSCDynamicStoreDomainSetup,
+                                                           kSCCompAnyRegex,
+                                                           kSCEntNetFireWire);
+       CFArrayAppendValue(patterns, key);
+       CFRelease(key);
+
        /* register the keys/patterns */
        if (!SCDynamicStoreSetNotificationKeys(store, NULL, patterns)) {
                SCLog(TRUE, LOG_ERR,
        /* register the keys/patterns */
        if (!SCDynamicStoreSetNotificationKeys(store, NULL, patterns)) {
                SCLog(TRUE, LOG_ERR,
index 0c1b578fbbfb207e224af42f74ac789d0e33570d..7647ae23ca7c3c2362870fd7f28decf8720e698d 100644 (file)
@@ -15,7 +15,7 @@
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.8.0</string>
+       <string>1.8.1</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
index 9071ef711f7f4b9559a83db51e210355757d5635..3d42d36f205a8cf6d63547a4f2aac8b247bfbd26 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -280,7 +280,7 @@ updateConfiguration(SCPreferencesRef                prefs,
        /*
         * get "global" system preferences
         */
        /*
         * get "global" system preferences
         */
-       (CFPropertyListRef)global = SCPreferencesGetValue(prefs, kSCPrefSystem);
+       global = SCPreferencesGetValue(prefs, kSCPrefSystem);
        if (!global) {
                /* if no global preferences are defined */
                goto getSet;
        if (!global) {
                /* if no global preferences are defined */
                goto getSet;
@@ -301,7 +301,7 @@ updateConfiguration(SCPreferencesRef                prefs,
        /*
         * get current set name
         */
        /*
         * get current set name
         */
-       (CFPropertyListRef)current = SCPreferencesGetValue(prefs, kSCPrefCurrentSet);
+       current = SCPreferencesGetValue(prefs, kSCPrefCurrentSet);
        if (!current) {
                /* if current set not defined */
                goto done;
        if (!current) {
                /* if current set not defined */
                goto done;
@@ -317,7 +317,7 @@ updateConfiguration(SCPreferencesRef                prefs,
        /*
         * get current set
         */
        /*
         * get current set
         */
-       (CFPropertyListRef)set = SCPreferencesPathGetValue(prefs, current);
+       set = SCPreferencesPathGetValue(prefs, current);
        if (!set) {
                /* if error with path */
                SCLog(TRUE, LOG_ERR,
        if (!set) {
                /* if error with path */
                SCLog(TRUE, LOG_ERR,
index f634ed75a3b6767c02ab6292cac391fa4950350d..156ebd3060e9aff3a702adc2edfc480ab74e295a 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004, 2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
        @header BONDCONFIGURATION
 */
 
        @header BONDCONFIGURATION
 */
 
+#include <AvailabilityMacros.h>
 #include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 #include <SystemConfiguration/SCNetworkConfiguration.h>
 
 #include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 #include <SystemConfiguration/SCNetworkConfiguration.h>
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
 
 typedef const struct __BondInterface *         BondInterfaceRef;
 
 
 typedef const struct __BondInterface *         BondInterfaceRef;
 
@@ -143,4 +145,6 @@ BondStatusGetDeviceStatus           (BondStatusRef          bondStatus,
 
 __END_DECLS
 
 
 __END_DECLS
 
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
+
 #endif /* _BONDCONFIGURATION_H */
 #endif /* _BONDCONFIGURATION_H */
index 4e6d4d59afd2b631d6cdabe685a280d883d3e86e..4b7fe4305c71c9606e8a2a45100bc365960eebd8 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004, 2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #ifndef _BONDCONFIGURATIONPRIVATE_H
 #define _BONDCONFIGURATIONPRIVATE_H
 
 #ifndef _BONDCONFIGURATIONPRIVATE_H
 #define _BONDCONFIGURATIONPRIVATE_H
 
-
+#include <AvailabilityMacros.h>
 #include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 #include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
-
 #include <SystemConfiguration/BondConfiguration.h>
 
 #include <SystemConfiguration/BondConfiguration.h>
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
 
 /*!
        @header BONDConfigurationPrivate
 
 /*!
        @header BONDConfigurationPrivate
@@ -49,4 +49,6 @@ _BondPreferencesUpdateConfiguration   (BondPreferencesRef     prefs);
 
 __END_DECLS
 
 
 __END_DECLS
 
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
+
 #endif /* _BONDCONFIGURATIONPRIVATE_H */
 #endif /* _BONDCONFIGURATIONPRIVATE_H */
index 65f8955f40481c733c6741d8ec838aa3b3db844d..f7f0172c5d78d7e1a2c1b5b5404a8dddc51b4fd9 100644 (file)
@@ -7,7 +7,7 @@
        <key>CFBundleExecutable</key>
        <string>SystemConfiguration</string>
        <key>CFBundleGetInfoString</key>
        <key>CFBundleExecutable</key>
        <string>SystemConfiguration</string>
        <key>CFBundleGetInfoString</key>
-       <string>1.8.0</string>
+       <string>1.8.1</string>
        <key>CFBundleIdentifier</key>
        <string>com.apple.SystemConfiguration</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <key>CFBundleIdentifier</key>
        <string>com.apple.SystemConfiguration</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <key>CFBundlePackageType</key>
        <string>FMWK</string>
        <key>CFBundleShortVersionString</key>
        <key>CFBundlePackageType</key>
        <string>FMWK</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.8.0</string>
+       <string>1.8.1</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>1.8.0</string>
+       <string>1.8.1</string>
 </dict>
 </plist>
 </dict>
 </plist>
index 202e6507e2873fab30cfb9c962bc18ee014cdc44..4c92666b15878903373865f3a3d796835edc8f41 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2002-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2002-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -56,23 +56,96 @@ static const struct ifmedia_description ifm_subtype_shared_descriptions[] =
 static const struct ifmedia_description ifm_subtype_ethernet_descriptions[] =
     IFM_SUBTYPE_ETHERNET_DESCRIPTIONS;
 
 static const struct ifmedia_description ifm_subtype_ethernet_descriptions[] =
     IFM_SUBTYPE_ETHERNET_DESCRIPTIONS;
 
+static const struct ifmedia_description ifm_subtype_ieee80211_descriptions[] =
+    IFM_SUBTYPE_IEEE80211_DESCRIPTIONS;
+
 static const struct ifmedia_description ifm_shared_option_descriptions[] =
     IFM_SHARED_OPTION_DESCRIPTIONS;
 
 static const struct ifmedia_description ifm_subtype_ethernet_option_descriptions[] =
     IFM_SUBTYPE_ETHERNET_OPTION_DESCRIPTIONS;
 
 static const struct ifmedia_description ifm_shared_option_descriptions[] =
     IFM_SHARED_OPTION_DESCRIPTIONS;
 
 static const struct ifmedia_description ifm_subtype_ethernet_option_descriptions[] =
     IFM_SUBTYPE_ETHERNET_OPTION_DESCRIPTIONS;
 
+static const struct ifmedia_description ifm_subtype_ieee80211_option_descriptions[] =
+    IFM_SUBTYPE_IEEE80211_OPTION_DESCRIPTIONS;
+
+
+static void
+__freeMediaList(struct ifmediareq *ifm)
+{
+       if (ifm->ifm_ulist != NULL) CFAllocatorDeallocate(NULL, ifm->ifm_ulist);
+       CFAllocatorDeallocate(NULL, ifm);
+       return;
+}
+
+
+static struct ifmediareq *
+__copyMediaList(CFStringRef interface)
+{
+       struct ifmediareq       *ifm;
+       Boolean                 ok      = FALSE;
+       int                     sock    = -1;
+
+       ifm = (struct ifmediareq *)CFAllocatorAllocate(NULL, sizeof(struct ifmediareq), 0);
+       bzero((void *)ifm, sizeof(*ifm));
+
+       if (_SC_cfstring_to_cstring(interface, ifm->ifm_name, sizeof(ifm->ifm_name), kCFStringEncodingASCII) == NULL) {
+               SCLog(TRUE, LOG_ERR, CFSTR("could not convert inteface name"));
+               goto done;
+       }
+
+       sock = socket(AF_INET, SOCK_DGRAM, 0);
+       if (sock == -1) {
+               SCLog(TRUE, LOG_ERR, CFSTR("socket() failed: %s"), strerror(errno));
+               goto done;
+       }
+
+       if (ioctl(sock, SIOCGIFMEDIA, (caddr_t)ifm) == -1) {
+//             SCLog(TRUE, LOG_DEBUG, CFSTR("ioctl(SIOCGIFMEDIA) failed: %s"), strerror(errno));
+               goto done;
+       }
+
+       if (ifm->ifm_count > 0) {
+               ifm->ifm_ulist = (int *)CFAllocatorAllocate(NULL, ifm->ifm_count * sizeof(int), 0);
+               if (ioctl(sock, SIOCGIFMEDIA, (caddr_t)ifm) == -1) {
+                       SCLog(TRUE, LOG_DEBUG, CFSTR("ioctl(SIOCGIFMEDIA) failed: %s"), strerror(errno));
+                       goto done;
+               }
+       }
+
+       ok = TRUE;
+
+    done :
+
+       if (sock != -1) (void)close(sock);
+       if (!ok) {
+               __freeMediaList(ifm);
+               ifm = NULL;
+       }
+       return ifm;
+}
+
 
 static CFDictionaryRef
 __createMediaDictionary(int media_options, Boolean filter)
 {
 
 static CFDictionaryRef
 __createMediaDictionary(int media_options, Boolean filter)
 {
-       CFMutableDictionaryRef  dict    = NULL;
-       int                     i;
-       CFMutableArrayRef       options = NULL;
-       CFStringRef             val;
-
-       if (IFM_TYPE(media_options) != IFM_ETHER) {
-               return NULL;
+       CFMutableDictionaryRef                  dict                    = NULL;
+       int                                     i;
+       const struct ifmedia_description        *option_descriptions    = NULL;
+       CFMutableArrayRef                       options                 = NULL;
+       const struct ifmedia_description        *subtype_descriptions   = NULL;
+       CFStringRef                             val;
+
+       switch (IFM_TYPE(media_options)) {
+               case IFM_ETHER :
+                       option_descriptions  = ifm_subtype_ethernet_option_descriptions;
+                       subtype_descriptions = ifm_subtype_ethernet_descriptions;
+                       break;
+               case IFM_IEEE80211 :
+                       option_descriptions  = ifm_subtype_ieee80211_option_descriptions;
+                       subtype_descriptions = ifm_subtype_ieee80211_descriptions;
+                       break;
+               default :
+                       return NULL;
        }
 
        if (filter && (IFM_SUBTYPE(media_options) == IFM_NONE)) {
        }
 
        if (filter && (IFM_SUBTYPE(media_options) == IFM_NONE)) {
@@ -96,12 +169,14 @@ __createMediaDictionary(int media_options, Boolean filter)
                }
        }
 
                }
        }
 
-       for (i = 0; !val && ifm_subtype_ethernet_descriptions[i].ifmt_string; i++) {
-               if (IFM_SUBTYPE(media_options) == ifm_subtype_ethernet_descriptions[i].ifmt_word) {
-                       val = CFStringCreateWithCString(NULL,
-                                                       ifm_subtype_ethernet_descriptions[i].ifmt_string,
-                                                       kCFStringEncodingASCII);
-                       break;
+       if (subtype_descriptions != NULL) {
+               for (i = 0; !val && subtype_descriptions[i].ifmt_string; i++) {
+                       if (IFM_SUBTYPE(media_options) == subtype_descriptions[i].ifmt_word) {
+                               val = CFStringCreateWithCString(NULL,
+                                                               subtype_descriptions[i].ifmt_string,
+                                                               kCFStringEncodingASCII);
+                               break;
+                       }
                }
        }
 
                }
        }
 
@@ -131,13 +206,15 @@ __createMediaDictionary(int media_options, Boolean filter)
                        }
                }
 
                        }
                }
 
-               for (i = 0; !val && ifm_subtype_ethernet_option_descriptions[i].ifmt_string; i++) {
-                       if (IFM_OPTIONS(media_options) & ifm_subtype_ethernet_option_descriptions[i].ifmt_word) {
-                               val = CFStringCreateWithCString(NULL,
-                                                               ifm_subtype_ethernet_option_descriptions[i].ifmt_string,
-                                                               kCFStringEncodingASCII);
-                               media_options &= ~ifm_shared_option_descriptions[i].ifmt_word;
-                               break;
+               if (option_descriptions != NULL) {
+                       for (i = 0; !val && option_descriptions[i].ifmt_string; i++) {
+                               if (IFM_OPTIONS(media_options) & option_descriptions[i].ifmt_word) {
+                                       val = CFStringCreateWithCString(NULL,
+                                                                       option_descriptions[i].ifmt_string,
+                                                                       kCFStringEncodingASCII);
+                                       media_options &= ~option_descriptions[i].ifmt_word;
+                                       break;
+                               }
                        }
                }
 
                        }
                }
 
@@ -155,15 +232,44 @@ __createMediaDictionary(int media_options, Boolean filter)
 
 
 int
 
 
 int
-__createMediaOptions(CFDictionaryRef media_options)
+__createMediaOptions(CFStringRef interface, CFDictionaryRef media_options)
 {
 {
-       CFIndex         i;
-       Boolean         match;
-       int             ifm_new = IFM_ETHER;
-       CFIndex         n;
-       CFArrayRef      options;
-       char            *str;
-       CFStringRef     val;
+       CFIndex                                 i;
+       struct ifmediareq                       *ifm;
+       int                                     ifm_new = -1;
+       Boolean                                 match;
+       CFIndex                                 n;
+       const struct ifmedia_description        *option_descriptions    = NULL;
+       CFArrayRef                              options;
+       char                                    *str;
+       const struct ifmedia_description        *subtype_descriptions   = NULL;
+       CFStringRef                             val;
+
+       /* set type */
+
+       ifm = __copyMediaList(interface);
+       if (ifm != NULL) {
+               if (ifm->ifm_count > 0) {
+                       ifm_new = IFM_TYPE(ifm->ifm_ulist[0]);
+               }
+               __freeMediaList(ifm);
+       }
+
+       if (ifm_new == -1) {
+               // if we cannot determine the media type for the interface
+               return -1;
+       }
+
+       switch (IFM_TYPE(ifm_new)) {
+               case IFM_ETHER :
+                       option_descriptions  = ifm_subtype_ethernet_option_descriptions;
+                       subtype_descriptions = ifm_subtype_ethernet_descriptions;
+                       break;
+               case IFM_IEEE80211 :
+                       option_descriptions  = ifm_subtype_ieee80211_option_descriptions;
+                       subtype_descriptions = ifm_subtype_ieee80211_descriptions;
+                       break;
+       }
 
        /* set subtype */
 
 
        /* set subtype */
 
@@ -186,11 +292,13 @@ __createMediaOptions(CFDictionaryRef media_options)
                }
        }
 
                }
        }
 
-       for (i = 0; !match && ifm_subtype_ethernet_descriptions[i].ifmt_string; i++) {
-               if (strcasecmp(str, ifm_subtype_ethernet_descriptions[i].ifmt_string) == 0) {
-                       ifm_new |= ifm_subtype_ethernet_descriptions[i].ifmt_word;
-                       match = TRUE;
-                       break;
+       if (subtype_descriptions != NULL) {
+               for (i = 0; !match && subtype_descriptions[i].ifmt_string; i++) {
+                       if (strcasecmp(str, subtype_descriptions[i].ifmt_string) == 0) {
+                               ifm_new |= subtype_descriptions[i].ifmt_word;
+                               match = TRUE;
+                               break;
+                       }
                }
        }
 
                }
        }
 
@@ -231,11 +339,13 @@ __createMediaOptions(CFDictionaryRef media_options)
                        }
                }
 
                        }
                }
 
-               for (j = 0; !match && ifm_subtype_ethernet_option_descriptions[j].ifmt_string; j++) {
-                       if (strcasecmp(str, ifm_subtype_ethernet_option_descriptions[j].ifmt_string) == 0) {
-                               ifm_new |= ifm_subtype_ethernet_option_descriptions[j].ifmt_word;
-                               match = TRUE;
-                               break;
+               if (option_descriptions != NULL) {
+                       for (j = 0; !match && option_descriptions[j].ifmt_string; j++) {
+                               if (strcasecmp(str, option_descriptions[j].ifmt_string) == 0) {
+                                       ifm_new |= option_descriptions[j].ifmt_word;
+                                       match = TRUE;
+                                       break;
+                               }
                        }
                }
 
                        }
                }
 
@@ -258,36 +368,11 @@ NetworkInterfaceCopyMediaOptions(CFStringRef              interface,
                                 Boolean                filter)
 {
        int                     i;
                                 Boolean                filter)
 {
        int                     i;
-       struct ifmediareq       ifm;
-       int                     *media_list     = NULL;
-       Boolean                 ok              = FALSE;
-       int                     sock            = -1;
-
-       bzero((void *)&ifm, sizeof(ifm));
-
-       if (_SC_cfstring_to_cstring(interface, ifm.ifm_name, sizeof(ifm.ifm_name), kCFStringEncodingASCII) == NULL) {
-               SCLog(TRUE, LOG_ERR, CFSTR("could not convert inteface name"));
-               goto done;
-       }
-
-       sock = socket(AF_INET, SOCK_DGRAM, 0);
-       if (sock < 0) {
-               SCLog(TRUE, LOG_ERR, CFSTR("socket() failed: %s"), strerror(errno));
-               goto done;
-       }
-
-       if (ioctl(sock, SIOCGIFMEDIA, (caddr_t)&ifm) < 0) {
-//             SCLog(TRUE, LOG_DEBUG, CFSTR("ioctl(SIOCGIFMEDIA) failed: %s"), strerror(errno));
-               goto done;
-       }
+       struct ifmediareq       *ifm;
 
 
-       if (ifm.ifm_count > 0) {
-               media_list = (int *)CFAllocatorAllocate(NULL, ifm.ifm_count * sizeof(int), 0);
-               ifm.ifm_ulist = media_list;
-               if (ioctl(sock, SIOCGIFMEDIA, (caddr_t)&ifm) < 0) {
-                       SCLog(TRUE, LOG_DEBUG, CFSTR("ioctl(SIOCGIFMEDIA) failed: %s"), strerror(errno));
-                       goto done;
-               }
+       ifm = __copyMediaList(interface);
+       if (ifm == NULL) {
+               return FALSE;
        }
 
        if (active)     *active    = NULL;
        }
 
        if (active)     *active    = NULL;
@@ -296,19 +381,19 @@ NetworkInterfaceCopyMediaOptions(CFStringRef              interface,
                CFMutableArrayRef       media_options;
 
                media_options = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks);
                CFMutableArrayRef       media_options;
 
                media_options = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks);
-               for (i = 0; i < ifm.ifm_count; i++) {
+               for (i = 0; i < ifm->ifm_count; i++) {
                        CFDictionaryRef options;
 
                        CFDictionaryRef options;
 
-                       options = __createMediaDictionary(media_list[i], filter);
+                       options = __createMediaDictionary(ifm->ifm_ulist[i], filter);
                        if (!options) {
                                continue;
                        }
 
                        if (!options) {
                                continue;
                        }
 
-                       if (active  && (*active == NULL)  && (ifm.ifm_active == media_list[i])) {
+                       if (active  && (*active == NULL)  && (ifm->ifm_active == ifm->ifm_ulist[i])) {
                                *active  = CFRetain(options);
                        }
 
                                *active  = CFRetain(options);
                        }
 
-                       if (current && (*current == NULL) && (ifm.ifm_current == media_list[i])) {
+                       if (current && (*current == NULL) && (ifm->ifm_current == ifm->ifm_ulist[i])) {
                                *current = CFRetain(options);
                        }
 
                                *current = CFRetain(options);
                        }
 
@@ -322,25 +407,19 @@ NetworkInterfaceCopyMediaOptions(CFStringRef              interface,
        }
 
        if (active  && (*active == NULL)) {
        }
 
        if (active  && (*active == NULL)) {
-               *active = __createMediaDictionary(ifm.ifm_active, FALSE);
+               *active = __createMediaDictionary(ifm->ifm_active, FALSE);
        }
 
        if (current && (*current == NULL)) {
        }
 
        if (current && (*current == NULL)) {
-               if (active && (ifm.ifm_active == ifm.ifm_current)) {
+               if (active && (ifm->ifm_active == ifm->ifm_current)) {
                        if (*active)    *current = CFRetain(active);
                } else {
                        if (*active)    *current = CFRetain(active);
                } else {
-                       *current = __createMediaDictionary(ifm.ifm_current, FALSE);
+                       *current = __createMediaDictionary(ifm->ifm_current, FALSE);
                }
        }
 
                }
        }
 
-       ok = TRUE;
-
-    done :
-
-       if (sock >= 0)  (void)close(sock);
-       if (media_list) CFAllocatorDeallocate(NULL, media_list);
-
-       return ok;
+       __freeMediaList(ifm);
+       return TRUE;
 }
 
 
 }
 
 
index 6fc7bc62aabbce7de37824ce5f53fe949a92c501..b114d132a2ca4b5491e59709aeeb865d885ad952 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #include <SystemConfiguration/SCPrivate.h>
 
 
 #include <SystemConfiguration/SCPrivate.h>
 
 
-#ifndef        kSCPropUsersConsoleUserName
+#undef kSCPropUsersConsoleUserName
 #define        kSCPropUsersConsoleUserName     CFSTR("Name")
 #define        kSCPropUsersConsoleUserName     CFSTR("Name")
-#endif
 
 
-#ifndef        kSCPropUsersConsoleUserUID
+#undef kSCPropUsersConsoleUserUID
 #define        kSCPropUsersConsoleUserUID      CFSTR("UID")
 #define        kSCPropUsersConsoleUserUID      CFSTR("UID")
-#endif
 
 
-#ifndef        kSCPropUsersConsoleUserGID
+#undef kSCPropUsersConsoleUserGID
 #define        kSCPropUsersConsoleUserGID      CFSTR("GID")
 #define        kSCPropUsersConsoleUserGID      CFSTR("GID")
-#endif
 
 
-#ifndef        kSCPropUsersConsoleSessionInfo
+#undef kSCPropUsersConsoleSessionInfo
 #define        kSCPropUsersConsoleSessionInfo  CFSTR("SessionInfo")
 #define        kSCPropUsersConsoleSessionInfo  CFSTR("SessionInfo")
-#endif
 
 
 // from CoreGraphics (CGSession.h)
 
 
 // from CoreGraphics (CGSession.h)
@@ -66,7 +62,7 @@ const CFStringRef kSCConsoleSessionLoginDone          = CFSTR("kCGSessionLoginDoneKey");
 // from CoreGraphics (CGSSession.h)
 const CFStringRef kSCConsoleSessionID                  = CFSTR("kCGSSessionIDKey");                    /* value is CFNumber */
 
 // from CoreGraphics (CGSSession.h)
 const CFStringRef kSCConsoleSessionID                  = CFSTR("kCGSSessionIDKey");                    /* value is CFNumber */
 
-// from loginwindow
+// for loginwindow
 const CFStringRef kSCConsoleSessionSystemSafeBoot      = CFSTR("kCGSSessionSystemSafeBoot");           /* value is CFBoolean */
 const CFStringRef kSCConsoleSessionLoginwindowSafeLogin        = CFSTR("kCGSSessionLoginwindowSafeLogin");     /* value is CFBoolean */
 
 const CFStringRef kSCConsoleSessionSystemSafeBoot      = CFSTR("kCGSSessionSystemSafeBoot");           /* value is CFBoolean */
 const CFStringRef kSCConsoleSessionLoginwindowSafeLogin        = CFSTR("kCGSSessionLoginwindowSafeLogin");     /* value is CFBoolean */
 
index dcc82a1e9da990171249418280af25031cd777ab..b71e64542c967ce2c2987977816f5889b78c08f2 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -54,7 +54,7 @@ SCDynamicStoreCopyMultiple(SCDynamicStoreRef  store,
        xmlData_t                       myPatternsRef   = NULL; /* patterns (serialized) */
        CFIndex                         myPatternsLen   = 0;
        xmlDataOut_t                    xmlDictRef;             /* dict (serialized) */
        xmlData_t                       myPatternsRef   = NULL; /* patterns (serialized) */
        CFIndex                         myPatternsLen   = 0;
        xmlDataOut_t                    xmlDictRef;             /* dict (serialized) */
-       CFIndex                         xmlDictLen;
+       mach_msg_type_number_t          xmlDictLen;
        CFDictionaryRef                 dict            = NULL; /* dict (un-serialized) */
        CFDictionaryRef                 expDict         = NULL; /* dict (un-serialized / expanded) */
        int                             sc_status;
        CFDictionaryRef                 dict            = NULL; /* dict (un-serialized) */
        CFDictionaryRef                 expDict         = NULL; /* dict (un-serialized / expanded) */
        int                             sc_status;
@@ -94,7 +94,7 @@ SCDynamicStoreCopyMultiple(SCDynamicStoreRef  store,
                             myPatternsRef,
                             myPatternsLen,
                             &xmlDictRef,
                             myPatternsRef,
                             myPatternsLen,
                             &xmlDictRef,
-                            (int *)&xmlDictLen,
+                            &xmlDictLen,
                             (int *)&sc_status);
 
        /* clean up */
                             (int *)&sc_status);
 
        /* clean up */
@@ -146,7 +146,7 @@ SCDynamicStoreCopyValue(SCDynamicStoreRef store, CFStringRef key)
        xmlData_t                       myKeyRef;       /* key (serialized) */
        CFIndex                         myKeyLen;
        xmlDataOut_t                    xmlDataRef;     /* data (serialized) */
        xmlData_t                       myKeyRef;       /* key (serialized) */
        CFIndex                         myKeyLen;
        xmlDataOut_t                    xmlDataRef;     /* data (serialized) */
-       CFIndex                         xmlDataLen;
+       mach_msg_type_number_t          xmlDataLen;
        CFPropertyListRef               data;           /* data (un-serialized) */
        int                             newInstance;
        int                             sc_status;
        CFPropertyListRef               data;           /* data (un-serialized) */
        int                             newInstance;
        int                             sc_status;
@@ -173,7 +173,7 @@ SCDynamicStoreCopyValue(SCDynamicStoreRef store, CFStringRef key)
                           myKeyRef,
                           myKeyLen,
                           &xmlDataRef,
                           myKeyRef,
                           myKeyLen,
                           &xmlDataRef,
-                          (int *)&xmlDataLen,
+                          &xmlDataLen,
                           &newInstance,
                           (int *)&sc_status);
 
                           &newInstance,
                           (int *)&sc_status);
 
index 406f85989b4b28a21d07f05356c0bc63a208460d..f193b7c2dbd91d4b0933ba2890e45cf9bdb5b9da 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -48,7 +48,7 @@ SCDynamicStoreCopyKeyList(SCDynamicStoreRef store, CFStringRef pattern)
        xmlData_t                       myPatternRef;
        CFIndex                         myPatternLen;
        xmlDataOut_t                    xmlDataRef;     /* serialized data */
        xmlData_t                       myPatternRef;
        CFIndex                         myPatternLen;
        xmlDataOut_t                    xmlDataRef;     /* serialized data */
-       int                             xmlDataLen;
+       mach_msg_type_number_t          xmlDataLen;
        int                             sc_status;
        CFArrayRef                      allKeys;
 
        int                             sc_status;
        CFArrayRef                      allKeys;
 
index 6684826ce245bc708974085d15f718bd789521ff..04dc9b554868e96ccfd075fc62d3791011d22a21 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000, 2001, 2003-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -45,7 +45,7 @@ SCDynamicStoreCopyNotifiedKeys(SCDynamicStoreRef store)
        SCDynamicStorePrivateRef        storePrivate = (SCDynamicStorePrivateRef)store;
        kern_return_t                   status;
        xmlDataOut_t                    xmlDataRef;     /* serialized data */
        SCDynamicStorePrivateRef        storePrivate = (SCDynamicStorePrivateRef)store;
        kern_return_t                   status;
        xmlDataOut_t                    xmlDataRef;     /* serialized data */
-       int                             xmlDataLen;
+       mach_msg_type_number_t          xmlDataLen;
        int                             sc_status;
        CFArrayRef                      allKeys;
 
        int                             sc_status;
        CFArrayRef                      allKeys;
 
index ed1e0cb0dcc2b74b657c0f08b67c083366f3fd65..732141b7bf3c2454af07e359832660841769a939 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -85,7 +85,7 @@ _SC_cfstring_to_cstring(CFStringRef cfstr, char *buf, int bufLen, CFStringEncodi
                               encoding,
                               0,
                               FALSE,
                               encoding,
                               0,
                               FALSE,
-                              buf,
+                              (UInt8 *)buf,
                               bufLen,
                               &last);
        buf[last] = '\0';
                               bufLen,
                               &last);
        buf[last] = '\0';
index babb95c4c92be425e3f8c74b0a58b9642f1b2672..6331e9253eb3f20af85e762564d87006b9568d44 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000, 2001, 2003-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -24,6 +24,7 @@
 #ifndef _SCDYNAMICSTORE_H
 #define _SCDYNAMICSTORE_H
 
 #ifndef _SCDYNAMICSTORE_H
 #define _SCDYNAMICSTORE_H
 
+#include <AvailabilityMacros.h>
 #include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 
 #include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 
@@ -132,6 +133,8 @@ SCDynamicStoreCreate                        (
                                        SCDynamicStoreContext           *context
                                        );
 
                                        SCDynamicStoreContext           *context
                                        );
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+
 /*!
        @function SCDynamicStoreCreateWithOptions
        @discussion Creates a new session used to interact with the dynamic
 /*!
        @function SCDynamicStoreCreateWithOptions
        @discussion Creates a new session used to interact with the dynamic
@@ -176,9 +179,11 @@ SCDynamicStoreCreateWithOptions            (
                                        CFDictionaryRef                 storeOptions,
                                        SCDynamicStoreCallBack          callout,
                                        SCDynamicStoreContext           *context
                                        CFDictionaryRef                 storeOptions,
                                        SCDynamicStoreCallBack          callout,
                                        SCDynamicStoreContext           *context
-                                       );
+                                       )                               AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+extern const CFStringRef       kSCDynamicStoreUseSessionKeys           AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;      /* CFBoolean */
 
 
-extern const CFStringRef       kSCDynamicStoreUseSessionKeys;  /* CFBoolean */
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
 
 /*!
        @function SCDynamicStoreCreateRunLoopSource
 
 /*!
        @function SCDynamicStoreCreateRunLoopSource
index a9be6356ba41a1350dcf11afcd3f6d6d19503c4d..bb1ab3487b81fd4e55ab0ce621b5a8735970707b 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004, 2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #ifndef _SCNETWORKCONFIGURATION_H
 #define _SCNETWORKCONFIGURATION_H
 
 #ifndef _SCNETWORKCONFIGURATION_H
 #define _SCNETWORKCONFIGURATION_H
 
-
-#include <sys/cdefs.h>
 #include <AvailabilityMacros.h>
 #include <AvailabilityMacros.h>
+#include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 #include <SystemConfiguration/SystemConfiguration.h>
 
 #include <CoreFoundation/CoreFoundation.h>
 #include <SystemConfiguration/SystemConfiguration.h>
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
 
 /*!
        @header SCNetworkConfiguration
 
 /*!
        @header SCNetworkConfiguration
@@ -750,4 +750,6 @@ SCNetworkSetSetServiceOrder                 (SCNetworkSetRef                set,
 
 __END_DECLS
 
 
 __END_DECLS
 
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
+
 #endif /* _SCNETWORKCONFIGURATION_H */
 #endif /* _SCNETWORKCONFIGURATION_H */
index 2e01b503c716b9a3d73ce52106a3872fa08856f0..eb67e80272a943a953e286cf2857f6523432d6c5 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2003-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -441,8 +441,8 @@ CFDictionaryRef
 SCNetworkConnectionCopyStatistics(SCNetworkConnectionRef connection)
 {
        SCNetworkConnectionPrivateRef   connectionPrivate       = (SCNetworkConnectionPrivateRef)connection;
 SCNetworkConnectionCopyStatistics(SCNetworkConnectionRef connection)
 {
        SCNetworkConnectionPrivateRef   connectionPrivate       = (SCNetworkConnectionPrivateRef)connection;
-       void                            *data                   = NULL;
-       int                             datalen;
+       xmlDataOut_t                    data                    = NULL;
+       mach_msg_type_number_t          datalen;
        int                             error                   = kSCStatusFailed;
        CFPropertyListRef               statistics              = NULL;
        kern_return_t                   status;
        int                             error                   = kSCStatusFailed;
        CFPropertyListRef               statistics              = NULL;
        kern_return_t                   status;
@@ -452,7 +452,7 @@ SCNetworkConnectionCopyStatistics(SCNetworkConnectionRef connection)
                return NULL;
        }
 
                return NULL;
        }
 
-       status = pppcontroller_copystatistics(connectionPrivate->session_port, (xmlDataOut_t *)&data, &datalen, &error);
+       status = pppcontroller_copystatistics(connectionPrivate->session_port, &data, &datalen, &error);
        if (status != KERN_SUCCESS) {
                goto fail;
        }
        if (status != KERN_SUCCESS) {
                goto fail;
        }
@@ -509,8 +509,8 @@ CFDictionaryRef
 SCNetworkConnectionCopyExtendedStatus(SCNetworkConnectionRef connection)
 {
        SCNetworkConnectionPrivateRef   connectionPrivate       = (SCNetworkConnectionPrivateRef)connection;
 SCNetworkConnectionCopyExtendedStatus(SCNetworkConnectionRef connection)
 {
        SCNetworkConnectionPrivateRef   connectionPrivate       = (SCNetworkConnectionPrivateRef)connection;
-       void                            *data                   = NULL;
-       int                             datalen;
+       xmlDataOut_t                    data                    = NULL;
+       mach_msg_type_number_t          datalen;
        int                             error                   = kSCStatusFailed;
        CFPropertyListRef               extstatus               = NULL;
        kern_return_t                   status;
        int                             error                   = kSCStatusFailed;
        CFPropertyListRef               extstatus               = NULL;
        kern_return_t                   status;
@@ -520,7 +520,7 @@ SCNetworkConnectionCopyExtendedStatus(SCNetworkConnectionRef connection)
                return NULL;
        }
 
                return NULL;
        }
 
-       status = pppcontroller_copyextendedstatus(connectionPrivate->session_port, (xmlDataOut_t *)&data, &datalen, &error);
+       status = pppcontroller_copyextendedstatus(connectionPrivate->session_port, &data, &datalen, &error);
        if (status != KERN_SUCCESS) {
                goto fail;
        }
        if (status != KERN_SUCCESS) {
                goto fail;
        }
@@ -767,8 +767,8 @@ CFDictionaryRef
 SCNetworkConnectionCopyUserOptions(SCNetworkConnectionRef connection)
 {
        SCNetworkConnectionPrivateRef   connectionPrivate       = (SCNetworkConnectionPrivateRef)connection;
 SCNetworkConnectionCopyUserOptions(SCNetworkConnectionRef connection)
 {
        SCNetworkConnectionPrivateRef   connectionPrivate       = (SCNetworkConnectionPrivateRef)connection;
-       void                            *data                   = NULL;
-       int                             datalen;
+       xmlDataOut_t                    data                    = NULL;
+       mach_msg_type_number_t          datalen;
        int                             error                   = kSCStatusFailed;
        kern_return_t                   status;
        CFPropertyListRef               userOptions             = NULL;
        int                             error                   = kSCStatusFailed;
        kern_return_t                   status;
        CFPropertyListRef               userOptions             = NULL;
@@ -778,7 +778,7 @@ SCNetworkConnectionCopyUserOptions(SCNetworkConnectionRef connection)
                return NULL;
        }
 
                return NULL;
        }
 
-       status = pppcontroller_copyuseroptions(connectionPrivate->session_port, (xmlDataOut_t *)&data, &datalen, &error);
+       status = pppcontroller_copyuseroptions(connectionPrivate->session_port, &data, &datalen, &error);
        if (status != KERN_SUCCESS) {
                goto fail;
        }
        if (status != KERN_SUCCESS) {
                goto fail;
        }
@@ -922,7 +922,7 @@ static void addPasswordFromKeychain                                 (SCDynamicStoreRef session, CFStringRef
 static CFStringRef copyPasswordFromKeychain                            (CFStringRef uniqueID);
 static CFArrayRef copyKeychainEnumerator                               (CFStringRef uniqueIdentifier);
 
 static CFStringRef copyPasswordFromKeychain                            (CFStringRef uniqueID);
 static CFArrayRef copyKeychainEnumerator                               (CFStringRef uniqueIdentifier);
 
-static uint32_t notify_userprefs_token = -1;
+static int notify_userprefs_token      = -1;
 
 /*
  *     return TRUE if domain1 ends with domain2, and will check for trailing "."
 
 /*
  *     return TRUE if domain1 ends with domain2, and will check for trailing "."
index 148e3dd186ae269b3aebab81d2b85fa6717a9ae6..e33b16cf179b185399d0a5e3cd787371ed2ee4b1 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2002-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2003-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #ifndef _SCNETWORKCONNECTION_H
 #define _SCNETWORKCONNECTION_H
 
 #ifndef _SCNETWORKCONNECTION_H
 #define _SCNETWORKCONNECTION_H
 
+#include <AvailabilityMacros.h>
 #include <sys/cdefs.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/cdefs.h>
 #include <sys/types.h>
 #include <sys/socket.h>
-#include <AvailabilityMacros.h>
 #include <CoreFoundation/CoreFoundation.h>
 #include <SystemConfiguration/SystemConfiguration.h>
 
 #include <CoreFoundation/CoreFoundation.h>
 #include <SystemConfiguration/SystemConfiguration.h>
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
 
 /*!
        @header SCNetworkConnection
 
 /*!
        @header SCNetworkConnection
@@ -513,4 +514,6 @@ SCNetworkConnectionUnscheduleFromRunLoop    (
 
 __END_DECLS
 
 
 __END_DECLS
 
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */
+
 #endif /* _SCNETWORKCONNECTION_H */
 #endif /* _SCNETWORKCONNECTION_H */
index bb4fd5a9f1daa6d1d88ef3af88dc9358c4227035..058a032ecc491daa1fc4939eba2246dad02c5c68 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004, 2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -593,7 +593,9 @@ IOCopyCFStringValue(CFTypeRef ioVal)
        }
 
        if (isA_CFData(ioVal)) {
        }
 
        if (isA_CFData(ioVal)) {
-               return CFStringCreateWithCString(NULL, CFDataGetBytePtr(ioVal), kCFStringEncodingUTF8);
+               return CFStringCreateWithCString(NULL,
+                                                (const char *)CFDataGetBytePtr(ioVal),
+                                                kCFStringEncodingUTF8);
        }
 
        return NULL;
        }
 
        return NULL;
@@ -733,7 +735,9 @@ pci_slot(io_registry_entry_t interface, CFTypeRef *pci_slot_name)
                                        CFStringAppend(name, slot_name);
                                } else if (isA_CFData(slot_name)) {
                                        if (pci_slot_name != NULL) *pci_slot_name = CFDataCreateCopy(NULL, slot_name);
                                        CFStringAppend(name, slot_name);
                                } else if (isA_CFData(slot_name)) {
                                        if (pci_slot_name != NULL) *pci_slot_name = CFDataCreateCopy(NULL, slot_name);
-                                       CFStringAppendCString(name, CFDataGetBytePtr(slot_name), kCFStringEncodingUTF8);
+                                       CFStringAppendCString(name,
+                                                             (const char *)CFDataGetBytePtr(slot_name),
+                                                             kCFStringEncodingUTF8);
                                }
 
                                (void) CFStringFindAndReplace(name,
                                }
 
                                (void) CFStringFindAndReplace(name,
index a0d0a5408976a732242ff18a384f89a72a781ce5..d779c0efc4f0b7b8e2e55cf0ad05657787c3a40f 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2003-2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2003-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -1350,12 +1350,18 @@ rankReachability(SCNetworkConnectionFlags flags)
 static void
 getaddrinfo_async_handleCFReply(CFMachPortRef port, void *msg, CFIndex size, void *info)
 {
 static void
 getaddrinfo_async_handleCFReply(CFMachPortRef port, void *msg, CFIndex size, void *info)
 {
+       int32_t                         status;
        SCNetworkReachabilityRef        target          = (SCNetworkReachabilityRef)info;
        SCNetworkReachabilityPrivateRef targetPrivate   = (SCNetworkReachabilityPrivateRef)target;
 
        pthread_mutex_lock(&targetPrivate->lock);
 
        SCNetworkReachabilityRef        target          = (SCNetworkReachabilityRef)info;
        SCNetworkReachabilityPrivateRef targetPrivate   = (SCNetworkReachabilityPrivateRef)target;
 
        pthread_mutex_lock(&targetPrivate->lock);
 
-       getaddrinfo_async_handle_reply(msg);
+       status = getaddrinfo_async_handle_reply(msg);
+       if ((status == 0) &&
+           (targetPrivate->resolvedAddress == NULL) && (targetPrivate->resolvedAddressError == NETDB_SUCCESS)) {
+               // if request has been re-queued
+               goto again;
+       }
 
        if (port == targetPrivate->dnsPort) {
                CFRunLoopSourceInvalidate(targetPrivate->dnsRLS);
 
        if (port == targetPrivate->dnsPort) {
                CFRunLoopSourceInvalidate(targetPrivate->dnsRLS);
@@ -1365,6 +1371,8 @@ getaddrinfo_async_handleCFReply(CFMachPortRef port, void *msg, CFIndex size, voi
                targetPrivate->dnsPort = NULL;
        }
 
                targetPrivate->dnsPort = NULL;
        }
 
+    again :
+
        pthread_mutex_unlock(&targetPrivate->lock);
 
        return;
        pthread_mutex_unlock(&targetPrivate->lock);
 
        return;
index 33ffd57788b4f245593cc1985996910d07c6e794..be2f3f7b2c30cb078b4b60c91e367c4803e87d9e 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2003-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #ifndef _SCNETWORKREACHABILITY_H
 #define _SCNETWORKREACHABILITY_H
 
 #ifndef _SCNETWORKREACHABILITY_H
 #define _SCNETWORKREACHABILITY_H
 
+#include <AvailabilityMacros.h>
 #include <sys/cdefs.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/cdefs.h>
 #include <sys/types.h>
 #include <sys/socket.h>
-#include <AvailabilityMacros.h>
 #include <CoreFoundation/CoreFoundation.h>
 #include <SystemConfiguration/SCNetwork.h>
 
 #include <CoreFoundation/CoreFoundation.h>
 #include <SystemConfiguration/SCNetwork.h>
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+
 /*!
        @header SCNetworkReachability
        @discussion The SCNetworkReachability API allows an application to
 /*!
        @header SCNetworkReachability
        @discussion The SCNetworkReachability API allows an application to
@@ -238,4 +240,6 @@ SCNetworkReachabilityUnscheduleFromRunLoop  (
 
 __END_DECLS
 
 
 __END_DECLS
 
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */
+
 #endif /* _SCNETWORKREACHABILITY_H */
 #endif /* _SCNETWORKREACHABILITY_H */
index 2a700dea6b66b22a697708094aeb4b720010a55a..ef817dd7fe1fb9d88ad232582b1b246c42c60427 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright(c) 2000-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -276,6 +276,11 @@ setPath(SCPreferencesRef prefs, CFStringRef path, CFDictionaryRef entity)
                                CFRelease(newEntity);
                        } else {
                                CFDictionaryRemoveValue(newNode, element);
                                CFRelease(newEntity);
                        } else {
                                CFDictionaryRemoveValue(newNode, element);
+                               if (CFDictionaryGetCount(newNode) == 0) {
+                                       // prune the (now empty) parent
+                                       CFRelease(newNode);
+                                       newNode = NULL;
+                               }
                        }
                        newEntity = newNode;
                }
                        }
                        newEntity = newNode;
                }
index b71d33dd26ae7e254c706831533040d5063317cd..1b8cdefe3c5a6e57c6df1ee64ef437dc85997ad3 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000, 2001, 2004, 2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -24,9 +24,8 @@
 #ifndef _SCPREFERENCES_H
 #define _SCPREFERENCES_H
 
 #ifndef _SCPREFERENCES_H
 #define _SCPREFERENCES_H
 
-
-#include <sys/cdefs.h>
 #include <AvailabilityMacros.h>
 #include <AvailabilityMacros.h>
+#include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 #include <SystemConfiguration/SCDynamicStore.h>
 
 #include <CoreFoundation/CoreFoundation.h>
 #include <SystemConfiguration/SCDynamicStore.h>
 
@@ -63,6 +62,8 @@
  */
 typedef const struct __SCPreferences * SCPreferencesRef;
 
  */
 typedef const struct __SCPreferences * SCPreferencesRef;
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+
 /*!
        @enum SCPreferencesNotification
        @discussion Used with the SCPreferencesCallBack callback
 /*!
        @enum SCPreferencesNotification
        @discussion Used with the SCPreferencesCallBack callback
@@ -121,6 +122,8 @@ typedef void (*SCPreferencesCallBack)   (
                                        void                            *info
                                        );
 
                                        void                            *info
                                        );
 
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
+
 
 __BEGIN_DECLS
 
 
 __BEGIN_DECLS
 
@@ -333,6 +336,8 @@ SCPreferencesRemoveValue    (
                                CFStringRef             key
                                );
 
                                CFStringRef             key
                                );
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+
 /*!
        @function SCPreferencesSetCallback
        @discussion Assigns a callback to a preferences session.  The function
 /*!
        @function SCPreferencesSetCallback
        @discussion Assigns a callback to a preferences session.  The function
@@ -409,6 +414,8 @@ SCPreferencesSynchronize            (
                                        SCPreferencesRef        prefs
                                        )                               AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
 
                                        SCPreferencesRef        prefs
                                        )                               AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
 
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
+
 __END_DECLS
 
 #endif /* _SCPREFERENCES_H */
 __END_DECLS
 
 #endif /* _SCPREFERENCES_H */
index 67592cbe8a1cade61ed68da89b93ce577079f8ec..60b0dd58c77960bff29cc8dfd29d520537754556 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2001-2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004, 2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #ifndef _SCPREFERENCESPATHKEY_H
 #define _SCPREFERENCESPATHKEY_H
 
 #ifndef _SCPREFERENCESPATHKEY_H
 #define _SCPREFERENCESPATHKEY_H
 
-#include <sys/cdefs.h>
 #include <AvailabilityMacros.h>
 #include <AvailabilityMacros.h>
+#include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 
 #include <CoreFoundation/CoreFoundation.h>
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
 
 /*!
        @header SCPreferencesPathKey
  */
 
 
 /*!
        @header SCPreferencesPathKey
  */
 
-
 __BEGIN_DECLS
 
 /*
 __BEGIN_DECLS
 
 /*
@@ -131,4 +131,6 @@ SCPreferencesPathKeyCreateSetNetworkServiceEntity(
 
 __END_DECLS
 
 
 __END_DECLS
 
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
+
 #endif /* _SCPREFERENCESPATHKEY_H */
 #endif /* _SCPREFERENCESPATHKEY_H */
index 1b1d0a5aa4f7cc140f9c9b34110895a7952bfb8f..d20a9207d42e30998abd9f75f3105e9c6faee1c6 100644 (file)
@@ -25,6 +25,7 @@
 #define _SCPRIVATE_H
 
 #include <sys/cdefs.h>
 #define _SCPRIVATE_H
 
 #include <sys/cdefs.h>
+#include <sys/socket.h>
 #include <sys/syslog.h>
 #include <mach/message.h>
 
 #include <sys/syslog.h>
 #include <mach/message.h>
 
index d29c11d695a5f03d4ea39d0137d5b42cccbcc498..5895d476499c94c6254cddb4d5ede69a2777e8db 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  * Note: For Cocoa/Obj-C/Foundation applications accessing these preference
  *       keys you may want to consider the following :
  *
  * Note: For Cocoa/Obj-C/Foundation applications accessing these preference
  *       keys you may want to consider the following :
  *
- *       #define SC_SCHEMA_DECLARATION(k,q)    extern NSString * k
+ *       #define SC_SCHEMA_DECLARATION(k,q)    extern NSString * k;
  *       #import <SystemConfiguration/SystemConfiguration.h>
  */
 
  *       #import <SystemConfiguration/SystemConfiguration.h>
  */
 
  * Note: For CFM applications using these schema keys you may want to
  *       consider the following :
  *
  * Note: For CFM applications using these schema keys you may want to
  *       consider the following :
  *
- *       #define SC_SCHEMA_KV(k,v,t)   lookup_SC_key( CFSTR( #k ) )
  *       #define SC_SCHEMA_DECLARATION(k,q)
  *       #define SC_SCHEMA_DECLARATION(k,q)
+ *       #define SC_SCHEMA_KV(k,v,t)   lookup_SC_key( CFSTR( #k ) )
  *       #include <SystemConfiguration/SystemConfiguration.h>
  *
  *       CFStringRef lookup_SC_key(CFStringRef key)
  *       #include <SystemConfiguration/SystemConfiguration.h>
  *
  *       CFStringRef lookup_SC_key(CFStringRef key)
  * Note: Earlier versions of this header file defined a "SCSTR" macro
  *       which helped to facilitate Obj-C development. Use of this macro
  *       has been deprecated (in Mac OS X 10.4) in favor of the newer
  * Note: Earlier versions of this header file defined a "SCSTR" macro
  *       which helped to facilitate Obj-C development. Use of this macro
  *       has been deprecated (in Mac OS X 10.4) in favor of the newer
- *       "SC_SCHEMA_KV" and "SC_SCHEMA_DECLARATION" macros
+ *       "SC_SCHEMA_DECLARATION" and "SC_SCHEMA_KV" macros
  */
 
 
  */
 
 
 
 /*
  * let's "do the right thing" for those wishing to build for
 
 /*
  * let's "do the right thing" for those wishing to build for
- * Mac OS X 10.1 and 10.2
+ * Mac OS X 10.1.0 ... 10.2.x
  */
  */
-#if MAC_OS_X_VERSION_10_3 > MAC_OS_X_VERSION_MIN_REQUIRED
-  #if MAC_OS_X_VERSION_10_1 <= MAC_OS_X_VERSION_MIN_REQUIRED
+#if MAC_OS_X_VERSION_MIN_REQUIRED <= 1020
     #ifndef SCSTR
       #include <CoreFoundation/CFString.h>
       #define SCSTR(s) CFSTR(s)
     #endif
     #ifndef SCSTR
       #include <CoreFoundation/CFString.h>
       #define SCSTR(s) CFSTR(s)
     #endif
-    #ifndef SC_SCHEMA_KV
-      #define SC_SCHEMA_KV(k,v,t)      SCSTR( v )
-    #endif
-    #ifndef SC_SCHEMA_DECLARATION
-      #define SC_SCHEMA_DECLARATION(k,q)
+  #ifndef SC_SCHEMA_DECLARATION
+    #define SC_SCHEMA_DECLARATION(k,q) extern const CFStringRef k q;
     #endif
     #endif
+  #ifndef SC_SCHEMA_KV
+    #define SC_SCHEMA_KV(k,v,t)        SCSTR( v )
   #endif
 #endif
 
   #endif
 #endif
 
 #ifndef SC_SCHEMA_DECLARATION
   #ifndef SCSTR
     #include <CoreFoundation/CFString.h>
 #ifndef SC_SCHEMA_DECLARATION
   #ifndef SCSTR
     #include <CoreFoundation/CFString.h>
-    #define SC_SCHEMA_DECLARATION(k,q) extern const CFStringRef k q
+    #define SC_SCHEMA_DECLARATION(k,q) extern const CFStringRef k q;
   #else
     #import <Foundation/NSString.h>
   #else
     #import <Foundation/NSString.h>
-    #define SC_SCHEMA_DECLARATION(k,q) extern NSString * k q
+    #define SC_SCHEMA_DECLARATION(k,q) extern NSString * k q;
   #endif
 #endif
   #endif
 #endif
-#if MAC_OS_X_VERSION_10_4 >= MAC_OS_X_VERSION_MIN_REQUIRED
-  #if MAC_OS_X_VERSION_10_1 <= MAC_OS_X_VERSION_MIN_REQUIRED
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) && (MAC_OS_X_VERSION_MAX_ALLOWED <= 1040)
     #ifndef SCSTR
       #include <CoreFoundation/CFString.h>
       #define SCSTR(s) CFSTR(s)
     #endif
     #ifndef SCSTR
       #include <CoreFoundation/CFString.h>
       #define SCSTR(s) CFSTR(s)
     #endif
-  #endif
 #endif
 
 
 #endif
 
 
@@ -2117,1663 +2113,2474 @@ extern const CFStringRef kSCPropUsersConsoleUserGID;
 /* -------------------- Schema declarations -------------------- */
 
 
 /* -------------------- Schema declarations -------------------- */
 
 
-#define kSCResvLink                                                   \
-       SC_SCHEMA_KV(kSCResvLink                                      \
-                   ,"__LINK__"                                       \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCResvLink,);
-
-#define kSCResvInactive                                               \
-       SC_SCHEMA_KV(kSCResvInactive                                  \
-                   ,"__INACTIVE__"                                   \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCResvInactive,);
-
-#define kSCPropInterfaceName                                          \
-       SC_SCHEMA_KV(kSCPropInterfaceName                             \
-                   ,"InterfaceName"                                  \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropInterfaceName,);
-
-#define kSCPropMACAddress                                             \
-       SC_SCHEMA_KV(kSCPropMACAddress                                \
-                   ,"MACAddress"                                     \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropMACAddress,);
-
-#define kSCPropUserDefinedName                                        \
-       SC_SCHEMA_KV(kSCPropUserDefinedName                           \
-                   ,"UserDefinedName"                                \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropUserDefinedName,);
-
-#define kSCPropVersion                                                \
-       SC_SCHEMA_KV(kSCPropVersion                                   \
-                   ,"Version"                                        \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropVersion,);
-
-#define kSCPrefCurrentSet                                             \
-       SC_SCHEMA_KV(kSCPrefCurrentSet                                \
-                   ,"CurrentSet"                                     \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPrefCurrentSet,);
-
-#define kSCPrefNetworkServices                                        \
-       SC_SCHEMA_KV(kSCPrefNetworkServices                           \
-                   ,"NetworkServices"                                \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCPrefNetworkServices,);
-
-#define kSCPrefSets                                                   \
-       SC_SCHEMA_KV(kSCPrefSets                                      \
-                   ,"Sets"                                           \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCPrefSets,);
-
-#define kSCPrefSystem                                                 \
-       SC_SCHEMA_KV(kSCPrefSystem                                    \
-                   ,"System"                                         \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCPrefSystem,);
-
-#define kSCCompNetwork                                                \
-       SC_SCHEMA_KV(kSCCompNetwork                                   \
-                   ,"Network"                                        \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCCompNetwork,);
-
-#define kSCCompService                                                \
-       SC_SCHEMA_KV(kSCCompService                                   \
-                   ,"Service"                                        \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCCompService,);
-
-#define kSCCompGlobal                                                 \
-       SC_SCHEMA_KV(kSCCompGlobal                                    \
-                   ,"Global"                                         \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCCompGlobal,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCCompHostNames                                              \
-       SC_SCHEMA_KV(kSCCompHostNames                                 \
-                   ,"HostNames"                                      \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCCompHostNames, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCCompInterface                                              \
-       SC_SCHEMA_KV(kSCCompInterface                                 \
-                   ,"Interface"                                      \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCCompInterface,);
-
-#define kSCCompSystem                                                 \
-       SC_SCHEMA_KV(kSCCompSystem                                    \
-                   ,"System"                                         \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCCompSystem,);
-
-#define kSCCompUsers                                                  \
-       SC_SCHEMA_KV(kSCCompUsers                                     \
-                   ,"Users"                                          \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCCompUsers,);
-
-#define kSCCompAnyRegex                                               \
-       SC_SCHEMA_KV(kSCCompAnyRegex                                  \
-                   ,"[^/]+"                                          \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCCompAnyRegex,);
-
-#define kSCEntNetAirPort                                              \
-       SC_SCHEMA_KV(kSCEntNetAirPort                                 \
-                   ,"AirPort"                                        \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetAirPort,);
-
-#define kSCEntNetAppleTalk                                            \
-       SC_SCHEMA_KV(kSCEntNetAppleTalk                               \
-                   ,"AppleTalk"                                      \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetAppleTalk,);
-
-#define kSCEntNetDHCP                                                 \
-       SC_SCHEMA_KV(kSCEntNetDHCP                                    \
-                   ,"DHCP"                                           \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetDHCP,);
-
-#define kSCEntNetDNS                                                  \
-       SC_SCHEMA_KV(kSCEntNetDNS                                     \
-                   ,"DNS"                                            \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetDNS,);
-
-#define kSCEntNetEthernet                                             \
-       SC_SCHEMA_KV(kSCEntNetEthernet                                \
-                   ,"Ethernet"                                       \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetEthernet,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCEntNetFireWire                                             \
-       SC_SCHEMA_KV(kSCEntNetFireWire                                \
-                   ,"FireWire"                                       \
-                   ,CFDictionary                                     )
-#endif
-       SC_SCHEMA_DECLARATION(kSCEntNetFireWire, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCEntNetInterface                                            \
-       SC_SCHEMA_KV(kSCEntNetInterface                               \
-                   ,"Interface"                                      \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetInterface,);
-
-#define kSCEntNetIPv4                                                 \
-       SC_SCHEMA_KV(kSCEntNetIPv4                                    \
-                   ,"IPv4"                                           \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetIPv4,);
-
-#define kSCEntNetIPv6                                                 \
-       SC_SCHEMA_KV(kSCEntNetIPv6                                    \
-                   ,"IPv6"                                           \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetIPv6,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCEntNetL2TP                                                 \
-       SC_SCHEMA_KV(kSCEntNetL2TP                                    \
-                   ,"L2TP"                                           \
-                   ,CFDictionary                                     )
-#endif
-       SC_SCHEMA_DECLARATION(kSCEntNetL2TP, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCEntNetLink                                                 \
-       SC_SCHEMA_KV(kSCEntNetLink                                    \
-                   ,"Link"                                           \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetLink,);
-
-#define kSCEntNetModem                                                \
-       SC_SCHEMA_KV(kSCEntNetModem                                   \
-                   ,"Modem"                                          \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetModem,);
-
-#define kSCEntNetNetInfo                                              \
-       SC_SCHEMA_KV(kSCEntNetNetInfo                                 \
-                   ,"NetInfo"                                        \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetNetInfo,);
-
-#define kSCEntNetPPP                                                  \
-       SC_SCHEMA_KV(kSCEntNetPPP                                     \
-                   ,"PPP"                                            \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetPPP,);
-
-#define kSCEntNetPPPoE                                                \
-       SC_SCHEMA_KV(kSCEntNetPPPoE                                   \
-                   ,"PPPoE"                                          \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetPPPoE,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCEntNetPPPSerial                                            \
-       SC_SCHEMA_KV(kSCEntNetPPPSerial                               \
-                   ,"PPPSerial"                                      \
-                   ,CFDictionary                                     )
-#endif
-       SC_SCHEMA_DECLARATION(kSCEntNetPPPSerial, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCEntNetPPTP                                                 \
-       SC_SCHEMA_KV(kSCEntNetPPTP                                    \
-                   ,"PPTP"                                           \
-                   ,CFDictionary                                     )
-#endif
-       SC_SCHEMA_DECLARATION(kSCEntNetPPTP, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCEntNetProxies                                              \
-       SC_SCHEMA_KV(kSCEntNetProxies                                 \
-                   ,"Proxies"                                        \
-                   ,CFDictionary                                     )
-       SC_SCHEMA_DECLARATION(kSCEntNetProxies,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCEntNet6to4                                                 \
-       SC_SCHEMA_KV(kSCEntNet6to4                                    \
-                   ,"6to4"                                           \
-                   ,CFDictionary                                     )
-#endif
-       SC_SCHEMA_DECLARATION(kSCEntNet6to4, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetOverridePrimary                                     \
-       SC_SCHEMA_KV(kSCPropNetOverridePrimary                        \
-                   ,"OverridePrimary"                                \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetOverridePrimary, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetServiceOrder                                        \
-       SC_SCHEMA_KV(kSCPropNetServiceOrder                           \
-                   ,"ServiceOrder"                                   \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetServiceOrder,);
-
-#define kSCPropNetPPPOverridePrimary                                  \
-       SC_SCHEMA_KV(kSCPropNetPPPOverridePrimary                     \
-                   ,"PPPOverridePrimary"                             \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPOverridePrimary,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetInterfaces                                          \
-       SC_SCHEMA_KV(kSCPropNetInterfaces                             \
-                   ,"Interfaces"                                     \
-                   ,CFArray[CFString]                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetInterfaces, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetLocalHostName                                       \
-       SC_SCHEMA_KV(kSCPropNetLocalHostName                          \
-                   ,"LocalHostName"                                  \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetLocalHostName, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetAirPortAllowNetCreation                             \
-       SC_SCHEMA_KV(kSCPropNetAirPortAllowNetCreation                \
-                   ,"AllowNetCreation"                               \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetAirPortAllowNetCreation, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetAirPortAuthPassword                                 \
-       SC_SCHEMA_KV(kSCPropNetAirPortAuthPassword                    \
-                   ,"AuthPassword"                                   \
-                   ,CFData                                           )
-       SC_SCHEMA_DECLARATION(kSCPropNetAirPortAuthPassword,);
-
-#define kSCPropNetAirPortAuthPasswordEncryption                       \
-       SC_SCHEMA_KV(kSCPropNetAirPortAuthPasswordEncryption          \
-                   ,"AuthPasswordEncryption"                         \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetAirPortAuthPasswordEncryption,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetAirPortJoinMode                                     \
-       SC_SCHEMA_KV(kSCPropNetAirPortJoinMode                        \
-                   ,"JoinMode"                                       \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetAirPortJoinMode, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetAirPortPowerEnabled                                 \
-       SC_SCHEMA_KV(kSCPropNetAirPortPowerEnabled                    \
-                   ,"PowerEnabled"                                   \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetAirPortPowerEnabled,);
-
-#define kSCPropNetAirPortPreferredNetwork                             \
-       SC_SCHEMA_KV(kSCPropNetAirPortPreferredNetwork                \
-                   ,"PreferredNetwork"                               \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetAirPortPreferredNetwork,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetAirPortSavePasswords                                \
-       SC_SCHEMA_KV(kSCPropNetAirPortSavePasswords                   \
-                   ,"SavePasswords"                                  \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetAirPortSavePasswords, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetAirPortJoinModeAutomatic                             \
-       SC_SCHEMA_KV(kSCValNetAirPortJoinModeAutomatic                \
-                   ,"Automatic"                                      \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetAirPortJoinModeAutomatic, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCValNetAirPortJoinModePreferred                             \
-       SC_SCHEMA_KV(kSCValNetAirPortJoinModePreferred                \
-                   ,"Preferred"                                      \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetAirPortJoinModePreferred, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCValNetAirPortJoinModeRecent                                \
-       SC_SCHEMA_KV(kSCValNetAirPortJoinModeRecent                   \
-                   ,"Recent"                                         \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetAirPortJoinModeRecent, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCValNetAirPortJoinModeStrongest                             \
-       SC_SCHEMA_KV(kSCValNetAirPortJoinModeStrongest                \
-                   ,"Strongest"                                      \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetAirPortJoinModeStrongest, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetAirPortAuthPasswordEncryptionKeychain                \
-       SC_SCHEMA_KV(kSCValNetAirPortAuthPasswordEncryptionKeychain   \
-                   ,"Keychain"                                       \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetAirPortAuthPasswordEncryptionKeychain, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCPropNetAppleTalkComputerName                               \
-       SC_SCHEMA_KV(kSCPropNetAppleTalkComputerName                  \
-                   ,"ComputerName"                                   \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkComputerName,);
-
-#define kSCPropNetAppleTalkComputerNameEncoding                       \
-       SC_SCHEMA_KV(kSCPropNetAppleTalkComputerNameEncoding          \
-                   ,"ComputerNameEncoding"                           \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkComputerNameEncoding,);
-
-#define kSCPropNetAppleTalkConfigMethod                               \
-       SC_SCHEMA_KV(kSCPropNetAppleTalkConfigMethod                  \
-                   ,"ConfigMethod"                                   \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkConfigMethod,);
-
-#define kSCPropNetAppleTalkDefaultZone                                \
-       SC_SCHEMA_KV(kSCPropNetAppleTalkDefaultZone                   \
-                   ,"DefaultZone"                                    \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkDefaultZone,);
-
-#define kSCPropNetAppleTalkNetworkID                                  \
-       SC_SCHEMA_KV(kSCPropNetAppleTalkNetworkID                     \
-                   ,"NetworkID"                                      \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkNetworkID,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetAppleTalkNetworkRange                               \
-       SC_SCHEMA_KV(kSCPropNetAppleTalkNetworkRange                  \
-                   ,"NetworkRange"                                   \
-                   ,CFArray[CFNumber]                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkNetworkRange, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetAppleTalkNodeID                                     \
-       SC_SCHEMA_KV(kSCPropNetAppleTalkNodeID                        \
-                   ,"NodeID"                                         \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkNodeID,);
-
-#define kSCPropNetAppleTalkSeedNetworkRange                           \
-       SC_SCHEMA_KV(kSCPropNetAppleTalkSeedNetworkRange              \
-                   ,"SeedNetworkRange"                               \
-                   ,CFArray[CFNumber]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkSeedNetworkRange,);
-
-#define kSCPropNetAppleTalkSeedZones                                  \
-       SC_SCHEMA_KV(kSCPropNetAppleTalkSeedZones                     \
-                   ,"SeedZones"                                      \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkSeedZones,);
-
-#define kSCValNetAppleTalkConfigMethodNode                            \
-       SC_SCHEMA_KV(kSCValNetAppleTalkConfigMethodNode               \
-                   ,"Node"                                           \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetAppleTalkConfigMethodNode,);
-
-#define kSCValNetAppleTalkConfigMethodRouter                          \
-       SC_SCHEMA_KV(kSCValNetAppleTalkConfigMethodRouter             \
-                   ,"Router"                                         \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetAppleTalkConfigMethodRouter,);
-
-#define kSCValNetAppleTalkConfigMethodSeedRouter                      \
-       SC_SCHEMA_KV(kSCValNetAppleTalkConfigMethodSeedRouter         \
-                   ,"SeedRouter"                                     \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetAppleTalkConfigMethodSeedRouter,);
-
-#define kSCPropNetDNSDomainName                                       \
-       SC_SCHEMA_KV(kSCPropNetDNSDomainName                          \
-                   ,"DomainName"                                     \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetDNSDomainName,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetDNSOptions                                          \
-       SC_SCHEMA_KV(kSCPropNetDNSOptions                             \
-                   ,"Options"                                        \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetDNSOptions, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#define kSCPropNetDNSSearchDomains                                    \
-       SC_SCHEMA_KV(kSCPropNetDNSSearchDomains                       \
-                   ,"SearchDomains"                                  \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetDNSSearchDomains,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetDNSSearchOrder                                      \
-       SC_SCHEMA_KV(kSCPropNetDNSSearchOrder                         \
-                   ,"SearchOrder"                                    \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetDNSSearchOrder, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#define kSCPropNetDNSServerAddresses                                  \
-       SC_SCHEMA_KV(kSCPropNetDNSServerAddresses                     \
-                   ,"ServerAddresses"                                \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetDNSServerAddresses,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetDNSServerPort                                       \
-       SC_SCHEMA_KV(kSCPropNetDNSServerPort                          \
-                   ,"ServerPort"                                     \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetDNSServerPort, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetDNSServerTimeout                                    \
-       SC_SCHEMA_KV(kSCPropNetDNSServerTimeout                       \
-                   ,"ServerTimeout"                                  \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetDNSServerTimeout, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#define kSCPropNetDNSSortList                                         \
-       SC_SCHEMA_KV(kSCPropNetDNSSortList                            \
-                   ,"SortList"                                       \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetDNSSortList,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetDNSSupplementalMatchDomains                         \
-       SC_SCHEMA_KV(kSCPropNetDNSSupplementalMatchDomains            \
-                   ,"SupplementalMatchDomains"                       \
-                   ,CFArray[CFString]                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetDNSSupplementalMatchDomains, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetDNSSupplementalMatchOrders                          \
-       SC_SCHEMA_KV(kSCPropNetDNSSupplementalMatchOrders             \
-                   ,"SupplementalMatchOrders"                        \
-                   ,CFArray[CFNumber]                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetDNSSupplementalMatchOrders, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetEthernetMediaSubType                                \
-       SC_SCHEMA_KV(kSCPropNetEthernetMediaSubType                   \
-                   ,"MediaSubType"                                   \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetEthernetMediaSubType, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetEthernetMediaOptions                                \
-       SC_SCHEMA_KV(kSCPropNetEthernetMediaOptions                   \
-                   ,"MediaOptions"                                   \
-                   ,CFArray[CFString]                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetEthernetMediaOptions, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetEthernetMTU                                         \
-       SC_SCHEMA_KV(kSCPropNetEthernetMTU                            \
-                   ,"MTU"                                            \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetEthernetMTU, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetInterfaceDeviceName                                 \
-       SC_SCHEMA_KV(kSCPropNetInterfaceDeviceName                    \
-                   ,"DeviceName"                                     \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetInterfaceDeviceName,);
-
-#define kSCPropNetInterfaceHardware                                   \
-       SC_SCHEMA_KV(kSCPropNetInterfaceHardware                      \
-                   ,"Hardware"                                       \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetInterfaceHardware,);
-
-#define kSCPropNetInterfaceType                                       \
-       SC_SCHEMA_KV(kSCPropNetInterfaceType                          \
-                   ,"Type"                                           \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetInterfaceType,);
-
-#define kSCPropNetInterfaceSubType                                    \
-       SC_SCHEMA_KV(kSCPropNetInterfaceSubType                       \
-                   ,"SubType"                                        \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetInterfaceSubType,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetInterfaceSupportsModemOnHold                        \
-       SC_SCHEMA_KV(kSCPropNetInterfaceSupportsModemOnHold           \
-                   ,"SupportsModemOnHold"                            \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetInterfaceSupportsModemOnHold, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCValNetInterfaceTypeEthernet                                \
-       SC_SCHEMA_KV(kSCValNetInterfaceTypeEthernet                   \
-                   ,"Ethernet"                                       \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetInterfaceTypeEthernet,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetInterfaceTypeFireWire                                \
-       SC_SCHEMA_KV(kSCValNetInterfaceTypeFireWire                   \
-                   ,"FireWire"                                       \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetInterfaceTypeFireWire, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCValNetInterfaceTypePPP                                     \
-       SC_SCHEMA_KV(kSCValNetInterfaceTypePPP                        \
-                   ,"PPP"                                            \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetInterfaceTypePPP,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetInterfaceType6to4                                    \
-       SC_SCHEMA_KV(kSCValNetInterfaceType6to4                       \
-                   ,"6to4"                                           \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetInterfaceType6to4, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCValNetInterfaceSubTypePPPoE                                \
-       SC_SCHEMA_KV(kSCValNetInterfaceSubTypePPPoE                   \
-                   ,"PPPoE"                                          \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetInterfaceSubTypePPPoE,);
-
-#define kSCValNetInterfaceSubTypePPPSerial                            \
-       SC_SCHEMA_KV(kSCValNetInterfaceSubTypePPPSerial               \
-                   ,"PPPSerial"                                      \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetInterfaceSubTypePPPSerial,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCValNetInterfaceSubTypePPTP                                 \
-       SC_SCHEMA_KV(kSCValNetInterfaceSubTypePPTP                    \
-                   ,"PPTP"                                           \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetInterfaceSubTypePPTP, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetInterfaceSubTypeL2TP                                 \
-       SC_SCHEMA_KV(kSCValNetInterfaceSubTypeL2TP                    \
-                   ,"L2TP"                                           \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetInterfaceSubTypeL2TP, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCPropNetIPv4Addresses                                       \
-       SC_SCHEMA_KV(kSCPropNetIPv4Addresses                          \
-                   ,"Addresses"                                      \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv4Addresses,);
-
-#define kSCPropNetIPv4ConfigMethod                                    \
-       SC_SCHEMA_KV(kSCPropNetIPv4ConfigMethod                       \
-                   ,"ConfigMethod"                                   \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv4ConfigMethod,);
-
-#define kSCPropNetIPv4DHCPClientID                                    \
-       SC_SCHEMA_KV(kSCPropNetIPv4DHCPClientID                       \
-                   ,"DHCPClientID"                                   \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv4DHCPClientID,);
-
-#define kSCPropNetIPv4Router                                          \
-       SC_SCHEMA_KV(kSCPropNetIPv4Router                             \
-                   ,"Router"                                         \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv4Router,);
-
-#define kSCPropNetIPv4SubnetMasks                                     \
-       SC_SCHEMA_KV(kSCPropNetIPv4SubnetMasks                        \
-                   ,"SubnetMasks"                                    \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv4SubnetMasks,);
-
-#define kSCPropNetIPv4DestAddresses                                   \
-       SC_SCHEMA_KV(kSCPropNetIPv4DestAddresses                      \
-                   ,"DestAddresses"                                  \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv4DestAddresses,);
-
-#define kSCPropNetIPv4BroadcastAddresses                              \
-       SC_SCHEMA_KV(kSCPropNetIPv4BroadcastAddresses                 \
-                   ,"BroadcastAddresses"                             \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv4BroadcastAddresses,);
-
-#define kSCValNetIPv4ConfigMethodBOOTP                                \
-       SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodBOOTP                   \
-                   ,"BOOTP"                                          \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodBOOTP,);
-
-#define kSCValNetIPv4ConfigMethodDHCP                                 \
-       SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodDHCP                    \
-                   ,"DHCP"                                           \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodDHCP,);
-
-#define kSCValNetIPv4ConfigMethodINFORM                               \
-       SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodINFORM                  \
-                   ,"INFORM"                                         \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodINFORM,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCValNetIPv4ConfigMethodLinkLocal                            \
-       SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodLinkLocal               \
-                   ,"LinkLocal"                                      \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodLinkLocal, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCValNetIPv4ConfigMethodManual                               \
-       SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodManual                  \
-                   ,"Manual"                                         \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodManual,);
-
-#define kSCValNetIPv4ConfigMethodPPP                                  \
-       SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodPPP                     \
-                   ,"PPP"                                            \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodPPP,);
-
-#define kSCPropNetIPv6Addresses                                       \
-       SC_SCHEMA_KV(kSCPropNetIPv6Addresses                          \
-                   ,"Addresses"                                      \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv6Addresses,);
-
-#define kSCPropNetIPv6ConfigMethod                                    \
-       SC_SCHEMA_KV(kSCPropNetIPv6ConfigMethod                       \
-                   ,"ConfigMethod"                                   \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv6ConfigMethod,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetIPv6DestAddresses                                   \
-       SC_SCHEMA_KV(kSCPropNetIPv6DestAddresses                      \
-                   ,"DestAddresses"                                  \
-                   ,CFArray[CFString]                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv6DestAddresses, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetIPv6Flags                                           \
-       SC_SCHEMA_KV(kSCPropNetIPv6Flags                              \
-                   ,"Flags"                                          \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv6Flags, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetIPv6PrefixLength                                    \
-       SC_SCHEMA_KV(kSCPropNetIPv6PrefixLength                       \
-                   ,"PrefixLength"                                   \
-                   ,CFArray[CFNumber]                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv6PrefixLength, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetIPv6Router                                          \
-       SC_SCHEMA_KV(kSCPropNetIPv6Router                             \
-                   ,"Router"                                         \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetIPv6Router, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetIPv6ConfigMethodAutomatic                            \
-       SC_SCHEMA_KV(kSCValNetIPv6ConfigMethodAutomatic               \
-                   ,"Automatic"                                      \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetIPv6ConfigMethodAutomatic, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetIPv6ConfigMethodManual                               \
-       SC_SCHEMA_KV(kSCValNetIPv6ConfigMethodManual                  \
-                   ,"Manual"                                         \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetIPv6ConfigMethodManual, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetIPv6ConfigMethodRouterAdvertisement                  \
-       SC_SCHEMA_KV(kSCValNetIPv6ConfigMethodRouterAdvertisement     \
-                   ,"RouterAdvertisement"                            \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetIPv6ConfigMethodRouterAdvertisement, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetIPv6ConfigMethod6to4                                 \
-       SC_SCHEMA_KV(kSCValNetIPv6ConfigMethod6to4                    \
-                   ,"6to4"                                           \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetIPv6ConfigMethod6to4, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNet6to4Relay                                           \
-       SC_SCHEMA_KV(kSCPropNet6to4Relay                              \
-                   ,"Relay"                                          \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNet6to4Relay, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCPropNetLinkActive                                          \
-       SC_SCHEMA_KV(kSCPropNetLinkActive                             \
-                   ,"Active"                                         \
-                   ,CFBoolean                                        )
-       SC_SCHEMA_DECLARATION(kSCPropNetLinkActive,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetLinkDetaching                                       \
-       SC_SCHEMA_KV(kSCPropNetLinkDetaching                          \
-                   ,"Detaching"                                      \
-                   ,CFBoolean                                        )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetLinkDetaching, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetModemConnectionScript                               \
-       SC_SCHEMA_KV(kSCPropNetModemConnectionScript                  \
-                   ,"ConnectionScript"                               \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetModemConnectionScript,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetModemConnectSpeed                                   \
-       SC_SCHEMA_KV(kSCPropNetModemConnectSpeed                      \
-                   ,"ConnectSpeed"                                   \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetModemConnectSpeed, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetModemDataCompression                                \
-       SC_SCHEMA_KV(kSCPropNetModemDataCompression                   \
-                   ,"DataCompression"                                \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetModemDataCompression,);
-
-#define kSCPropNetModemDialMode                                       \
-       SC_SCHEMA_KV(kSCPropNetModemDialMode                          \
-                   ,"DialMode"                                       \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetModemDialMode,);
-
-#define kSCPropNetModemErrorCorrection                                \
-       SC_SCHEMA_KV(kSCPropNetModemErrorCorrection                   \
-                   ,"ErrorCorrection"                                \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetModemErrorCorrection,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetModemHoldCallWaitingAudibleAlert                    \
-       SC_SCHEMA_KV(kSCPropNetModemHoldCallWaitingAudibleAlert       \
-                   ,"HoldCallWaitingAudibleAlert"                    \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetModemHoldCallWaitingAudibleAlert, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetModemHoldDisconnectOnAnswer                         \
-       SC_SCHEMA_KV(kSCPropNetModemHoldDisconnectOnAnswer            \
-                   ,"HoldDisconnectOnAnswer"                         \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetModemHoldDisconnectOnAnswer, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetModemHoldEnabled                                    \
-       SC_SCHEMA_KV(kSCPropNetModemHoldEnabled                       \
-                   ,"HoldEnabled"                                    \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetModemHoldEnabled, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetModemHoldReminder                                   \
-       SC_SCHEMA_KV(kSCPropNetModemHoldReminder                      \
-                   ,"HoldReminder"                                   \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetModemHoldReminder, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetModemHoldReminderTime                               \
-       SC_SCHEMA_KV(kSCPropNetModemHoldReminderTime                  \
-                   ,"HoldReminderTime"                               \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetModemHoldReminderTime, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetModemNote                                           \
-       SC_SCHEMA_KV(kSCPropNetModemNote                              \
-                   ,"Note"                                           \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetModemNote, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetModemPulseDial                                      \
-       SC_SCHEMA_KV(kSCPropNetModemPulseDial                         \
-                   ,"PulseDial"                                      \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetModemPulseDial,);
-
-#define kSCPropNetModemSpeaker                                        \
-       SC_SCHEMA_KV(kSCPropNetModemSpeaker                           \
-                   ,"Speaker"                                        \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetModemSpeaker,);
-
-#define kSCPropNetModemSpeed                                          \
-       SC_SCHEMA_KV(kSCPropNetModemSpeed                             \
-                   ,"Speed"                                          \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetModemSpeed,);
-
-#define kSCValNetModemDialModeIgnoreDialTone                          \
-       SC_SCHEMA_KV(kSCValNetModemDialModeIgnoreDialTone             \
-                   ,"IgnoreDialTone"                                 \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetModemDialModeIgnoreDialTone,);
-
-#define kSCValNetModemDialModeManual                                  \
-       SC_SCHEMA_KV(kSCValNetModemDialModeManual                     \
-                   ,"Manual"                                         \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetModemDialModeManual,);
-
-#define kSCValNetModemDialModeWaitForDialTone                         \
-       SC_SCHEMA_KV(kSCValNetModemDialModeWaitForDialTone            \
-                   ,"WaitForDialTone"                                \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetModemDialModeWaitForDialTone,);
-
-#define kSCPropNetNetInfoBindingMethods                               \
-       SC_SCHEMA_KV(kSCPropNetNetInfoBindingMethods                  \
-                   ,"BindingMethods"                                 \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetNetInfoBindingMethods,);
-
-#define kSCPropNetNetInfoServerAddresses                              \
-       SC_SCHEMA_KV(kSCPropNetNetInfoServerAddresses                 \
-                   ,"ServerAddresses"                                \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetNetInfoServerAddresses,);
-
-#define kSCPropNetNetInfoServerTags                                   \
-       SC_SCHEMA_KV(kSCPropNetNetInfoServerTags                      \
-                   ,"ServerTags"                                     \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetNetInfoServerTags,);
-
-#define kSCPropNetNetInfoBroadcastServerTag                           \
-       SC_SCHEMA_KV(kSCPropNetNetInfoBroadcastServerTag              \
-                   ,"BroadcastServerTag"                             \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetNetInfoBroadcastServerTag,);
-
-#define kSCValNetNetInfoBindingMethodsBroadcast                       \
-       SC_SCHEMA_KV(kSCValNetNetInfoBindingMethodsBroadcast          \
-                   ,"Broadcast"                                      \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetNetInfoBindingMethodsBroadcast,);
-
-#define kSCValNetNetInfoBindingMethodsDHCP                            \
-       SC_SCHEMA_KV(kSCValNetNetInfoBindingMethodsDHCP               \
-                   ,"DHCP"                                           \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetNetInfoBindingMethodsDHCP,);
-
-#define kSCValNetNetInfoBindingMethodsManual                          \
-       SC_SCHEMA_KV(kSCValNetNetInfoBindingMethodsManual             \
-                   ,"Manual"                                         \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetNetInfoBindingMethodsManual,);
-
-#define kSCValNetNetInfoDefaultServerTag                              \
-       SC_SCHEMA_KV(kSCValNetNetInfoDefaultServerTag                 \
-                   ,"network"                                        \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCValNetNetInfoDefaultServerTag,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetPPPACSPEnabled                                      \
-       SC_SCHEMA_KV(kSCPropNetPPPACSPEnabled                         \
-                   ,"ACSPEnabled"                                    \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPACSPEnabled, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetPPPConnectTime                                      \
-       SC_SCHEMA_KV(kSCPropNetPPPConnectTime                         \
-                   ,"ConnectTime"                                    \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPConnectTime, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetPPPDeviceLastCause                                  \
-       SC_SCHEMA_KV(kSCPropNetPPPDeviceLastCause                     \
-                   ,"DeviceLastCause"                                \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPDeviceLastCause, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetPPPDialOnDemand                                     \
-       SC_SCHEMA_KV(kSCPropNetPPPDialOnDemand                        \
-                   ,"DialOnDemand"                                   \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPDialOnDemand,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetPPPDisconnectOnFastUserSwitch                       \
-       SC_SCHEMA_KV(kSCPropNetPPPDisconnectOnFastUserSwitch          \
-                   ,"DisconnectOnFastUserSwitch"                     \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectOnFastUserSwitch, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#define kSCPropNetPPPDisconnectOnIdle                                 \
-       SC_SCHEMA_KV(kSCPropNetPPPDisconnectOnIdle                    \
-                   ,"DisconnectOnIdle"                               \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectOnIdle,);
-
-#define kSCPropNetPPPDisconnectOnIdleTimer                            \
-       SC_SCHEMA_KV(kSCPropNetPPPDisconnectOnIdleTimer               \
-                   ,"DisconnectOnIdleTimer"                          \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectOnIdleTimer,);
-
-#define kSCPropNetPPPDisconnectOnLogout                               \
-       SC_SCHEMA_KV(kSCPropNetPPPDisconnectOnLogout                  \
-                   ,"DisconnectOnLogout"                             \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectOnLogout,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetPPPDisconnectOnSleep                                \
-       SC_SCHEMA_KV(kSCPropNetPPPDisconnectOnSleep                   \
-                   ,"DisconnectOnSleep"                              \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectOnSleep, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetPPPDisconnectTime                                   \
-       SC_SCHEMA_KV(kSCPropNetPPPDisconnectTime                      \
-                   ,"DisconnectTime"                                 \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectTime, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCPropNetPPPIdleReminderTimer                                \
-       SC_SCHEMA_KV(kSCPropNetPPPIdleReminderTimer                   \
-                   ,"IdleReminderTimer"                              \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPIdleReminderTimer,);
-
-#define kSCPropNetPPPIdleReminder                                     \
-       SC_SCHEMA_KV(kSCPropNetPPPIdleReminder                        \
-                   ,"IdleReminder"                                   \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPIdleReminder,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetPPPLastCause                                        \
-       SC_SCHEMA_KV(kSCPropNetPPPLastCause                           \
-                   ,"LastCause"                                      \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLastCause, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetPPPLogfile                                          \
-       SC_SCHEMA_KV(kSCPropNetPPPLogfile                             \
-                   ,"Logfile"                                        \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLogfile,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetPPPPlugins                                          \
-       SC_SCHEMA_KV(kSCPropNetPPPPlugins                             \
-                   ,"Plugins"                                        \
-                   ,CFArray[CFString]                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPPlugins, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetPPPRetryConnectTime                                 \
-       SC_SCHEMA_KV(kSCPropNetPPPRetryConnectTime                    \
-                   ,"RetryConnectTime"                               \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPRetryConnectTime, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCPropNetPPPSessionTimer                                     \
-       SC_SCHEMA_KV(kSCPropNetPPPSessionTimer                        \
-                   ,"SessionTimer"                                   \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPSessionTimer,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetPPPStatus                                           \
-       SC_SCHEMA_KV(kSCPropNetPPPStatus                              \
-                   ,"Status"                                         \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPStatus, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetPPPUseSessionTimer                                  \
-       SC_SCHEMA_KV(kSCPropNetPPPUseSessionTimer                     \
-                   ,"UseSessionTimer"                                \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPUseSessionTimer, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#define kSCPropNetPPPVerboseLogging                                   \
-       SC_SCHEMA_KV(kSCPropNetPPPVerboseLogging                      \
-                   ,"VerboseLogging"                                 \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPVerboseLogging,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetPPPAuthEAPPlugins                                   \
-       SC_SCHEMA_KV(kSCPropNetPPPAuthEAPPlugins                      \
-                   ,"AuthEAPPlugins"                                 \
-                   ,CFArray[CFString]                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthEAPPlugins, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCPropNetPPPAuthName                                         \
-       SC_SCHEMA_KV(kSCPropNetPPPAuthName                            \
-                   ,"AuthName"                                       \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthName,);
-
-#define kSCPropNetPPPAuthPassword                                     \
-       SC_SCHEMA_KV(kSCPropNetPPPAuthPassword                        \
-                   ,"AuthPassword"                                   \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthPassword,);
-
-#define kSCPropNetPPPAuthPasswordEncryption                           \
-       SC_SCHEMA_KV(kSCPropNetPPPAuthPasswordEncryption              \
-                   ,"AuthPasswordEncryption"                         \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthPasswordEncryption,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetPPPAuthPrompt                                       \
-       SC_SCHEMA_KV(kSCPropNetPPPAuthPrompt                          \
-                   ,"AuthPrompt"                                     \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthPrompt, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCPropNetPPPAuthProtocol                                     \
-       SC_SCHEMA_KV(kSCPropNetPPPAuthProtocol                        \
-                   ,"AuthProtocol"                                   \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthProtocol,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetPPPAuthPasswordEncryptionKeychain                    \
-       SC_SCHEMA_KV(kSCValNetPPPAuthPasswordEncryptionKeychain       \
-                   ,"Keychain"                                       \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetPPPAuthPasswordEncryptionKeychain, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetPPPAuthPromptBefore                                  \
-       SC_SCHEMA_KV(kSCValNetPPPAuthPromptBefore                     \
-                   ,"Before"                                         \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetPPPAuthPromptBefore, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetPPPAuthPromptAfter                                   \
-       SC_SCHEMA_KV(kSCValNetPPPAuthPromptAfter                      \
-                   ,"After"                                          \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetPPPAuthPromptAfter, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCValNetPPPAuthProtocolCHAP                                  \
-       SC_SCHEMA_KV(kSCValNetPPPAuthProtocolCHAP                     \
-                   ,"CHAP"                                           \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCValNetPPPAuthProtocolCHAP,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetPPPAuthProtocolEAP                                   \
-       SC_SCHEMA_KV(kSCValNetPPPAuthProtocolEAP                      \
-                   ,"EAP"                                            \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetPPPAuthProtocolEAP, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetPPPAuthProtocolMSCHAP1                               \
-       SC_SCHEMA_KV(kSCValNetPPPAuthProtocolMSCHAP1                  \
-                   ,"MSCHAP1"                                        \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetPPPAuthProtocolMSCHAP1, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetPPPAuthProtocolMSCHAP2                               \
-       SC_SCHEMA_KV(kSCValNetPPPAuthProtocolMSCHAP2                  \
-                   ,"MSCHAP2"                                        \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetPPPAuthProtocolMSCHAP2, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCValNetPPPAuthProtocolPAP                                   \
-       SC_SCHEMA_KV(kSCValNetPPPAuthProtocolPAP                      \
-                   ,"PAP"                                            \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCValNetPPPAuthProtocolPAP,);
-
-#define kSCPropNetPPPCommAlternateRemoteAddress                       \
-       SC_SCHEMA_KV(kSCPropNetPPPCommAlternateRemoteAddress          \
-                   ,"CommAlternateRemoteAddress"                     \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCommAlternateRemoteAddress,);
-
-#define kSCPropNetPPPCommConnectDelay                                 \
-       SC_SCHEMA_KV(kSCPropNetPPPCommConnectDelay                    \
-                   ,"CommConnectDelay"                               \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCommConnectDelay,);
-
-#define kSCPropNetPPPCommDisplayTerminalWindow                        \
-       SC_SCHEMA_KV(kSCPropNetPPPCommDisplayTerminalWindow           \
-                   ,"CommDisplayTerminalWindow"                      \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCommDisplayTerminalWindow,);
-
-#define kSCPropNetPPPCommRedialCount                                  \
-       SC_SCHEMA_KV(kSCPropNetPPPCommRedialCount                     \
-                   ,"CommRedialCount"                                \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCommRedialCount,);
-
-#define kSCPropNetPPPCommRedialEnabled                                \
-       SC_SCHEMA_KV(kSCPropNetPPPCommRedialEnabled                   \
-                   ,"CommRedialEnabled"                              \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCommRedialEnabled,);
-
-#define kSCPropNetPPPCommRedialInterval                               \
-       SC_SCHEMA_KV(kSCPropNetPPPCommRedialInterval                  \
-                   ,"CommRedialInterval"                             \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCommRedialInterval,);
-
-#define kSCPropNetPPPCommRemoteAddress                                \
-       SC_SCHEMA_KV(kSCPropNetPPPCommRemoteAddress                   \
-                   ,"CommRemoteAddress"                              \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCommRemoteAddress,);
-
-#define kSCPropNetPPPCommTerminalScript                               \
-       SC_SCHEMA_KV(kSCPropNetPPPCommTerminalScript                  \
-                   ,"CommTerminalScript"                             \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCommTerminalScript,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetPPPCommUseTerminalScript                            \
-       SC_SCHEMA_KV(kSCPropNetPPPCommUseTerminalScript               \
-                   ,"CommUseTerminalScript"                          \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCommUseTerminalScript, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define kSCPropNetPPPCCPEnabled                                       \
-       SC_SCHEMA_KV(kSCPropNetPPPCCPEnabled                          \
-                   ,"CCPEnabled"                                     \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCCPEnabled, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetPPPCCPMPPE40Enabled                                 \
-       SC_SCHEMA_KV(kSCPropNetPPPCCPMPPE40Enabled                    \
-                   ,"CCPMPPE40Enabled"                               \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCCPMPPE40Enabled, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetPPPCCPMPPE128Enabled                                \
-       SC_SCHEMA_KV(kSCPropNetPPPCCPMPPE128Enabled                   \
-                   ,"CCPMPPE128Enabled"                              \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPCCPMPPE128Enabled, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#define kSCPropNetPPPIPCPCompressionVJ                                \
-       SC_SCHEMA_KV(kSCPropNetPPPIPCPCompressionVJ                   \
-                   ,"IPCPCompressionVJ"                              \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPIPCPCompressionVJ,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetPPPIPCPUsePeerDNS                                   \
-       SC_SCHEMA_KV(kSCPropNetPPPIPCPUsePeerDNS                      \
-                   ,"IPCPUsePeerDNS"                                 \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPIPCPUsePeerDNS, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#define kSCPropNetPPPLCPEchoEnabled                                   \
-       SC_SCHEMA_KV(kSCPropNetPPPLCPEchoEnabled                      \
-                   ,"LCPEchoEnabled"                                 \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPEchoEnabled,);
-
-#define kSCPropNetPPPLCPEchoFailure                                   \
-       SC_SCHEMA_KV(kSCPropNetPPPLCPEchoFailure                      \
-                   ,"LCPEchoFailure"                                 \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPEchoFailure,);
-
-#define kSCPropNetPPPLCPEchoInterval                                  \
-       SC_SCHEMA_KV(kSCPropNetPPPLCPEchoInterval                     \
-                   ,"LCPEchoInterval"                                \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPEchoInterval,);
-
-#define kSCPropNetPPPLCPCompressionACField                            \
-       SC_SCHEMA_KV(kSCPropNetPPPLCPCompressionACField               \
-                   ,"LCPCompressionACField"                          \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPCompressionACField,);
-
-#define kSCPropNetPPPLCPCompressionPField                             \
-       SC_SCHEMA_KV(kSCPropNetPPPLCPCompressionPField                \
-                   ,"LCPCompressionPField"                           \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPCompressionPField,);
-
-#define kSCPropNetPPPLCPMRU                                           \
-       SC_SCHEMA_KV(kSCPropNetPPPLCPMRU                              \
-                   ,"LCPMRU"                                         \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPMRU,);
-
-#define kSCPropNetPPPLCPMTU                                           \
-       SC_SCHEMA_KV(kSCPropNetPPPLCPMTU                              \
-                   ,"LCPMTU"                                         \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPMTU,);
-
-#define kSCPropNetPPPLCPReceiveACCM                                   \
-       SC_SCHEMA_KV(kSCPropNetPPPLCPReceiveACCM                      \
-                   ,"LCPReceiveACCM"                                 \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPReceiveACCM,);
-
-#define kSCPropNetPPPLCPTransmitACCM                                  \
-       SC_SCHEMA_KV(kSCPropNetPPPLCPTransmitACCM                     \
-                   ,"LCPTransmitACCM"                                \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPTransmitACCM,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetL2TPIPSecSharedSecret                               \
-       SC_SCHEMA_KV(kSCPropNetL2TPIPSecSharedSecret                  \
-                   ,"IPSecSharedSecret"                              \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetL2TPIPSecSharedSecret, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetL2TPIPSecSharedSecretEncryption                     \
-       SC_SCHEMA_KV(kSCPropNetL2TPIPSecSharedSecretEncryption        \
-                   ,"IPSecSharedSecretEncryption"                    \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetL2TPIPSecSharedSecretEncryption, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCPropNetL2TPTransport                                       \
-       SC_SCHEMA_KV(kSCPropNetL2TPTransport                          \
-                   ,"Transport"                                      \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetL2TPTransport, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetL2TPIPSecSharedSecretEncryptionKeychain              \
-       SC_SCHEMA_KV(kSCValNetL2TPIPSecSharedSecretEncryptionKeychain \
-                   ,"Keychain"                                       \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetL2TPIPSecSharedSecretEncryptionKeychain, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetL2TPTransportIP                                      \
-       SC_SCHEMA_KV(kSCValNetL2TPTransportIP                         \
-                   ,"IP"                                             \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetL2TPTransportIP, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define kSCValNetL2TPTransportIPSec                                   \
-       SC_SCHEMA_KV(kSCValNetL2TPTransportIPSec                      \
-                   ,"IPSec"                                          \
-                   ,                                                 )
-#endif
-       SC_SCHEMA_DECLARATION(kSCValNetL2TPTransportIPSec, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);
-
-#define kSCPropNetProxiesExceptionsList                               \
-       SC_SCHEMA_KV(kSCPropNetProxiesExceptionsList                  \
-                   ,"ExceptionsList"                                 \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesExceptionsList,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetProxiesExcludeSimpleHostnames                       \
-       SC_SCHEMA_KV(kSCPropNetProxiesExcludeSimpleHostnames          \
-                   ,"ExcludeSimpleHostnames"                         \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesExcludeSimpleHostnames, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#define kSCPropNetProxiesFTPEnable                                    \
-       SC_SCHEMA_KV(kSCPropNetProxiesFTPEnable                       \
-                   ,"FTPEnable"                                      \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesFTPEnable,);
-
-#define kSCPropNetProxiesFTPPassive                                   \
-       SC_SCHEMA_KV(kSCPropNetProxiesFTPPassive                      \
-                   ,"FTPPassive"                                     \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesFTPPassive,);
-
-#define kSCPropNetProxiesFTPPort                                      \
-       SC_SCHEMA_KV(kSCPropNetProxiesFTPPort                         \
-                   ,"FTPPort"                                        \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesFTPPort,);
-
-#define kSCPropNetProxiesFTPProxy                                     \
-       SC_SCHEMA_KV(kSCPropNetProxiesFTPProxy                        \
-                   ,"FTPProxy"                                       \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesFTPProxy,);
-
-#define kSCPropNetProxiesGopherEnable                                 \
-       SC_SCHEMA_KV(kSCPropNetProxiesGopherEnable                    \
-                   ,"GopherEnable"                                   \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesGopherEnable,);
-
-#define kSCPropNetProxiesGopherPort                                   \
-       SC_SCHEMA_KV(kSCPropNetProxiesGopherPort                      \
-                   ,"GopherPort"                                     \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesGopherPort,);
-
-#define kSCPropNetProxiesGopherProxy                                  \
-       SC_SCHEMA_KV(kSCPropNetProxiesGopherProxy                     \
-                   ,"GopherProxy"                                    \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesGopherProxy,);
-
-#define kSCPropNetProxiesHTTPEnable                                   \
-       SC_SCHEMA_KV(kSCPropNetProxiesHTTPEnable                      \
-                   ,"HTTPEnable"                                     \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPEnable,);
-
-#define kSCPropNetProxiesHTTPPort                                     \
-       SC_SCHEMA_KV(kSCPropNetProxiesHTTPPort                        \
-                   ,"HTTPPort"                                       \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPPort,);
-
-#define kSCPropNetProxiesHTTPProxy                                    \
-       SC_SCHEMA_KV(kSCPropNetProxiesHTTPProxy                       \
-                   ,"HTTPProxy"                                      \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPProxy,);
-
-#define kSCPropNetProxiesHTTPSEnable                                  \
-       SC_SCHEMA_KV(kSCPropNetProxiesHTTPSEnable                     \
-                   ,"HTTPSEnable"                                    \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPSEnable,);
-
-#define kSCPropNetProxiesHTTPSPort                                    \
-       SC_SCHEMA_KV(kSCPropNetProxiesHTTPSPort                       \
-                   ,"HTTPSPort"                                      \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPSPort,);
-
-#define kSCPropNetProxiesHTTPSProxy                                   \
-       SC_SCHEMA_KV(kSCPropNetProxiesHTTPSProxy                      \
-                   ,"HTTPSProxy"                                     \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPSProxy,);
-
-#define kSCPropNetProxiesRTSPEnable                                   \
-       SC_SCHEMA_KV(kSCPropNetProxiesRTSPEnable                      \
-                   ,"RTSPEnable"                                     \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesRTSPEnable,);
-
-#define kSCPropNetProxiesRTSPPort                                     \
-       SC_SCHEMA_KV(kSCPropNetProxiesRTSPPort                        \
-                   ,"RTSPPort"                                       \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesRTSPPort,);
-
-#define kSCPropNetProxiesRTSPProxy                                    \
-       SC_SCHEMA_KV(kSCPropNetProxiesRTSPProxy                       \
-                   ,"RTSPProxy"                                      \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesRTSPProxy,);
-
-#define kSCPropNetProxiesSOCKSEnable                                  \
-       SC_SCHEMA_KV(kSCPropNetProxiesSOCKSEnable                     \
-                   ,"SOCKSEnable"                                    \
-                   ,CFNumber (0 or 1)                                )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesSOCKSEnable,);
-
-#define kSCPropNetProxiesSOCKSPort                                    \
-       SC_SCHEMA_KV(kSCPropNetProxiesSOCKSPort                       \
-                   ,"SOCKSPort"                                      \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesSOCKSPort,);
-
-#define kSCPropNetProxiesSOCKSProxy                                   \
-       SC_SCHEMA_KV(kSCPropNetProxiesSOCKSProxy                      \
-                   ,"SOCKSProxy"                                     \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesSOCKSProxy,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetProxiesProxyAutoConfigEnable                        \
-       SC_SCHEMA_KV(kSCPropNetProxiesProxyAutoConfigEnable           \
-                   ,"ProxyAutoConfigEnable"                          \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesProxyAutoConfigEnable, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetProxiesProxyAutoConfigURLString                     \
-       SC_SCHEMA_KV(kSCPropNetProxiesProxyAutoConfigURLString        \
-                   ,"ProxyAutoConfigURLString"                       \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesProxyAutoConfigURLString, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define kSCPropNetProxiesProxyAutoDiscoveryEnable                     \
-       SC_SCHEMA_KV(kSCPropNetProxiesProxyAutoDiscoveryEnable        \
-                   ,"ProxyAutoDiscoveryEnable"                       \
-                   ,CFNumber (0 or 1)                                )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropNetProxiesProxyAutoDiscoveryEnable, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);
-
-#define kSCEntUsersConsoleUser                                        \
-       SC_SCHEMA_KV(kSCEntUsersConsoleUser                           \
-                   ,"ConsoleUser"                                    \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCEntUsersConsoleUser,);
-
-#define kSCPropSystemComputerName                                     \
-       SC_SCHEMA_KV(kSCPropSystemComputerName                        \
-                   ,"ComputerName"                                   \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCPropSystemComputerName,);
-
-#define kSCPropSystemComputerNameEncoding                             \
-       SC_SCHEMA_KV(kSCPropSystemComputerNameEncoding                \
-                   ,"ComputerNameEncoding"                           \
-                   ,CFNumber                                         )
-       SC_SCHEMA_DECLARATION(kSCPropSystemComputerNameEncoding,);
-
-#define kSCDynamicStoreDomainFile                                     \
-       SC_SCHEMA_KV(kSCDynamicStoreDomainFile                        \
-                   ,"File:"                                          \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCDynamicStoreDomainFile,);
-
-#define kSCDynamicStoreDomainPlugin                                   \
-       SC_SCHEMA_KV(kSCDynamicStoreDomainPlugin                      \
-                   ,"Plugin:"                                        \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCDynamicStoreDomainPlugin,);
-
-#define kSCDynamicStoreDomainSetup                                    \
-       SC_SCHEMA_KV(kSCDynamicStoreDomainSetup                       \
-                   ,"Setup:"                                         \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCDynamicStoreDomainSetup,);
-
-#define kSCDynamicStoreDomainState                                    \
-       SC_SCHEMA_KV(kSCDynamicStoreDomainState                       \
-                   ,"State:"                                         \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCDynamicStoreDomainState,);
-
-#define kSCDynamicStoreDomainPrefs                                    \
-       SC_SCHEMA_KV(kSCDynamicStoreDomainPrefs                       \
-                   ,"Prefs:"                                         \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCDynamicStoreDomainPrefs,);
-
-#define kSCDynamicStorePropSetupCurrentSet                            \
-       SC_SCHEMA_KV(kSCDynamicStorePropSetupCurrentSet               \
-                   ,"CurrentSet"                                     \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCDynamicStorePropSetupCurrentSet,);
-
-#define kSCDynamicStorePropSetupLastUpdated                           \
-       SC_SCHEMA_KV(kSCDynamicStorePropSetupLastUpdated              \
-                   ,"LastUpdated"                                    \
-                   ,                                                 )
-       SC_SCHEMA_DECLARATION(kSCDynamicStorePropSetupLastUpdated,);
-
-#define kSCDynamicStorePropNetInterfaces                              \
-       SC_SCHEMA_KV(kSCDynamicStorePropNetInterfaces                 \
-                   ,"Interfaces"                                     \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCDynamicStorePropNetInterfaces,);
-
-#define kSCDynamicStorePropNetPrimaryInterface                        \
-       SC_SCHEMA_KV(kSCDynamicStorePropNetPrimaryInterface           \
-                   ,"PrimaryInterface"                               \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCDynamicStorePropNetPrimaryInterface,);
-
-#define kSCDynamicStorePropNetPrimaryService                          \
-       SC_SCHEMA_KV(kSCDynamicStorePropNetPrimaryService             \
-                   ,"PrimaryService"                                 \
-                   ,CFString                                         )
-       SC_SCHEMA_DECLARATION(kSCDynamicStorePropNetPrimaryService,);
-
-#define kSCDynamicStorePropNetServiceIDs                              \
-       SC_SCHEMA_KV(kSCDynamicStorePropNetServiceIDs                 \
-                   ,"ServiceIDs"                                     \
-                   ,CFArray[CFString]                                )
-       SC_SCHEMA_DECLARATION(kSCDynamicStorePropNetServiceIDs,);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1 && \
-    MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_3
-#define kSCPropUsersConsoleUserName                                   \
-       SC_SCHEMA_KV(kSCPropUsersConsoleUserName                      \
-                   ,"Name"                                           \
-                   ,CFString                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropUsersConsoleUserName, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1 && \
-    MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_3
-#define kSCPropUsersConsoleUserUID                                    \
-       SC_SCHEMA_KV(kSCPropUsersConsoleUserUID                       \
-                   ,"UID"                                            \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropUsersConsoleUserUID, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4);
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1 && \
-    MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_3
-#define kSCPropUsersConsoleUserGID                                    \
-       SC_SCHEMA_KV(kSCPropUsersConsoleUserGID                       \
-                   ,"GID"                                            \
-                   ,CFNumber                                         )
-#endif
-       SC_SCHEMA_DECLARATION(kSCPropUsersConsoleUserGID, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4);
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCResvLink, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCResvLink                                                   \
+          SC_SCHEMA_KV(kSCResvLink                                      \
+                      ,"__LINK__"                                       \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCResvInactive, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCResvInactive                                               \
+          SC_SCHEMA_KV(kSCResvInactive                                  \
+                      ,"__INACTIVE__"                                   \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropInterfaceName, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropInterfaceName                                          \
+          SC_SCHEMA_KV(kSCPropInterfaceName                             \
+                      ,"InterfaceName"                                  \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropMACAddress, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropMACAddress                                             \
+          SC_SCHEMA_KV(kSCPropMACAddress                                \
+                      ,"MACAddress"                                     \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropUserDefinedName, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropUserDefinedName                                        \
+          SC_SCHEMA_KV(kSCPropUserDefinedName                           \
+                      ,"UserDefinedName"                                \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropVersion, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropVersion                                                \
+          SC_SCHEMA_KV(kSCPropVersion                                   \
+                      ,"Version"                                        \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPrefCurrentSet, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPrefCurrentSet                                             \
+          SC_SCHEMA_KV(kSCPrefCurrentSet                                \
+                      ,"CurrentSet"                                     \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPrefNetworkServices, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPrefNetworkServices                                        \
+          SC_SCHEMA_KV(kSCPrefNetworkServices                           \
+                      ,"NetworkServices"                                \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPrefSets, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPrefSets                                                   \
+          SC_SCHEMA_KV(kSCPrefSets                                      \
+                      ,"Sets"                                           \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPrefSystem, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPrefSystem                                                 \
+          SC_SCHEMA_KV(kSCPrefSystem                                    \
+                      ,"System"                                         \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCCompNetwork, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCCompNetwork                                                \
+          SC_SCHEMA_KV(kSCCompNetwork                                   \
+                      ,"Network"                                        \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCCompService, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCCompService                                                \
+          SC_SCHEMA_KV(kSCCompService                                   \
+                      ,"Service"                                        \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCCompGlobal, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCCompGlobal                                                 \
+          SC_SCHEMA_KV(kSCCompGlobal                                    \
+                      ,"Global"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCCompHostNames, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCCompHostNames                                              \
+          SC_SCHEMA_KV(kSCCompHostNames                                 \
+                      ,"HostNames"                                      \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCCompInterface, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCCompInterface                                              \
+          SC_SCHEMA_KV(kSCCompInterface                                 \
+                      ,"Interface"                                      \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCCompSystem, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCCompSystem                                                 \
+          SC_SCHEMA_KV(kSCCompSystem                                    \
+                      ,"System"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCCompUsers, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCCompUsers                                                  \
+          SC_SCHEMA_KV(kSCCompUsers                                     \
+                      ,"Users"                                          \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCCompAnyRegex, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCCompAnyRegex                                               \
+          SC_SCHEMA_KV(kSCCompAnyRegex                                  \
+                      ,"[^/]+"                                          \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetAirPort, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetAirPort                                              \
+          SC_SCHEMA_KV(kSCEntNetAirPort                                 \
+                      ,"AirPort"                                        \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetAppleTalk, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetAppleTalk                                            \
+          SC_SCHEMA_KV(kSCEntNetAppleTalk                               \
+                      ,"AppleTalk"                                      \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetDHCP, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetDHCP                                                 \
+          SC_SCHEMA_KV(kSCEntNetDHCP                                    \
+                      ,"DHCP"                                           \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetDNS, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetDNS                                                  \
+          SC_SCHEMA_KV(kSCEntNetDNS                                     \
+                      ,"DNS"                                            \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetEthernet, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetEthernet                                             \
+          SC_SCHEMA_KV(kSCEntNetEthernet                                \
+                      ,"Ethernet"                                       \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetFireWire, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCEntNetFireWire                                             \
+          SC_SCHEMA_KV(kSCEntNetFireWire                                \
+                      ,"FireWire"                                       \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetInterface, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetInterface                                            \
+          SC_SCHEMA_KV(kSCEntNetInterface                               \
+                      ,"Interface"                                      \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetIPv4, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetIPv4                                                 \
+          SC_SCHEMA_KV(kSCEntNetIPv4                                    \
+                      ,"IPv4"                                           \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetIPv6, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetIPv6                                                 \
+          SC_SCHEMA_KV(kSCEntNetIPv6                                    \
+                      ,"IPv6"                                           \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetL2TP, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCEntNetL2TP                                                 \
+          SC_SCHEMA_KV(kSCEntNetL2TP                                    \
+                      ,"L2TP"                                           \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetLink, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetLink                                                 \
+          SC_SCHEMA_KV(kSCEntNetLink                                    \
+                      ,"Link"                                           \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetModem, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetModem                                                \
+          SC_SCHEMA_KV(kSCEntNetModem                                   \
+                      ,"Modem"                                          \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetNetInfo, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetNetInfo                                              \
+          SC_SCHEMA_KV(kSCEntNetNetInfo                                 \
+                      ,"NetInfo"                                        \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetPPP, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetPPP                                                  \
+          SC_SCHEMA_KV(kSCEntNetPPP                                     \
+                      ,"PPP"                                            \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetPPPoE, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetPPPoE                                                \
+          SC_SCHEMA_KV(kSCEntNetPPPoE                                   \
+                      ,"PPPoE"                                          \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetPPPSerial, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCEntNetPPPSerial                                            \
+          SC_SCHEMA_KV(kSCEntNetPPPSerial                               \
+                      ,"PPPSerial"                                      \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetPPTP, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCEntNetPPTP                                                 \
+          SC_SCHEMA_KV(kSCEntNetPPTP                                    \
+                      ,"PPTP"                                           \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNetProxies, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntNetProxies                                              \
+          SC_SCHEMA_KV(kSCEntNetProxies                                 \
+                      ,"Proxies"                                        \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntNet6to4, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCEntNet6to4                                                 \
+          SC_SCHEMA_KV(kSCEntNet6to4                                    \
+                      ,"6to4"                                           \
+                      ,CFDictionary                                     )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetOverridePrimary, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetOverridePrimary                                     \
+          SC_SCHEMA_KV(kSCPropNetOverridePrimary                        \
+                      ,"OverridePrimary"                                \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetServiceOrder, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetServiceOrder                                        \
+          SC_SCHEMA_KV(kSCPropNetServiceOrder                           \
+                      ,"ServiceOrder"                                   \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPOverridePrimary, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPOverridePrimary                                  \
+          SC_SCHEMA_KV(kSCPropNetPPPOverridePrimary                     \
+                      ,"PPPOverridePrimary"                             \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetInterfaces, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetInterfaces                                          \
+          SC_SCHEMA_KV(kSCPropNetInterfaces                             \
+                      ,"Interfaces"                                     \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetLocalHostName, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetLocalHostName                                       \
+          SC_SCHEMA_KV(kSCPropNetLocalHostName                          \
+                      ,"LocalHostName"                                  \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAirPortAllowNetCreation, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetAirPortAllowNetCreation                             \
+          SC_SCHEMA_KV(kSCPropNetAirPortAllowNetCreation                \
+                      ,"AllowNetCreation"                               \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAirPortAuthPassword, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAirPortAuthPassword                                 \
+          SC_SCHEMA_KV(kSCPropNetAirPortAuthPassword                    \
+                      ,"AuthPassword"                                   \
+                      ,CFData                                           )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAirPortAuthPasswordEncryption, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAirPortAuthPasswordEncryption                       \
+          SC_SCHEMA_KV(kSCPropNetAirPortAuthPasswordEncryption          \
+                      ,"AuthPasswordEncryption"                         \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAirPortJoinMode, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetAirPortJoinMode                                     \
+          SC_SCHEMA_KV(kSCPropNetAirPortJoinMode                        \
+                      ,"JoinMode"                                       \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAirPortPowerEnabled, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAirPortPowerEnabled                                 \
+          SC_SCHEMA_KV(kSCPropNetAirPortPowerEnabled                    \
+                      ,"PowerEnabled"                                   \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAirPortPreferredNetwork, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAirPortPreferredNetwork                             \
+          SC_SCHEMA_KV(kSCPropNetAirPortPreferredNetwork                \
+                      ,"PreferredNetwork"                               \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAirPortSavePasswords, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetAirPortSavePasswords                                \
+          SC_SCHEMA_KV(kSCPropNetAirPortSavePasswords                   \
+                      ,"SavePasswords"                                  \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetAirPortJoinModeAutomatic, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetAirPortJoinModeAutomatic                             \
+          SC_SCHEMA_KV(kSCValNetAirPortJoinModeAutomatic                \
+                      ,"Automatic"                                      \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetAirPortJoinModePreferred, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCValNetAirPortJoinModePreferred                             \
+          SC_SCHEMA_KV(kSCValNetAirPortJoinModePreferred                \
+                      ,"Preferred"                                      \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetAirPortJoinModeRecent, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCValNetAirPortJoinModeRecent                                \
+          SC_SCHEMA_KV(kSCValNetAirPortJoinModeRecent                   \
+                      ,"Recent"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetAirPortJoinModeStrongest, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCValNetAirPortJoinModeStrongest                             \
+          SC_SCHEMA_KV(kSCValNetAirPortJoinModeStrongest                \
+                      ,"Strongest"                                      \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetAirPortAuthPasswordEncryptionKeychain, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetAirPortAuthPasswordEncryptionKeychain                \
+          SC_SCHEMA_KV(kSCValNetAirPortAuthPasswordEncryptionKeychain   \
+                      ,"Keychain"                                       \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkComputerName, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAppleTalkComputerName                               \
+          SC_SCHEMA_KV(kSCPropNetAppleTalkComputerName                  \
+                      ,"ComputerName"                                   \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkComputerNameEncoding, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAppleTalkComputerNameEncoding                       \
+          SC_SCHEMA_KV(kSCPropNetAppleTalkComputerNameEncoding          \
+                      ,"ComputerNameEncoding"                           \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkConfigMethod, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAppleTalkConfigMethod                               \
+          SC_SCHEMA_KV(kSCPropNetAppleTalkConfigMethod                  \
+                      ,"ConfigMethod"                                   \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkDefaultZone, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAppleTalkDefaultZone                                \
+          SC_SCHEMA_KV(kSCPropNetAppleTalkDefaultZone                   \
+                      ,"DefaultZone"                                    \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkNetworkID, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAppleTalkNetworkID                                  \
+          SC_SCHEMA_KV(kSCPropNetAppleTalkNetworkID                     \
+                      ,"NetworkID"                                      \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkNetworkRange, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetAppleTalkNetworkRange                               \
+          SC_SCHEMA_KV(kSCPropNetAppleTalkNetworkRange                  \
+                      ,"NetworkRange"                                   \
+                      ,CFArray[CFNumber]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkNodeID, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAppleTalkNodeID                                     \
+          SC_SCHEMA_KV(kSCPropNetAppleTalkNodeID                        \
+                      ,"NodeID"                                         \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkSeedNetworkRange, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAppleTalkSeedNetworkRange                           \
+          SC_SCHEMA_KV(kSCPropNetAppleTalkSeedNetworkRange              \
+                      ,"SeedNetworkRange"                               \
+                      ,CFArray[CFNumber]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetAppleTalkSeedZones, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetAppleTalkSeedZones                                  \
+          SC_SCHEMA_KV(kSCPropNetAppleTalkSeedZones                     \
+                      ,"SeedZones"                                      \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetAppleTalkConfigMethodNode, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetAppleTalkConfigMethodNode                            \
+          SC_SCHEMA_KV(kSCValNetAppleTalkConfigMethodNode               \
+                      ,"Node"                                           \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetAppleTalkConfigMethodRouter, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetAppleTalkConfigMethodRouter                          \
+          SC_SCHEMA_KV(kSCValNetAppleTalkConfigMethodRouter             \
+                      ,"Router"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetAppleTalkConfigMethodSeedRouter, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetAppleTalkConfigMethodSeedRouter                      \
+          SC_SCHEMA_KV(kSCValNetAppleTalkConfigMethodSeedRouter         \
+                      ,"SeedRouter"                                     \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetDNSDomainName, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetDNSDomainName                                       \
+          SC_SCHEMA_KV(kSCPropNetDNSDomainName                          \
+                      ,"DomainName"                                     \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetDNSOptions, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetDNSOptions                                          \
+          SC_SCHEMA_KV(kSCPropNetDNSOptions                             \
+                      ,"Options"                                        \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetDNSSearchDomains, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetDNSSearchDomains                                    \
+          SC_SCHEMA_KV(kSCPropNetDNSSearchDomains                       \
+                      ,"SearchDomains"                                  \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetDNSSearchOrder, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetDNSSearchOrder                                      \
+          SC_SCHEMA_KV(kSCPropNetDNSSearchOrder                         \
+                      ,"SearchOrder"                                    \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetDNSServerAddresses, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetDNSServerAddresses                                  \
+          SC_SCHEMA_KV(kSCPropNetDNSServerAddresses                     \
+                      ,"ServerAddresses"                                \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetDNSServerPort, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetDNSServerPort                                       \
+          SC_SCHEMA_KV(kSCPropNetDNSServerPort                          \
+                      ,"ServerPort"                                     \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetDNSServerTimeout, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetDNSServerTimeout                                    \
+          SC_SCHEMA_KV(kSCPropNetDNSServerTimeout                       \
+                      ,"ServerTimeout"                                  \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetDNSSortList, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetDNSSortList                                         \
+          SC_SCHEMA_KV(kSCPropNetDNSSortList                            \
+                      ,"SortList"                                       \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetDNSSupplementalMatchDomains, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetDNSSupplementalMatchDomains                         \
+          SC_SCHEMA_KV(kSCPropNetDNSSupplementalMatchDomains            \
+                      ,"SupplementalMatchDomains"                       \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetDNSSupplementalMatchOrders, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetDNSSupplementalMatchOrders                          \
+          SC_SCHEMA_KV(kSCPropNetDNSSupplementalMatchOrders             \
+                      ,"SupplementalMatchOrders"                        \
+                      ,CFArray[CFNumber]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetEthernetMediaSubType, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetEthernetMediaSubType                                \
+          SC_SCHEMA_KV(kSCPropNetEthernetMediaSubType                   \
+                      ,"MediaSubType"                                   \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetEthernetMediaOptions, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetEthernetMediaOptions                                \
+          SC_SCHEMA_KV(kSCPropNetEthernetMediaOptions                   \
+                      ,"MediaOptions"                                   \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetEthernetMTU, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetEthernetMTU                                         \
+          SC_SCHEMA_KV(kSCPropNetEthernetMTU                            \
+                      ,"MTU"                                            \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetInterfaceDeviceName, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetInterfaceDeviceName                                 \
+          SC_SCHEMA_KV(kSCPropNetInterfaceDeviceName                    \
+                      ,"DeviceName"                                     \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetInterfaceHardware, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetInterfaceHardware                                   \
+          SC_SCHEMA_KV(kSCPropNetInterfaceHardware                      \
+                      ,"Hardware"                                       \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetInterfaceType, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetInterfaceType                                       \
+          SC_SCHEMA_KV(kSCPropNetInterfaceType                          \
+                      ,"Type"                                           \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetInterfaceSubType, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetInterfaceSubType                                    \
+          SC_SCHEMA_KV(kSCPropNetInterfaceSubType                       \
+                      ,"SubType"                                        \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetInterfaceSupportsModemOnHold, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetInterfaceSupportsModemOnHold                        \
+          SC_SCHEMA_KV(kSCPropNetInterfaceSupportsModemOnHold           \
+                      ,"SupportsModemOnHold"                            \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetInterfaceTypeEthernet, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetInterfaceTypeEthernet                                \
+          SC_SCHEMA_KV(kSCValNetInterfaceTypeEthernet                   \
+                      ,"Ethernet"                                       \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetInterfaceTypeFireWire, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetInterfaceTypeFireWire                                \
+          SC_SCHEMA_KV(kSCValNetInterfaceTypeFireWire                   \
+                      ,"FireWire"                                       \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetInterfaceTypePPP, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetInterfaceTypePPP                                     \
+          SC_SCHEMA_KV(kSCValNetInterfaceTypePPP                        \
+                      ,"PPP"                                            \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetInterfaceType6to4, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetInterfaceType6to4                                    \
+          SC_SCHEMA_KV(kSCValNetInterfaceType6to4                       \
+                      ,"6to4"                                           \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetInterfaceSubTypePPPoE, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetInterfaceSubTypePPPoE                                \
+          SC_SCHEMA_KV(kSCValNetInterfaceSubTypePPPoE                   \
+                      ,"PPPoE"                                          \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetInterfaceSubTypePPPSerial, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetInterfaceSubTypePPPSerial                            \
+          SC_SCHEMA_KV(kSCValNetInterfaceSubTypePPPSerial               \
+                      ,"PPPSerial"                                      \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetInterfaceSubTypePPTP, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCValNetInterfaceSubTypePPTP                                 \
+          SC_SCHEMA_KV(kSCValNetInterfaceSubTypePPTP                    \
+                      ,"PPTP"                                           \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetInterfaceSubTypeL2TP, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetInterfaceSubTypeL2TP                                 \
+          SC_SCHEMA_KV(kSCValNetInterfaceSubTypeL2TP                    \
+                      ,"L2TP"                                           \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv4Addresses, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetIPv4Addresses                                       \
+          SC_SCHEMA_KV(kSCPropNetIPv4Addresses                          \
+                      ,"Addresses"                                      \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv4ConfigMethod, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetIPv4ConfigMethod                                    \
+          SC_SCHEMA_KV(kSCPropNetIPv4ConfigMethod                       \
+                      ,"ConfigMethod"                                   \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv4DHCPClientID, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetIPv4DHCPClientID                                    \
+          SC_SCHEMA_KV(kSCPropNetIPv4DHCPClientID                       \
+                      ,"DHCPClientID"                                   \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv4Router, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetIPv4Router                                          \
+          SC_SCHEMA_KV(kSCPropNetIPv4Router                             \
+                      ,"Router"                                         \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv4SubnetMasks, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetIPv4SubnetMasks                                     \
+          SC_SCHEMA_KV(kSCPropNetIPv4SubnetMasks                        \
+                      ,"SubnetMasks"                                    \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv4DestAddresses, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetIPv4DestAddresses                                   \
+          SC_SCHEMA_KV(kSCPropNetIPv4DestAddresses                      \
+                      ,"DestAddresses"                                  \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv4BroadcastAddresses, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetIPv4BroadcastAddresses                              \
+          SC_SCHEMA_KV(kSCPropNetIPv4BroadcastAddresses                 \
+                      ,"BroadcastAddresses"                             \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodBOOTP, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetIPv4ConfigMethodBOOTP                                \
+          SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodBOOTP                   \
+                      ,"BOOTP"                                          \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodDHCP, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetIPv4ConfigMethodDHCP                                 \
+          SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodDHCP                    \
+                      ,"DHCP"                                           \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodINFORM, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetIPv4ConfigMethodINFORM                               \
+          SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodINFORM                  \
+                      ,"INFORM"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodLinkLocal, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCValNetIPv4ConfigMethodLinkLocal                            \
+          SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodLinkLocal               \
+                      ,"LinkLocal"                                      \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodManual, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetIPv4ConfigMethodManual                               \
+          SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodManual                  \
+                      ,"Manual"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetIPv4ConfigMethodPPP, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetIPv4ConfigMethodPPP                                  \
+          SC_SCHEMA_KV(kSCValNetIPv4ConfigMethodPPP                     \
+                      ,"PPP"                                            \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv6Addresses, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetIPv6Addresses                                       \
+          SC_SCHEMA_KV(kSCPropNetIPv6Addresses                          \
+                      ,"Addresses"                                      \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv6ConfigMethod, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetIPv6ConfigMethod                                    \
+          SC_SCHEMA_KV(kSCPropNetIPv6ConfigMethod                       \
+                      ,"ConfigMethod"                                   \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv6DestAddresses, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetIPv6DestAddresses                                   \
+          SC_SCHEMA_KV(kSCPropNetIPv6DestAddresses                      \
+                      ,"DestAddresses"                                  \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv6Flags, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetIPv6Flags                                           \
+          SC_SCHEMA_KV(kSCPropNetIPv6Flags                              \
+                      ,"Flags"                                          \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv6PrefixLength, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetIPv6PrefixLength                                    \
+          SC_SCHEMA_KV(kSCPropNetIPv6PrefixLength                       \
+                      ,"PrefixLength"                                   \
+                      ,CFArray[CFNumber]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetIPv6Router, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetIPv6Router                                          \
+          SC_SCHEMA_KV(kSCPropNetIPv6Router                             \
+                      ,"Router"                                         \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetIPv6ConfigMethodAutomatic, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetIPv6ConfigMethodAutomatic                            \
+          SC_SCHEMA_KV(kSCValNetIPv6ConfigMethodAutomatic               \
+                      ,"Automatic"                                      \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetIPv6ConfigMethodManual, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetIPv6ConfigMethodManual                               \
+          SC_SCHEMA_KV(kSCValNetIPv6ConfigMethodManual                  \
+                      ,"Manual"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetIPv6ConfigMethodRouterAdvertisement, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetIPv6ConfigMethodRouterAdvertisement                  \
+          SC_SCHEMA_KV(kSCValNetIPv6ConfigMethodRouterAdvertisement     \
+                      ,"RouterAdvertisement"                            \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetIPv6ConfigMethod6to4, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetIPv6ConfigMethod6to4                                 \
+          SC_SCHEMA_KV(kSCValNetIPv6ConfigMethod6to4                    \
+                      ,"6to4"                                           \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNet6to4Relay, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNet6to4Relay                                           \
+          SC_SCHEMA_KV(kSCPropNet6to4Relay                              \
+                      ,"Relay"                                          \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetLinkActive, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetLinkActive                                          \
+          SC_SCHEMA_KV(kSCPropNetLinkActive                             \
+                      ,"Active"                                         \
+                      ,CFBoolean                                        )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetLinkDetaching, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetLinkDetaching                                       \
+          SC_SCHEMA_KV(kSCPropNetLinkDetaching                          \
+                      ,"Detaching"                                      \
+                      ,CFBoolean                                        )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemConnectionScript, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetModemConnectionScript                               \
+          SC_SCHEMA_KV(kSCPropNetModemConnectionScript                  \
+                      ,"ConnectionScript"                               \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemConnectSpeed, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetModemConnectSpeed                                   \
+          SC_SCHEMA_KV(kSCPropNetModemConnectSpeed                      \
+                      ,"ConnectSpeed"                                   \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemDataCompression, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetModemDataCompression                                \
+          SC_SCHEMA_KV(kSCPropNetModemDataCompression                   \
+                      ,"DataCompression"                                \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemDialMode, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetModemDialMode                                       \
+          SC_SCHEMA_KV(kSCPropNetModemDialMode                          \
+                      ,"DialMode"                                       \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemErrorCorrection, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetModemErrorCorrection                                \
+          SC_SCHEMA_KV(kSCPropNetModemErrorCorrection                   \
+                      ,"ErrorCorrection"                                \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemHoldCallWaitingAudibleAlert, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetModemHoldCallWaitingAudibleAlert                    \
+          SC_SCHEMA_KV(kSCPropNetModemHoldCallWaitingAudibleAlert       \
+                      ,"HoldCallWaitingAudibleAlert"                    \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemHoldDisconnectOnAnswer, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetModemHoldDisconnectOnAnswer                         \
+          SC_SCHEMA_KV(kSCPropNetModemHoldDisconnectOnAnswer            \
+                      ,"HoldDisconnectOnAnswer"                         \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemHoldEnabled, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetModemHoldEnabled                                    \
+          SC_SCHEMA_KV(kSCPropNetModemHoldEnabled                       \
+                      ,"HoldEnabled"                                    \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemHoldReminder, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetModemHoldReminder                                   \
+          SC_SCHEMA_KV(kSCPropNetModemHoldReminder                      \
+                      ,"HoldReminder"                                   \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemHoldReminderTime, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetModemHoldReminderTime                               \
+          SC_SCHEMA_KV(kSCPropNetModemHoldReminderTime                  \
+                      ,"HoldReminderTime"                               \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemNote, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetModemNote                                           \
+          SC_SCHEMA_KV(kSCPropNetModemNote                              \
+                      ,"Note"                                           \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemPulseDial, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetModemPulseDial                                      \
+          SC_SCHEMA_KV(kSCPropNetModemPulseDial                         \
+                      ,"PulseDial"                                      \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemSpeaker, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetModemSpeaker                                        \
+          SC_SCHEMA_KV(kSCPropNetModemSpeaker                           \
+                      ,"Speaker"                                        \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetModemSpeed, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetModemSpeed                                          \
+          SC_SCHEMA_KV(kSCPropNetModemSpeed                             \
+                      ,"Speed"                                          \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetModemDialModeIgnoreDialTone, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetModemDialModeIgnoreDialTone                          \
+          SC_SCHEMA_KV(kSCValNetModemDialModeIgnoreDialTone             \
+                      ,"IgnoreDialTone"                                 \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetModemDialModeManual, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetModemDialModeManual                                  \
+          SC_SCHEMA_KV(kSCValNetModemDialModeManual                     \
+                      ,"Manual"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetModemDialModeWaitForDialTone, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetModemDialModeWaitForDialTone                         \
+          SC_SCHEMA_KV(kSCValNetModemDialModeWaitForDialTone            \
+                      ,"WaitForDialTone"                                \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetNetInfoBindingMethods, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetNetInfoBindingMethods                               \
+          SC_SCHEMA_KV(kSCPropNetNetInfoBindingMethods                  \
+                      ,"BindingMethods"                                 \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetNetInfoServerAddresses, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetNetInfoServerAddresses                              \
+          SC_SCHEMA_KV(kSCPropNetNetInfoServerAddresses                 \
+                      ,"ServerAddresses"                                \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetNetInfoServerTags, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetNetInfoServerTags                                   \
+          SC_SCHEMA_KV(kSCPropNetNetInfoServerTags                      \
+                      ,"ServerTags"                                     \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetNetInfoBroadcastServerTag, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetNetInfoBroadcastServerTag                           \
+          SC_SCHEMA_KV(kSCPropNetNetInfoBroadcastServerTag              \
+                      ,"BroadcastServerTag"                             \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetNetInfoBindingMethodsBroadcast, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetNetInfoBindingMethodsBroadcast                       \
+          SC_SCHEMA_KV(kSCValNetNetInfoBindingMethodsBroadcast          \
+                      ,"Broadcast"                                      \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetNetInfoBindingMethodsDHCP, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetNetInfoBindingMethodsDHCP                            \
+          SC_SCHEMA_KV(kSCValNetNetInfoBindingMethodsDHCP               \
+                      ,"DHCP"                                           \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetNetInfoBindingMethodsManual, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetNetInfoBindingMethodsManual                          \
+          SC_SCHEMA_KV(kSCValNetNetInfoBindingMethodsManual             \
+                      ,"Manual"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetNetInfoDefaultServerTag, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetNetInfoDefaultServerTag                              \
+          SC_SCHEMA_KV(kSCValNetNetInfoDefaultServerTag                 \
+                      ,"network"                                        \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPACSPEnabled, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetPPPACSPEnabled                                      \
+          SC_SCHEMA_KV(kSCPropNetPPPACSPEnabled                         \
+                      ,"ACSPEnabled"                                    \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPConnectTime, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetPPPConnectTime                                      \
+          SC_SCHEMA_KV(kSCPropNetPPPConnectTime                         \
+                      ,"ConnectTime"                                    \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPDeviceLastCause, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetPPPDeviceLastCause                                  \
+          SC_SCHEMA_KV(kSCPropNetPPPDeviceLastCause                     \
+                      ,"DeviceLastCause"                                \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPDialOnDemand, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPDialOnDemand                                     \
+          SC_SCHEMA_KV(kSCPropNetPPPDialOnDemand                        \
+                      ,"DialOnDemand"                                   \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectOnFastUserSwitch, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetPPPDisconnectOnFastUserSwitch                       \
+          SC_SCHEMA_KV(kSCPropNetPPPDisconnectOnFastUserSwitch          \
+                      ,"DisconnectOnFastUserSwitch"                     \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectOnIdle, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPDisconnectOnIdle                                 \
+          SC_SCHEMA_KV(kSCPropNetPPPDisconnectOnIdle                    \
+                      ,"DisconnectOnIdle"                               \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectOnIdleTimer, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPDisconnectOnIdleTimer                            \
+          SC_SCHEMA_KV(kSCPropNetPPPDisconnectOnIdleTimer               \
+                      ,"DisconnectOnIdleTimer"                          \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectOnLogout, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPDisconnectOnLogout                               \
+          SC_SCHEMA_KV(kSCPropNetPPPDisconnectOnLogout                  \
+                      ,"DisconnectOnLogout"                             \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectOnSleep, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetPPPDisconnectOnSleep                                \
+          SC_SCHEMA_KV(kSCPropNetPPPDisconnectOnSleep                   \
+                      ,"DisconnectOnSleep"                              \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPDisconnectTime, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetPPPDisconnectTime                                   \
+          SC_SCHEMA_KV(kSCPropNetPPPDisconnectTime                      \
+                      ,"DisconnectTime"                                 \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPIdleReminderTimer, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPIdleReminderTimer                                \
+          SC_SCHEMA_KV(kSCPropNetPPPIdleReminderTimer                   \
+                      ,"IdleReminderTimer"                              \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPIdleReminder, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPIdleReminder                                     \
+          SC_SCHEMA_KV(kSCPropNetPPPIdleReminder                        \
+                      ,"IdleReminder"                                   \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLastCause, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetPPPLastCause                                        \
+          SC_SCHEMA_KV(kSCPropNetPPPLastCause                           \
+                      ,"LastCause"                                      \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLogfile, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPLogfile                                          \
+          SC_SCHEMA_KV(kSCPropNetPPPLogfile                             \
+                      ,"Logfile"                                        \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPPlugins, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetPPPPlugins                                          \
+          SC_SCHEMA_KV(kSCPropNetPPPPlugins                             \
+                      ,"Plugins"                                        \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPRetryConnectTime, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetPPPRetryConnectTime                                 \
+          SC_SCHEMA_KV(kSCPropNetPPPRetryConnectTime                    \
+                      ,"RetryConnectTime"                               \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPSessionTimer, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPSessionTimer                                     \
+          SC_SCHEMA_KV(kSCPropNetPPPSessionTimer                        \
+                      ,"SessionTimer"                                   \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPStatus, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetPPPStatus                                           \
+          SC_SCHEMA_KV(kSCPropNetPPPStatus                              \
+                      ,"Status"                                         \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPUseSessionTimer, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetPPPUseSessionTimer                                  \
+          SC_SCHEMA_KV(kSCPropNetPPPUseSessionTimer                     \
+                      ,"UseSessionTimer"                                \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPVerboseLogging, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPVerboseLogging                                   \
+          SC_SCHEMA_KV(kSCPropNetPPPVerboseLogging                      \
+                      ,"VerboseLogging"                                 \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthEAPPlugins, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetPPPAuthEAPPlugins                                   \
+          SC_SCHEMA_KV(kSCPropNetPPPAuthEAPPlugins                      \
+                      ,"AuthEAPPlugins"                                 \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthName, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPAuthName                                         \
+          SC_SCHEMA_KV(kSCPropNetPPPAuthName                            \
+                      ,"AuthName"                                       \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthPassword, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPAuthPassword                                     \
+          SC_SCHEMA_KV(kSCPropNetPPPAuthPassword                        \
+                      ,"AuthPassword"                                   \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthPasswordEncryption, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPAuthPasswordEncryption                           \
+          SC_SCHEMA_KV(kSCPropNetPPPAuthPasswordEncryption              \
+                      ,"AuthPasswordEncryption"                         \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthPrompt, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetPPPAuthPrompt                                       \
+          SC_SCHEMA_KV(kSCPropNetPPPAuthPrompt                          \
+                      ,"AuthPrompt"                                     \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPAuthProtocol, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPAuthProtocol                                     \
+          SC_SCHEMA_KV(kSCPropNetPPPAuthProtocol                        \
+                      ,"AuthProtocol"                                   \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetPPPAuthPasswordEncryptionKeychain, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetPPPAuthPasswordEncryptionKeychain                    \
+          SC_SCHEMA_KV(kSCValNetPPPAuthPasswordEncryptionKeychain       \
+                      ,"Keychain"                                       \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetPPPAuthPromptBefore, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetPPPAuthPromptBefore                                  \
+          SC_SCHEMA_KV(kSCValNetPPPAuthPromptBefore                     \
+                      ,"Before"                                         \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetPPPAuthPromptAfter, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetPPPAuthPromptAfter                                   \
+          SC_SCHEMA_KV(kSCValNetPPPAuthPromptAfter                      \
+                      ,"After"                                          \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetPPPAuthProtocolCHAP, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetPPPAuthProtocolCHAP                                  \
+          SC_SCHEMA_KV(kSCValNetPPPAuthProtocolCHAP                     \
+                      ,"CHAP"                                           \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetPPPAuthProtocolEAP, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetPPPAuthProtocolEAP                                   \
+          SC_SCHEMA_KV(kSCValNetPPPAuthProtocolEAP                      \
+                      ,"EAP"                                            \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetPPPAuthProtocolMSCHAP1, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetPPPAuthProtocolMSCHAP1                               \
+          SC_SCHEMA_KV(kSCValNetPPPAuthProtocolMSCHAP1                  \
+                      ,"MSCHAP1"                                        \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetPPPAuthProtocolMSCHAP2, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetPPPAuthProtocolMSCHAP2                               \
+          SC_SCHEMA_KV(kSCValNetPPPAuthProtocolMSCHAP2                  \
+                      ,"MSCHAP2"                                        \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetPPPAuthProtocolPAP, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCValNetPPPAuthProtocolPAP                                   \
+          SC_SCHEMA_KV(kSCValNetPPPAuthProtocolPAP                      \
+                      ,"PAP"                                            \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCommAlternateRemoteAddress, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPCommAlternateRemoteAddress                       \
+          SC_SCHEMA_KV(kSCPropNetPPPCommAlternateRemoteAddress          \
+                      ,"CommAlternateRemoteAddress"                     \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCommConnectDelay, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPCommConnectDelay                                 \
+          SC_SCHEMA_KV(kSCPropNetPPPCommConnectDelay                    \
+                      ,"CommConnectDelay"                               \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCommDisplayTerminalWindow, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPCommDisplayTerminalWindow                        \
+          SC_SCHEMA_KV(kSCPropNetPPPCommDisplayTerminalWindow           \
+                      ,"CommDisplayTerminalWindow"                      \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCommRedialCount, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPCommRedialCount                                  \
+          SC_SCHEMA_KV(kSCPropNetPPPCommRedialCount                     \
+                      ,"CommRedialCount"                                \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCommRedialEnabled, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPCommRedialEnabled                                \
+          SC_SCHEMA_KV(kSCPropNetPPPCommRedialEnabled                   \
+                      ,"CommRedialEnabled"                              \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCommRedialInterval, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPCommRedialInterval                               \
+          SC_SCHEMA_KV(kSCPropNetPPPCommRedialInterval                  \
+                      ,"CommRedialInterval"                             \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCommRemoteAddress, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPCommRemoteAddress                                \
+          SC_SCHEMA_KV(kSCPropNetPPPCommRemoteAddress                   \
+                      ,"CommRemoteAddress"                              \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCommTerminalScript, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPCommTerminalScript                               \
+          SC_SCHEMA_KV(kSCPropNetPPPCommTerminalScript                  \
+                      ,"CommTerminalScript"                             \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCommUseTerminalScript, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetPPPCommUseTerminalScript                            \
+          SC_SCHEMA_KV(kSCPropNetPPPCommUseTerminalScript               \
+                      ,"CommUseTerminalScript"                          \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCCPEnabled, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
+  #define kSCPropNetPPPCCPEnabled                                       \
+          SC_SCHEMA_KV(kSCPropNetPPPCCPEnabled                          \
+                      ,"CCPEnabled"                                     \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCCPMPPE40Enabled, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetPPPCCPMPPE40Enabled                                 \
+          SC_SCHEMA_KV(kSCPropNetPPPCCPMPPE40Enabled                    \
+                      ,"CCPMPPE40Enabled"                               \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPCCPMPPE128Enabled, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetPPPCCPMPPE128Enabled                                \
+          SC_SCHEMA_KV(kSCPropNetPPPCCPMPPE128Enabled                   \
+                      ,"CCPMPPE128Enabled"                              \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPIPCPCompressionVJ, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPIPCPCompressionVJ                                \
+          SC_SCHEMA_KV(kSCPropNetPPPIPCPCompressionVJ                   \
+                      ,"IPCPCompressionVJ"                              \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPIPCPUsePeerDNS, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetPPPIPCPUsePeerDNS                                   \
+          SC_SCHEMA_KV(kSCPropNetPPPIPCPUsePeerDNS                      \
+                      ,"IPCPUsePeerDNS"                                 \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPEchoEnabled, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPLCPEchoEnabled                                   \
+          SC_SCHEMA_KV(kSCPropNetPPPLCPEchoEnabled                      \
+                      ,"LCPEchoEnabled"                                 \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPEchoFailure, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPLCPEchoFailure                                   \
+          SC_SCHEMA_KV(kSCPropNetPPPLCPEchoFailure                      \
+                      ,"LCPEchoFailure"                                 \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPEchoInterval, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPLCPEchoInterval                                  \
+          SC_SCHEMA_KV(kSCPropNetPPPLCPEchoInterval                     \
+                      ,"LCPEchoInterval"                                \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPCompressionACField, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPLCPCompressionACField                            \
+          SC_SCHEMA_KV(kSCPropNetPPPLCPCompressionACField               \
+                      ,"LCPCompressionACField"                          \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPCompressionPField, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPLCPCompressionPField                             \
+          SC_SCHEMA_KV(kSCPropNetPPPLCPCompressionPField                \
+                      ,"LCPCompressionPField"                           \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPMRU, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPLCPMRU                                           \
+          SC_SCHEMA_KV(kSCPropNetPPPLCPMRU                              \
+                      ,"LCPMRU"                                         \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPMTU, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPLCPMTU                                           \
+          SC_SCHEMA_KV(kSCPropNetPPPLCPMTU                              \
+                      ,"LCPMTU"                                         \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPReceiveACCM, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPLCPReceiveACCM                                   \
+          SC_SCHEMA_KV(kSCPropNetPPPLCPReceiveACCM                      \
+                      ,"LCPReceiveACCM"                                 \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetPPPLCPTransmitACCM, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetPPPLCPTransmitACCM                                  \
+          SC_SCHEMA_KV(kSCPropNetPPPLCPTransmitACCM                     \
+                      ,"LCPTransmitACCM"                                \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetL2TPIPSecSharedSecret, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetL2TPIPSecSharedSecret                               \
+          SC_SCHEMA_KV(kSCPropNetL2TPIPSecSharedSecret                  \
+                      ,"IPSecSharedSecret"                              \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetL2TPIPSecSharedSecretEncryption, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetL2TPIPSecSharedSecretEncryption                     \
+          SC_SCHEMA_KV(kSCPropNetL2TPIPSecSharedSecretEncryption        \
+                      ,"IPSecSharedSecretEncryption"                    \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetL2TPTransport, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCPropNetL2TPTransport                                       \
+          SC_SCHEMA_KV(kSCPropNetL2TPTransport                          \
+                      ,"Transport"                                      \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetL2TPIPSecSharedSecretEncryptionKeychain, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetL2TPIPSecSharedSecretEncryptionKeychain              \
+          SC_SCHEMA_KV(kSCValNetL2TPIPSecSharedSecretEncryptionKeychain \
+                      ,"Keychain"                                       \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetL2TPTransportIP, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetL2TPTransportIP                                      \
+          SC_SCHEMA_KV(kSCValNetL2TPTransportIP                         \
+                      ,"IP"                                             \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCValNetL2TPTransportIPSec, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)
+  #define kSCValNetL2TPTransportIPSec                                   \
+          SC_SCHEMA_KV(kSCValNetL2TPTransportIPSec                      \
+                      ,"IPSec"                                          \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesExceptionsList, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesExceptionsList                               \
+          SC_SCHEMA_KV(kSCPropNetProxiesExceptionsList                  \
+                      ,"ExceptionsList"                                 \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesExcludeSimpleHostnames, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetProxiesExcludeSimpleHostnames                       \
+          SC_SCHEMA_KV(kSCPropNetProxiesExcludeSimpleHostnames          \
+                      ,"ExcludeSimpleHostnames"                         \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesFTPEnable, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesFTPEnable                                    \
+          SC_SCHEMA_KV(kSCPropNetProxiesFTPEnable                       \
+                      ,"FTPEnable"                                      \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesFTPPassive, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesFTPPassive                                   \
+          SC_SCHEMA_KV(kSCPropNetProxiesFTPPassive                      \
+                      ,"FTPPassive"                                     \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesFTPPort, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesFTPPort                                      \
+          SC_SCHEMA_KV(kSCPropNetProxiesFTPPort                         \
+                      ,"FTPPort"                                        \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesFTPProxy, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesFTPProxy                                     \
+          SC_SCHEMA_KV(kSCPropNetProxiesFTPProxy                        \
+                      ,"FTPProxy"                                       \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesGopherEnable, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesGopherEnable                                 \
+          SC_SCHEMA_KV(kSCPropNetProxiesGopherEnable                    \
+                      ,"GopherEnable"                                   \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesGopherPort, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesGopherPort                                   \
+          SC_SCHEMA_KV(kSCPropNetProxiesGopherPort                      \
+                      ,"GopherPort"                                     \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesGopherProxy, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesGopherProxy                                  \
+          SC_SCHEMA_KV(kSCPropNetProxiesGopherProxy                     \
+                      ,"GopherProxy"                                    \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPEnable, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesHTTPEnable                                   \
+          SC_SCHEMA_KV(kSCPropNetProxiesHTTPEnable                      \
+                      ,"HTTPEnable"                                     \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPPort, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesHTTPPort                                     \
+          SC_SCHEMA_KV(kSCPropNetProxiesHTTPPort                        \
+                      ,"HTTPPort"                                       \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPProxy, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesHTTPProxy                                    \
+          SC_SCHEMA_KV(kSCPropNetProxiesHTTPProxy                       \
+                      ,"HTTPProxy"                                      \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPSEnable, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesHTTPSEnable                                  \
+          SC_SCHEMA_KV(kSCPropNetProxiesHTTPSEnable                     \
+                      ,"HTTPSEnable"                                    \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPSPort, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesHTTPSPort                                    \
+          SC_SCHEMA_KV(kSCPropNetProxiesHTTPSPort                       \
+                      ,"HTTPSPort"                                      \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesHTTPSProxy, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesHTTPSProxy                                   \
+          SC_SCHEMA_KV(kSCPropNetProxiesHTTPSProxy                      \
+                      ,"HTTPSProxy"                                     \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesRTSPEnable, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesRTSPEnable                                   \
+          SC_SCHEMA_KV(kSCPropNetProxiesRTSPEnable                      \
+                      ,"RTSPEnable"                                     \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesRTSPPort, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesRTSPPort                                     \
+          SC_SCHEMA_KV(kSCPropNetProxiesRTSPPort                        \
+                      ,"RTSPPort"                                       \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesRTSPProxy, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesRTSPProxy                                    \
+          SC_SCHEMA_KV(kSCPropNetProxiesRTSPProxy                       \
+                      ,"RTSPProxy"                                      \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesSOCKSEnable, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesSOCKSEnable                                  \
+          SC_SCHEMA_KV(kSCPropNetProxiesSOCKSEnable                     \
+                      ,"SOCKSEnable"                                    \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesSOCKSPort, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesSOCKSPort                                    \
+          SC_SCHEMA_KV(kSCPropNetProxiesSOCKSPort                       \
+                      ,"SOCKSPort"                                      \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesSOCKSProxy, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropNetProxiesSOCKSProxy                                   \
+          SC_SCHEMA_KV(kSCPropNetProxiesSOCKSProxy                      \
+                      ,"SOCKSProxy"                                     \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesProxyAutoConfigEnable, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetProxiesProxyAutoConfigEnable                        \
+          SC_SCHEMA_KV(kSCPropNetProxiesProxyAutoConfigEnable           \
+                      ,"ProxyAutoConfigEnable"                          \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesProxyAutoConfigURLString, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetProxiesProxyAutoConfigURLString                     \
+          SC_SCHEMA_KV(kSCPropNetProxiesProxyAutoConfigURLString        \
+                      ,"ProxyAutoConfigURLString"                       \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
+  SC_SCHEMA_DECLARATION(kSCPropNetProxiesProxyAutoDiscoveryEnable, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)
+  #define kSCPropNetProxiesProxyAutoDiscoveryEnable                     \
+          SC_SCHEMA_KV(kSCPropNetProxiesProxyAutoDiscoveryEnable        \
+                      ,"ProxyAutoDiscoveryEnable"                       \
+                      ,CFNumber (0 or 1)                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCEntUsersConsoleUser, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCEntUsersConsoleUser                                        \
+          SC_SCHEMA_KV(kSCEntUsersConsoleUser                           \
+                      ,"ConsoleUser"                                    \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropSystemComputerName, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropSystemComputerName                                     \
+          SC_SCHEMA_KV(kSCPropSystemComputerName                        \
+                      ,"ComputerName"                                   \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropSystemComputerNameEncoding, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropSystemComputerNameEncoding                             \
+          SC_SCHEMA_KV(kSCPropSystemComputerNameEncoding                \
+                      ,"ComputerNameEncoding"                           \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStoreDomainFile, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStoreDomainFile                                     \
+          SC_SCHEMA_KV(kSCDynamicStoreDomainFile                        \
+                      ,"File:"                                          \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStoreDomainPlugin, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStoreDomainPlugin                                   \
+          SC_SCHEMA_KV(kSCDynamicStoreDomainPlugin                      \
+                      ,"Plugin:"                                        \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStoreDomainSetup, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStoreDomainSetup                                    \
+          SC_SCHEMA_KV(kSCDynamicStoreDomainSetup                       \
+                      ,"Setup:"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStoreDomainState, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStoreDomainState                                    \
+          SC_SCHEMA_KV(kSCDynamicStoreDomainState                       \
+                      ,"State:"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStoreDomainPrefs, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStoreDomainPrefs                                    \
+          SC_SCHEMA_KV(kSCDynamicStoreDomainPrefs                       \
+                      ,"Prefs:"                                         \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStorePropSetupCurrentSet, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStorePropSetupCurrentSet                            \
+          SC_SCHEMA_KV(kSCDynamicStorePropSetupCurrentSet               \
+                      ,"CurrentSet"                                     \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStorePropSetupLastUpdated, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStorePropSetupLastUpdated                           \
+          SC_SCHEMA_KV(kSCDynamicStorePropSetupLastUpdated              \
+                      ,"LastUpdated"                                    \
+                      ,                                                 )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStorePropNetInterfaces, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStorePropNetInterfaces                              \
+          SC_SCHEMA_KV(kSCDynamicStorePropNetInterfaces                 \
+                      ,"Interfaces"                                     \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStorePropNetPrimaryInterface, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStorePropNetPrimaryInterface                        \
+          SC_SCHEMA_KV(kSCDynamicStorePropNetPrimaryInterface           \
+                      ,"PrimaryInterface"                               \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStorePropNetPrimaryService, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStorePropNetPrimaryService                          \
+          SC_SCHEMA_KV(kSCDynamicStorePropNetPrimaryService             \
+                      ,"PrimaryService"                                 \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCDynamicStorePropNetServiceIDs, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCDynamicStorePropNetServiceIDs                              \
+          SC_SCHEMA_KV(kSCDynamicStorePropNetServiceIDs                 \
+                      ,"ServiceIDs"                                     \
+                      ,CFArray[CFString]                                )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropUsersConsoleUserName, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropUsersConsoleUserName                                   \
+          SC_SCHEMA_KV(kSCPropUsersConsoleUserName                      \
+                      ,"Name"                                           \
+                      ,CFString                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropUsersConsoleUserUID, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropUsersConsoleUserUID                                    \
+          SC_SCHEMA_KV(kSCPropUsersConsoleUserUID                       \
+                      ,"UID"                                            \
+                      ,CFNumber                                         )
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+  SC_SCHEMA_DECLARATION(kSCPropUsersConsoleUserGID, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4)
+#endif
+#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)
+  #define kSCPropUsersConsoleUserGID                                    \
+          SC_SCHEMA_KV(kSCPropUsersConsoleUserGID                       \
+                      ,"GID"                                            \
+                      ,CFNumber                                         )
+#endif
 
 #endif /* _SCSCHEMADEFINITIONS_H */
 
 #endif /* _SCSCHEMADEFINITIONS_H */
index 9fa8c9be9173fac6c069b0a7656bd54cdd267413..a4892853b27f1e5d4f53cc19d5b2d3e2b7461ba4 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2003-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #ifndef _VLANCONFIGURATION_H
 #define _VLANCONFIGURATION_H
 
 #ifndef _VLANCONFIGURATION_H
 #define _VLANCONFIGURATION_H
 
-/*!
-       @header VLANConfiguration
-*/
-
+#include <AvailabilityMacros.h>
 #include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 
 #include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+
+/*!
+       @header VLANConfiguration
+*/
 
 typedef const struct __VLANInterface *         VLANInterfaceRef;
 
 
 typedef const struct __VLANInterface *         VLANInterfaceRef;
 
@@ -99,4 +101,6 @@ VLANPreferencesApplyChanges  (VLANPreferencesRef     prefs);
 
 __END_DECLS
 
 
 __END_DECLS
 
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */
+
 #endif /* _VLANCONFIGURATION_H */
 #endif /* _VLANCONFIGURATION_H */
index bf0b4054ef54440188e6c2fcd0829cc31cf97958..98928fa3e55acc728a3caf319411ef957e802fdd 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2003-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #ifndef _VLANCONFIGURATIONPRIVATE_H
 #define _VLANCONFIGURATIONPRIVATE_H
 
 #ifndef _VLANCONFIGURATIONPRIVATE_H
 #define _VLANCONFIGURATIONPRIVATE_H
 
-
+#include <AvailabilityMacros.h>
 #include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
 #include <sys/cdefs.h>
 #include <CoreFoundation/CoreFoundation.h>
-
-
 #include <SystemConfiguration/VLANConfiguration.h>
 
 #include <SystemConfiguration/VLANConfiguration.h>
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
 
 /*!
        @header VLANConfigurationPrivate
 
 /*!
        @header VLANConfigurationPrivate
@@ -50,4 +49,6 @@ _VLANPreferencesUpdateConfiguration   (VLANPreferencesRef     prefs);
 
 __END_DECLS
 
 
 __END_DECLS
 
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */
+
 #endif /* _VLANCONFIGURATIONPRIVATE_H */
 #endif /* _VLANCONFIGURATIONPRIVATE_H */
index 9785c7a47805a95872cc375a8513143ee7eefe81..0601c07067e3eba15e9cadaeb8a69c0cef52bf16 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -59,7 +59,7 @@
 
 char copyright_string[] =
 "/*\n"
 
 char copyright_string[] =
 "/*\n"
-" * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.\n"
+" * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.\n"
 " *\n"
 " * @APPLE_LICENSE_HEADER_START@\n"
 " * \n"
 " *\n"
 " * @APPLE_LICENSE_HEADER_START@\n"
 " * \n"
@@ -86,15 +86,15 @@ typedef enum {
        COMMENT,
        GROUP,
        SC_10_1,
        COMMENT,
        GROUP,
        SC_10_1,
+       SC_10_1_10_4,   // deprecated in 10.4
        SC_10_2,
        SC_10_2,
-       SC_10_1_10_3,   // deprecated in 10.4
        SC_10_3,
        SC_10_4,
        END
 } controlType;
 
        SC_10_3,
        SC_10_4,
        END
 } controlType;
 
-#define SC_SCHEMA_KV           "SC_SCHEMA_KV"
 #define SC_SCHEMA_DECLARATION  "SC_SCHEMA_DECLARATION"
 #define SC_SCHEMA_DECLARATION  "SC_SCHEMA_DECLARATION"
+#define SC_SCHEMA_KV           "SC_SCHEMA_KV"
 
 #define KEY_PREFIX             "kSC"
 
 
 #define KEY_PREFIX             "kSC"
 
@@ -758,9 +758,9 @@ struct {
 
 //{ GROUP, "DEPRECATED", "Deprecated schema definition keys", NULL, NULL },
 
 
 //{ GROUP, "DEPRECATED", "Deprecated schema definition keys", NULL, NULL },
 
-    { SC_10_1_10_3, USERSPROP CONSOLEUSER, NAME, NULL, CFSTRING },
-    { SC_10_1_10_3, USERSPROP CONSOLEUSER, UID, NULL, CFNUMBER },
-    { SC_10_1_10_3, USERSPROP CONSOLEUSER, GID, NULL, CFNUMBER },
+    { SC_10_1_10_4, USERSPROP CONSOLEUSER, NAME, NULL, CFSTRING },
+    { SC_10_1_10_4, USERSPROP CONSOLEUSER, UID, NULL, CFNUMBER },
+    { SC_10_1_10_4, USERSPROP CONSOLEUSER, GID, NULL, CFNUMBER },
 //  { COMMENT, "", NULL, NULL, NULL },
 
     { END, NULL, NULL, NULL, NULL },
 //  { COMMENT, "", NULL, NULL, NULL },
 
     { END, NULL, NULL, NULL, NULL },
@@ -861,7 +861,7 @@ dump_names(int type)
                        break;
                    case gen_comments_e:
                        switch (names[i].control) {
                        break;
                    case gen_comments_e:
                        switch (names[i].control) {
-                           case SC_10_1_10_3:
+                           case SC_10_1_10_4:
                                // don't report deprecated keys
                                break;
                            default:
                                // don't report deprecated keys
                                break;
                            default:
@@ -900,7 +900,7 @@ dump_names(int type)
                            case SC_10_2:
                                printf("  @availability Introduced in Mac OS X 10.2.\n");
                                break;
                            case SC_10_2:
                                printf("  @availability Introduced in Mac OS X 10.2.\n");
                                break;
-                           case SC_10_1_10_3:
+                           case SC_10_1_10_4:
                                printf("  @availability Introduced in Mac OS X 10.1, but later deprecated in Mac OS X 10.4.\n");
                                break;
                            case SC_10_3:
                                printf("  @availability Introduced in Mac OS X 10.1, but later deprecated in Mac OS X 10.4.\n");
                                break;
                            case SC_10_3:
@@ -926,54 +926,70 @@ dump_names(int type)
                        printf("\n");
 
                        switch (names[i].control) {
                        printf("\n");
 
                        switch (names[i].control) {
-                           case SC_10_2:
-                               printf("#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2\n");
+                           case SC_10_1:
+                               printf("#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030\n");
+                               printf("  " SC_SCHEMA_DECLARATION "(%s, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER)\n", kbuf);
+                               printf("#endif\n");
                                break;
                                break;
-                           case SC_10_1_10_3:
-                               printf("#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1 && \\\n");
-                               printf("    MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_3\n");
+                           case SC_10_2:
+                               printf("#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030\n");
+                               printf("  " SC_SCHEMA_DECLARATION "(%s, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER)\n", kbuf);
+                               printf("#endif\n");
                                break;
                            case SC_10_3:
                                break;
                            case SC_10_3:
-                               printf("#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3\n");
+                               printf("#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030\n");
+                               printf("  " SC_SCHEMA_DECLARATION "(%s, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER)\n", kbuf);
+                               printf("#endif\n");
+                               break;
+                           case SC_10_1_10_4:
+                               printf("#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030\n");
+                               printf("  " SC_SCHEMA_DECLARATION "(%s, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4)\n", kbuf);
+                               printf("#endif\n");
                                break;
                            case SC_10_4:
                                break;
                            case SC_10_4:
-                               printf("#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4\n");
+                               printf("#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040\n");
+                               printf("  " SC_SCHEMA_DECLARATION "(%s, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER)\n", kbuf);
+                               printf("#endif\n");
+                               break;
+                           default:
+                               printf("#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030\n");
+                               printf("  " SC_SCHEMA_DECLARATION "(%s,)\n", kbuf);
+                               printf("#endif\n");
                                break;
                        }
 
                                break;
                        }
 
-                       printf("#define %-48s              \\\n",
-                              kbuf);
-                       printf("\tSC_SCHEMA_KV(%-48s \\\n",
-                              kbuf);
-                       printf("\t            ,%-48s \\\n",
-                              vbuf);
-                       printf("\t            ,%-48s )\n",
-                              names[i].type ? names[i].type : "");
-
                        switch (names[i].control) {
                        switch (names[i].control) {
+                           case SC_10_1:
+                           case SC_10_1_10_4:
+                               printf("#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1010)\n");
+                               break;
                            case SC_10_2:
                            case SC_10_2:
+                               printf("#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)\n");
+                               break;
                            case SC_10_3:
                            case SC_10_3:
-                           case SC_10_1_10_3:
+                               printf("#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1030)\n");
+                               break;
                            case SC_10_4:
                            case SC_10_4:
-                               printf("#endif\n");
+                               printf("#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040) || (MAC_OS_X_VERSION_MAX_ALLOWED >= 1040)\n");
                                break;
                        }
 
                                break;
                        }
 
+                       printf("  #define %-48s              \\\n",
+                              kbuf);
+                       printf("          " SC_SCHEMA_KV "(%-48s \\\n",
+                              kbuf);
+                       printf("                      ,%-48s \\\n",
+                              vbuf);
+                       printf("                      ,%-48s )\n",
+                              names[i].type ? names[i].type : "");
+
                        switch (names[i].control) {
                        switch (names[i].control) {
+                           case SC_10_1:
+                           case SC_10_1_10_4:
                            case SC_10_2:
                            case SC_10_2:
-                               printf("\tSC_SCHEMA_DECLARATION(%s, AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER);\n", kbuf);
-                               break;
                            case SC_10_3:
                            case SC_10_3:
-                               printf("\tSC_SCHEMA_DECLARATION(%s, AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER);\n", kbuf);
-                               break;
-                           case SC_10_1_10_3:
-                               printf("\tSC_SCHEMA_DECLARATION(%s, AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4);\n", kbuf);
-                               break;
                            case SC_10_4:
                            case SC_10_4:
-                               printf("\tSC_SCHEMA_DECLARATION(%s, AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER);\n", kbuf);
-                               break;
-                           default:
-                               printf("\tSC_SCHEMA_DECLARATION(%s,);\n", kbuf);
+                               printf("#endif\n");
                                break;
                        }
 
                                break;
                        }
 
@@ -1064,7 +1080,7 @@ main(int argc, char * argv[])
        printf(" * Note: For Cocoa/Obj-C/Foundation applications accessing these preference\n");
        printf(" *       keys you may want to consider the following :\n");
        printf(" *\n");
        printf(" * Note: For Cocoa/Obj-C/Foundation applications accessing these preference\n");
        printf(" *       keys you may want to consider the following :\n");
        printf(" *\n");
-       printf(" *       #define " SC_SCHEMA_DECLARATION "(k,q)\textern NSString * k\n");
+       printf(" *       #define " SC_SCHEMA_DECLARATION "(k,q)\textern NSString * k;\n");
        printf(" *       #import <SystemConfiguration/SystemConfiguration.h>\n");
        printf(" */\n\n");
 
        printf(" *       #import <SystemConfiguration/SystemConfiguration.h>\n");
        printf(" */\n\n");
 
@@ -1072,8 +1088,8 @@ main(int argc, char * argv[])
        printf(" * Note: For CFM applications using these schema keys you may want to\n");
        printf(" *       consider the following :\n");
        printf(" *\n");
        printf(" * Note: For CFM applications using these schema keys you may want to\n");
        printf(" *       consider the following :\n");
        printf(" *\n");
-       printf(" *       #define SC_SCHEMA_KV(k,v,t)\tlookup_SC_key( CFSTR( #k ) )\n");
-       printf(" *       #define SC_SCHEMA_DECLARATION(k,q)\n");
+       printf(" *       #define " SC_SCHEMA_DECLARATION "(k,q)\n");
+       printf(" *       #define " SC_SCHEMA_KV "(k,v,t)\tlookup_SC_key( CFSTR( #k ) )\n");
        printf(" *       #include <SystemConfiguration/SystemConfiguration.h>\n");
        printf(" *\n");
        printf(" *       CFStringRef lookup_SC_key(CFStringRef key)\n");
        printf(" *       #include <SystemConfiguration/SystemConfiguration.h>\n");
        printf(" *\n");
        printf(" *       CFStringRef lookup_SC_key(CFStringRef key)\n");
@@ -1088,7 +1104,7 @@ main(int argc, char * argv[])
        printf(" * Note: Earlier versions of this header file defined a \"SCSTR\" macro\n");
        printf(" *       which helped to facilitate Obj-C development. Use of this macro\n");
        printf(" *       has been deprecated (in Mac OS X 10.4) in favor of the newer\n");
        printf(" * Note: Earlier versions of this header file defined a \"SCSTR\" macro\n");
        printf(" *       which helped to facilitate Obj-C development. Use of this macro\n");
        printf(" *       has been deprecated (in Mac OS X 10.4) in favor of the newer\n");
-       printf(" *       \"SC_SCHEMA_KV\" and \"SC_SCHEMA_DECLARATION\" macros\n");
+       printf(" *       \"" SC_SCHEMA_DECLARATION "\" and \"" SC_SCHEMA_KV "\" macros\n");
        printf(" */\n\n\n");
 
        printf("#ifndef _SCSCHEMADEFINITIONS_H\n#define _SCSCHEMADEFINITIONS_H\n\n");
        printf(" */\n\n\n");
 
        printf("#ifndef _SCSCHEMADEFINITIONS_H\n#define _SCSCHEMADEFINITIONS_H\n\n");
@@ -1099,52 +1115,48 @@ main(int argc, char * argv[])
 
        printf("/*\n");
        printf(" * let's \"do the right thing\" for those wishing to build for\n");
 
        printf("/*\n");
        printf(" * let's \"do the right thing\" for those wishing to build for\n");
-       printf(" * Mac OS X 10.1 and 10.2\n");
+       printf(" * Mac OS X 10.1.0 ... 10.2.x\n");
        printf(" */\n");
 
        printf(" */\n");
 
-       printf("#if MAC_OS_X_VERSION_10_3 > MAC_OS_X_VERSION_MIN_REQUIRED\n");
-       printf("  #if MAC_OS_X_VERSION_10_1 <= MAC_OS_X_VERSION_MIN_REQUIRED\n");
+       printf("#if MAC_OS_X_VERSION_MIN_REQUIRED <= 1020\n");
        printf("    #ifndef SCSTR\n");
        printf("      #include <CoreFoundation/CFString.h>\n");
        printf("      #define SCSTR(s) CFSTR(s)\n");
        printf("    #endif\n");
        printf("    #ifndef SCSTR\n");
        printf("      #include <CoreFoundation/CFString.h>\n");
        printf("      #define SCSTR(s) CFSTR(s)\n");
        printf("    #endif\n");
-       printf("    #ifndef SC_SCHEMA_KV\n");
-       printf("      #define SC_SCHEMA_KV(k,v,t)\tSCSTR( v )\n");
-       printf("    #endif\n");
-       printf("    #ifndef SC_SCHEMA_DECLARATION\n");
-       printf("      #define SC_SCHEMA_DECLARATION(k,q)\n");
+       printf("  #ifndef " SC_SCHEMA_DECLARATION "\n");
+       printf("    #define " SC_SCHEMA_DECLARATION "(k,q)\textern const CFStringRef k q;\n");
        printf("    #endif\n");
        printf("    #endif\n");
+       printf("  #ifndef " SC_SCHEMA_KV "\n");
+       printf("    #define " SC_SCHEMA_KV "(k,v,t)\tSCSTR( v )\n");
        printf("  #endif\n");
        printf("#endif\n\n");
 
        printf("/*\n");
        printf(" * Define a schema key/value/type tuple\n");
        printf(" */\n");
        printf("  #endif\n");
        printf("#endif\n\n");
 
        printf("/*\n");
        printf(" * Define a schema key/value/type tuple\n");
        printf(" */\n");
-       printf("#ifndef SC_SCHEMA_KV\n");
+       printf("#ifndef " SC_SCHEMA_KV "\n");
        printf("  #define " SC_SCHEMA_KV "(k,v,t)\tk\n");
        printf("#endif\n\n");
 
        printf("/*\n");
        printf(" * Provide an \"extern\" for the key/value\n");
        printf(" */\n");
        printf("  #define " SC_SCHEMA_KV "(k,v,t)\tk\n");
        printf("#endif\n\n");
 
        printf("/*\n");
        printf(" * Provide an \"extern\" for the key/value\n");
        printf(" */\n");
-       printf("#ifndef SC_SCHEMA_DECLARATION\n");
+       printf("#ifndef " SC_SCHEMA_DECLARATION "\n");
        printf("  #ifndef SCSTR\n");
        printf("    #include <CoreFoundation/CFString.h>\n");
        printf("  #ifndef SCSTR\n");
        printf("    #include <CoreFoundation/CFString.h>\n");
-       printf("    #define " SC_SCHEMA_DECLARATION "(k,q)\textern const CFStringRef k q\n");
+       printf("    #define " SC_SCHEMA_DECLARATION "(k,q)\textern const CFStringRef k q;\n");
        printf("  #else\n");
        printf("    #import <Foundation/NSString.h>\n");
        printf("  #else\n");
        printf("    #import <Foundation/NSString.h>\n");
-       printf("    #define " SC_SCHEMA_DECLARATION "(k,q)\textern NSString * k q\n");
+       printf("    #define " SC_SCHEMA_DECLARATION "(k,q)\textern NSString * k q;\n");
        printf("  #endif\n");
        printf("#endif\n");
 
        printf("  #endif\n");
        printf("#endif\n");
 
-       // The SCSTR() macro should be availble for 10.1 ... 10.4
-       printf("#if MAC_OS_X_VERSION_10_4 >= MAC_OS_X_VERSION_MIN_REQUIRED\n");
-       printf("  #if MAC_OS_X_VERSION_10_1 <= MAC_OS_X_VERSION_MIN_REQUIRED\n");
+       // The SCSTR() macro should only be availble for Mac OS X 10.1.0 ... 10.4.x
+       printf("#if (MAC_OS_X_VERSION_MIN_REQUIRED >= 1010) && (MAC_OS_X_VERSION_MAX_ALLOWED <= 1040)\n");
        printf("    #ifndef SCSTR\n");
        printf("      #include <CoreFoundation/CFString.h>\n");
        printf("      #define SCSTR(s) CFSTR(s)\n");
        printf("    #endif\n");
        printf("    #ifndef SCSTR\n");
        printf("      #include <CoreFoundation/CFString.h>\n");
        printf("      #define SCSTR(s) CFSTR(s)\n");
        printf("    #endif\n");
-       printf("  #endif\n");
        printf("#endif\n\n\n");
 
        printf("/* -------------------- HeaderDoc comments -------------------- */\n\n\n");
        printf("#endif\n\n\n");
 
        printf("/* -------------------- HeaderDoc comments -------------------- */\n\n\n");
index 266220f71be31e63388d5efb7b13ae57971309c4..52fa072ace2cf2d87c8b86e8f37a8f4c0b004ac4 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -166,7 +166,7 @@ addBundle(CFBundleRef bundle)
 {
        CFDictionaryRef         bundleDict;
        bundleInfoRef           bundleInfo;
 {
        CFDictionaryRef         bundleDict;
        bundleInfoRef           bundleInfo;
-       
+
        bundleInfo = CFAllocatorAllocate(NULL, sizeof(*bundleInfo), 0);
        bundleInfo->bundle      = (CFBundleRef)CFRetain(bundle);
        bundleInfo->loaded      = FALSE;
        bundleInfo = CFAllocatorAllocate(NULL, sizeof(*bundleInfo), 0);
        bundleInfo->bundle      = (CFBundleRef)CFRetain(bundle);
        bundleInfo->loaded      = FALSE;
@@ -176,7 +176,7 @@ addBundle(CFBundleRef bundle)
        bundleInfo->start       = NULL;
        bundleInfo->prime       = NULL;
        bundleInfo->stop        = NULL;
        bundleInfo->start       = NULL;
        bundleInfo->prime       = NULL;
        bundleInfo->stop        = NULL;
-       
+
        bundleDict = CFBundleGetInfoDictionary(bundle);
        if (isA_CFDictionary(bundleDict)) {
                CFBooleanRef    bVal;
        bundleDict = CFBundleGetInfoDictionary(bundle);
        if (isA_CFDictionary(bundleDict)) {
                CFBooleanRef    bVal;
@@ -724,7 +724,7 @@ plugin_exec(void *arg)
                        strcat(path, BUNDLE_DIRECTORY);
                        SCLog(_configd_verbose, LOG_DEBUG, CFSTR("searching for bundles in \".\""));
                        url = CFURLCreateFromFileSystemRepresentation(NULL,
                        strcat(path, BUNDLE_DIRECTORY);
                        SCLog(_configd_verbose, LOG_DEBUG, CFSTR("searching for bundles in \".\""));
                        url = CFURLCreateFromFileSystemRepresentation(NULL,
-                                                                     path,
+                                                                     (UInt8 *)path,
                                                                      strlen(path),
                                                                      TRUE);
                        bundles = CFBundleCreateBundlesFromDirectory(NULL, url, CFSTR(".bundle"));
                                                                      strlen(path),
                                                                      TRUE);
                        bundles = CFBundleCreateBundlesFromDirectory(NULL, url, CFSTR(".bundle"));
@@ -737,7 +737,7 @@ plugin_exec(void *arg)
                                n = CFArrayGetCount(bundles);
                                for (i = 0; i < n; i++) {
                                        CFBundleRef     bundle;
                                n = CFArrayGetCount(bundles);
                                for (i = 0; i < n; i++) {
                                        CFBundleRef     bundle;
-                                       
+
                                        bundle = (CFBundleRef)CFArrayGetValueAtIndex(bundles, i);
                                        addBundle(bundle);
                                }
                                        bundle = (CFBundleRef)CFArrayGetValueAtIndex(bundles, i);
                                        addBundle(bundle);
                                }
@@ -754,7 +754,7 @@ plugin_exec(void *arg)
                 * load (only) the specified bundle
                 */
                url = CFURLCreateFromFileSystemRepresentation(NULL,
                 * load (only) the specified bundle
                 */
                url = CFURLCreateFromFileSystemRepresentation(NULL,
-                                                             (char *)arg,
+                                                             (UInt8 *)arg,
                                                              strlen((char *)arg),
                                                              TRUE);
                bundle = CFBundleCreate(NULL, url);
                                                              strlen((char *)arg),
                                                              TRUE);
                bundle = CFBundleCreate(NULL, url);
index 8ef21cc9d0b50c40c36c5f7bdfbc6dacb67097a4..0e3da2f37a9fd1599af7c3fb05f5c380a1d81e85 100644 (file)
                        buildRules = (
                        );
                        buildSettings = {
                        buildRules = (
                        );
                        buildSettings = {
-                               CURRENT_PROJECT_VERSION = 130;
+                               CURRENT_PROJECT_VERSION = 135;
                                DEAD_CODE_STRIPPING = YES;
                                FRAMEWORK_SEARCH_PATHS = "$(SYMROOT)";
                                INSTALL_MODE_FLAG = "a-w,a+rX";
                                DEAD_CODE_STRIPPING = YES;
                                FRAMEWORK_SEARCH_PATHS = "$(SYMROOT)";
                                INSTALL_MODE_FLAG = "a-w,a+rX";
                        buildRules = (
                        );
                        buildSettings = {
                        buildRules = (
                        );
                        buildSettings = {
-                               CURRENT_PROJECT_VERSION = 130;
+                               CURRENT_PROJECT_VERSION = 135;
                                DEAD_CODE_STRIPPING = YES;
                                FRAMEWORK_SEARCH_PATHS = "$(SYMROOT)";
                                INSTALL_MODE_FLAG = "a-w,a+rX,u+s";
                                DEAD_CODE_STRIPPING = YES;
                                FRAMEWORK_SEARCH_PATHS = "$(SYMROOT)";
                                INSTALL_MODE_FLAG = "a-w,a+rX,u+s";
                        buildRules = (
                        );
                        buildSettings = {
                        buildRules = (
                        );
                        buildSettings = {
-                               CURRENT_PROJECT_VERSION = 130;
+                               CURRENT_PROJECT_VERSION = 135;
                                DEAD_CODE_STRIPPING = YES;
                                FRAMEWORK_SEARCH_PATHS = "$(SYMROOT)";
                                INSTALL_MODE_FLAG = "a-w,a+rX";
                                DEAD_CODE_STRIPPING = YES;
                                FRAMEWORK_SEARCH_PATHS = "$(SYMROOT)";
                                INSTALL_MODE_FLAG = "a-w,a+rX";
                };
                15CB6A7705C0722B0099E85F = {
                        buildSettings = {
                };
                15CB6A7705C0722B0099E85F = {
                        buildSettings = {
-                               CURRENT_PROJECT_VERSION = 130;
+                               CURRENT_PROJECT_VERSION = 135;
                                FRAMEWORK_SEARCH_PATHS = "";
                                HEADER_SEARCH_PATHS = "";
                                INSTALL_GROUP = wheel;
                                FRAMEWORK_SEARCH_PATHS = "";
                                HEADER_SEARCH_PATHS = "";
                                INSTALL_GROUP = wheel;
                        buildRules = (
                        );
                        buildSettings = {
                        buildRules = (
                        );
                        buildSettings = {
-                               CURRENT_PROJECT_VERSION = 130;
+                               CURRENT_PROJECT_VERSION = 135;
                                DYLIB_COMPATIBILITY_VERSION = 1;
                                DYLIB_CURRENT_VERSION = 1;
                                HEADER_SEARCH_PATHS = "$(SYSTEM_LIBRARY_DIR)/Frameworks/System.framework/PrivateHeaders";
                                DYLIB_COMPATIBILITY_VERSION = 1;
                                DYLIB_CURRENT_VERSION = 1;
                                HEADER_SEARCH_PATHS = "$(SYSTEM_LIBRARY_DIR)/Frameworks/System.framework/PrivateHeaders";
                        buildRules = (
                        );
                        buildSettings = {
                        buildRules = (
                        );
                        buildSettings = {
-                               CURRENT_PROJECT_VERSION = 130;
+                               CURRENT_PROJECT_VERSION = 135;
                                HEADER_SEARCH_PATHS = "$(SYSTEM_LIBRARY_DIR)/Frameworks/System.framework/PrivateHeaders";
                                INFOPLIST_FILE = Plugins/ATconfig/Info.plist;
                                INSTALL_MODE_FLAG = "a-w,a+rX";
                                HEADER_SEARCH_PATHS = "$(SYSTEM_LIBRARY_DIR)/Frameworks/System.framework/PrivateHeaders";
                                INFOPLIST_FILE = Plugins/ATconfig/Info.plist;
                                INSTALL_MODE_FLAG = "a-w,a+rX";
                        fileRef = 159D53C707528B36004F8947;
                        isa = PBXBuildFile;
                        settings = {
                        fileRef = 159D53C707528B36004F8947;
                        isa = PBXBuildFile;
                        settings = {
+                               COMPILER_FLAGS = "-Wno-deprecated-declarations";
                        };
                };
                15FD735C0754DC3F001CC321 = {
                        };
                };
                15FD735C0754DC3F001CC321 = {
index e26da0e597b195a1baf2c975895691f2b53942fe..89b7401236e192fe43bbe12759d953b61afaa92c 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004, 2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #ifndef __DNSINFO_H__
 #define __DNSINFO_H__
 
 #ifndef __DNSINFO_H__
 #define __DNSINFO_H__
 
-
 /*
  * These routines provide access to the systems DNS configuration
  */
 
 /*
  * These routines provide access to the systems DNS configuration
  */
 
-
+#include <AvailabilityMacros.h>
+#include <sys/cdefs.h>
 #include <stdint.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 
 #include <stdint.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 
-#include <sys/cdefs.h>
-
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
 
 #define DEFAULT_SEARCH_ORDER    200000   /* search order for the "default" resolver domain name */
 
 
 #define DEFAULT_SEARCH_ORDER    200000   /* search order for the "default" resolver domain name */
 
@@ -75,10 +74,12 @@ __BEGIN_DECLS
 /*
  * DNS configuration access APIs
  */
 /*
  * DNS configuration access APIs
  */
-const char *   dns_configuration_notify_key    ();
-dns_config_t * dns_configuration_copy          ();
-void           dns_configuration_free          (dns_config_t *config);
+const char *   dns_configuration_notify_key    ()                      AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+dns_config_t * dns_configuration_copy          ()                      AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+void           dns_configuration_free          (dns_config_t *config)  AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
 
 __END_DECLS
 
 
 __END_DECLS
 
-#endif __DNSINFO_H__
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
+
+#endif /* __DNSINFO_H__ */
index fd2d6fbf38a924e849d3dd1a006e310676c24cad..f8d019a20e6515d83bd7e3615b9b6d1e73ac87fe 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004, 2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #ifndef __DNSINFO_CREATE_H__
 #define __DNSINFO_CREATE_H__
 
 #ifndef __DNSINFO_CREATE_H__
 #define __DNSINFO_CREATE_H__
 
-
 /*
  * These routines provide access to the systems DNS configuration
  */
 
 /*
  * These routines provide access to the systems DNS configuration
  */
 
-
+#include <AvailabilityMacros.h>
+#include <sys/cdefs.h>
 #include <stdint.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 
 #include <stdint.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 
-#include <sys/cdefs.h>
-
-
 #include <dnsinfo.h>
 
 #include <dnsinfo.h>
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
 
 typedef const struct __dns_create_config *      dns_create_config_t;
 typedef const struct __dns_create_resolver *    dns_create_resolver_t;
 
 
 typedef const struct __dns_create_config *      dns_create_config_t;
 typedef const struct __dns_create_resolver *    dns_create_resolver_t;
 
-
 __BEGIN_DECLS
 
 /*
 __BEGIN_DECLS
 
 /*
@@ -71,4 +68,6 @@ void                  _dns_resolver_free              (dns_create_resolver_t *_resolver);
 
 __END_DECLS
 
 
 __END_DECLS
 
-#endif __DNSINFO_CREATE_H__
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
+
+#endif /* __DNSINFO_CREATE_H__ */
index 378787c15929e64fcd45df5b29873cd8ff105f13..5e6ac0e5a04f8c2622eebd4e052ec4d7edf8cfed 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004, 2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -25,6 +25,8 @@
 #define __DNSINFO_PRIVATE_H__
 
 
 #define __DNSINFO_PRIVATE_H__
 
 
+#include <AvailabilityMacros.h>
+#include <sys/cdefs.h>
 #include <stdint.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <stdint.h>
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -33,6 +35,7 @@
 
 #include "dnsinfo.h"
 
 
 #include "dnsinfo.h"
 
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
 
 /*
  * What's all of this stuff about???
 
 /*
  * What's all of this stuff about???
@@ -178,7 +181,13 @@ typedef struct {
 } _dns_resolver_buf_t;
 
 
 } _dns_resolver_buf_t;
 
 
-const char *    _dns_configuration_notify_key();
-mach_port_t    _dns_configuration_server_port();
+__BEGIN_DECLS
 
 
-#endif __DNSINFO_PRIVATE_H__
+const char *    _dns_configuration_notify_key()                AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+mach_port_t    _dns_configuration_server_port()        AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+__END_DECLS
+
+#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */
+
+#endif /* __DNSINFO_PRIVATE_H__ */
index a7bb46c57eee502f3eb4156e66c7af3b7df9f632..f6133eb0263fe80fecdf6504650a635e4041392f 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2004, 2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -602,6 +602,106 @@ _show_interface(SCNetworkInterfaceRef interface, CFStringRef prefix, Boolean sho
 /* -------------------- */
 
 
 /* -------------------- */
 
 
+static Boolean
+validateMediaOptions(CFStringRef interfaceName, CFMutableDictionaryRef newConfiguration)
+{
+       Boolean         ok      = TRUE;
+       CFNumberRef     mtu;
+       CFArrayRef      options;
+       CFStringRef     subtype;
+
+       mtu = CFDictionaryGetValue(newConfiguration, kSCPropNetEthernetMTU);
+       if (isA_CFNumber(mtu)) {
+               int     mtu_max;
+               int     mtu_min;
+               int     mtu_val;
+
+               if (!NetworkInterfaceCopyMTU(interfaceName, NULL, &mtu_min, &mtu_max)) {
+                       SCPrint(TRUE, stdout, CFSTR("cannot set MTU\n"));
+                       return FALSE;
+               }
+
+               if (!CFNumberGetValue(mtu, kCFNumberIntType, &mtu_val) ||
+                   (mtu_val < mtu_min) ||
+                   (mtu_val > mtu_max)) {
+                       SCPrint(TRUE, stdout, CFSTR("mtu out of range\n"));
+                       return FALSE;
+               }
+       }
+
+       subtype = CFDictionaryGetValue(newConfiguration, kSCPropNetEthernetMediaSubType);
+       options = CFDictionaryGetValue(newConfiguration, kSCPropNetEthernetMediaOptions);
+
+       if (subtype != NULL) {
+               CFArrayRef      available       = NULL;
+               CFArrayRef      config_options  = options;
+               CFArrayRef      subtypes        = NULL;
+               CFArrayRef      subtype_options = NULL;
+
+               ok = FALSE;
+
+               if (options == NULL) {
+                       config_options = CFArrayCreate(NULL, NULL, 0, &kCFTypeArrayCallBacks);
+               }
+
+               if (interfaceName == NULL) {
+                       SCPrint(TRUE, stdout, CFSTR("media type / options not available\n"));
+                       goto checked;
+               }
+
+               if (!NetworkInterfaceCopyMediaOptions(interfaceName, NULL, NULL, &available, FALSE)) {
+                       SCPrint(TRUE, stdout, CFSTR("media type / options not available\n"));
+                       goto checked;
+               }
+
+               if (available == NULL) {
+                       goto checked;
+               }
+
+               subtypes = NetworkInterfaceCopyMediaSubTypes(available);
+               if ((subtypes == NULL) ||
+                   !CFArrayContainsValue(subtypes,
+                                        CFRangeMake(0, CFArrayGetCount(subtypes)),
+                                        subtype)) {
+                       SCPrint(TRUE, stdout, CFSTR("media type not valid\n"));
+                       goto checked;
+               }
+
+               subtype_options = NetworkInterfaceCopyMediaSubTypeOptions(available, subtype);
+               if ((subtype_options == NULL) ||
+                   !CFArrayContainsValue(subtype_options,
+                                         CFRangeMake(0, CFArrayGetCount(subtype_options)),
+                                         config_options)) {
+                       SCPrint(TRUE, stdout, CFSTR("media options not valid for \"%@\"\n"), subtype);
+                       goto checked;
+               }
+
+               if (options == NULL) {
+                       CFDictionarySetValue(newConfiguration, kSCPropNetEthernetMediaOptions, config_options);
+               }
+
+               ok = TRUE;
+
+           checked :
+
+               if (available       != NULL)    CFRelease(available);
+               if (subtypes        != NULL)    CFRelease(subtypes);
+               if (subtype_options != NULL)    CFRelease(subtype_options);
+               if (options         == NULL)    CFRelease(config_options);
+       } else {
+               if (options != NULL) {
+                       SCPrint(TRUE, stdout, CFSTR("media type and options must both be specified\n"));
+                       return FALSE;
+               }
+       }
+
+       return ok;
+}
+
+
+/* -------------------- */
+
+
 __private_extern__
 void
 show_interfaces(int argc, char **argv)
 __private_extern__
 void
 show_interfaces(int argc, char **argv)
@@ -675,11 +775,40 @@ SCPrint(TRUE, stdout, CFSTR("bond interface management not yet supported\n"));
 /* -------------------- */
 
 
 /* -------------------- */
 
 
+static options airportOptions[] = {
+       { "mtu"       , NULL, isNumber     , &kSCPropNetEthernetMTU         , NULL, NULL },
+       { "media"     , NULL, isString     , &kSCPropNetEthernetMediaSubType, NULL, NULL },
+       { "mediaopt"  , NULL, isStringArray, &kSCPropNetEthernetMediaOptions, NULL, NULL },
+
+       { "?"         , NULL , isHelp     , NULL                            , NULL,
+           "\nAirPort configuration commands\n\n"
+           " set interface [mtu n] [media type] [mediaopts opts]\n"
+       }
+};
+#define        N_AIRPORT_OPTIONS       (sizeof(airportOptions) / sizeof(airportOptions[0]))
+
+
 static Boolean
 set_interface_airport(int argc, char **argv, CFMutableDictionaryRef newConfiguration)
 {
 static Boolean
 set_interface_airport(int argc, char **argv, CFMutableDictionaryRef newConfiguration)
 {
-SCPrint(TRUE, stdout, CFSTR("airport interface management not yet supported\n"));
-       return FALSE;
+       CFStringRef     interfaceName;
+       Boolean         ok;
+
+       interfaceName = SCNetworkInterfaceGetBSDName(net_interface);
+       if (interfaceName == NULL) {
+               SCPrint(TRUE, stdout, CFSTR("no BSD interface\n"));
+               return FALSE;
+       }
+
+       ok = _process_options(airportOptions, N_AIRPORT_OPTIONS, argc, argv, newConfiguration);
+       if (ok) {
+               // validate configuration
+               if (!validateMediaOptions(interfaceName, newConfiguration)) {
+                       return FALSE;
+               }
+       }
+
+       return ok;
 }
 
 
 }
 
 
@@ -713,95 +842,49 @@ set_interface_ethernet(int argc, char **argv, CFMutableDictionaryRef newConfigur
 
        ok = _process_options(ethernetOptions, N_ETHERNET_OPTIONS, argc, argv, newConfiguration);
        if (ok) {
 
        ok = _process_options(ethernetOptions, N_ETHERNET_OPTIONS, argc, argv, newConfiguration);
        if (ok) {
-               CFNumberRef     mtu;
-               CFArrayRef      options;
-               CFStringRef     subtype;
-
                // validate configuration
                // validate configuration
-
-               mtu = CFDictionaryGetValue(newConfiguration, kSCPropNetEthernetMTU);
-               if (isA_CFNumber(mtu)) {
-                       int     mtu_max;
-                       int     mtu_min;
-                       int     mtu_val;
-
-                       if (!NetworkInterfaceCopyMTU(interfaceName, NULL, &mtu_min, &mtu_max)) {
-                               SCPrint(TRUE, stdout, CFSTR("cannot set MTU\n"));
-                               return FALSE;
-                       }
-
-                       if (!CFNumberGetValue(mtu, kCFNumberIntType, &mtu_val) ||
-                           (mtu_val < mtu_min) ||
-                           (mtu_val > mtu_max)) {
-                               SCPrint(TRUE, stdout, CFSTR("mtu out of range\n"));
-                               return FALSE;
-                       }
+               if (!validateMediaOptions(interfaceName, newConfiguration)) {
+                       return FALSE;
                }
                }
+       }
 
 
-               subtype = CFDictionaryGetValue(newConfiguration, kSCPropNetEthernetMediaSubType);
-               options = CFDictionaryGetValue(newConfiguration, kSCPropNetEthernetMediaOptions);
-
-               if (subtype != NULL) {
-                       CFArrayRef      available       = NULL;
-                       CFArrayRef      config_options  = options;
-                       CFArrayRef      subtypes        = NULL;
-                       CFArrayRef      subtype_options = NULL;
-
-                       ok = FALSE;
-
-                       if (options == NULL) {
-                               config_options = CFArrayCreate(NULL, NULL, 0, &kCFTypeArrayCallBacks);
-                       }
+       return ok;
+}
 
 
-                       if (interfaceName == NULL) {
-                               SCPrint(TRUE, stdout, CFSTR("media type / options not available\n"));
-                               goto checked;
-                       }
 
 
-                       if (!NetworkInterfaceCopyMediaOptions(interfaceName, NULL, NULL, &available, FALSE)) {
-                               SCPrint(TRUE, stdout, CFSTR("media type / options not available\n"));
-                               goto checked;
-                       }
+/* -------------------- */
 
 
-                       if (available == NULL) {
-                               goto checked;
-                       }
 
 
-                       subtypes = NetworkInterfaceCopyMediaSubTypes(available);
-                       if ((subtypes == NULL) ||
-                           !CFArrayContainsValue(subtypes,
-                                                CFRangeMake(0, CFArrayGetCount(subtypes)),
-                                                subtype)) {
-                               SCPrint(TRUE, stdout, CFSTR("media type not valid\n"));
-                               goto checked;
-                       }
+static options firewireOptions[] = {
+       { "mtu"       , NULL, isNumber     , &kSCPropNetEthernetMTU         , NULL, NULL },
+       { "media"     , NULL, isString     , &kSCPropNetEthernetMediaSubType, NULL, NULL },
+       { "mediaopt"  , NULL, isStringArray, &kSCPropNetEthernetMediaOptions, NULL, NULL },
 
 
-                       subtype_options = NetworkInterfaceCopyMediaSubTypeOptions(available, subtype);
-                       if ((subtype_options == NULL) ||
-                           !CFArrayContainsValue(subtype_options,
-                                                 CFRangeMake(0, CFArrayGetCount(subtype_options)),
-                                                 config_options)) {
-                               SCPrint(TRUE, stdout, CFSTR("media options not valid for \"%@\"\n"), subtype);
-                               goto checked;
-                       }
+       { "?"         , NULL , isHelp     , NULL                            , NULL,
+           "\nFireWire configuration commands\n\n"
+           " set interface [mtu n] [media type] [mediaopts opts]\n"
+       }
+};
+#define        N_FIREWIRE_OPTIONS      (sizeof(firewireOptions) / sizeof(firewireOptions[0]))
 
 
-                       if (options == NULL) {
-                               CFDictionarySetValue(newConfiguration, kSCPropNetEthernetMediaOptions, config_options);
-                       }
 
 
-                       ok = TRUE;
+static Boolean
+set_interface_firewire(int argc, char **argv, CFMutableDictionaryRef newConfiguration)
+{
+       CFStringRef     interfaceName;
+       Boolean         ok;
 
 
-                   checked :
+       interfaceName = SCNetworkInterfaceGetBSDName(net_interface);
+       if (interfaceName == NULL) {
+               SCPrint(TRUE, stdout, CFSTR("no BSD interface\n"));
+               return FALSE;
+       }
 
 
-                       if (available       != NULL)    CFRelease(available);
-                       if (subtypes        != NULL)    CFRelease(subtypes);
-                       if (subtype_options != NULL)    CFRelease(subtype_options);
-                       if (options         == NULL)    CFRelease(config_options);
-               } else {
-                       if (options != NULL) {
-                               SCPrint(TRUE, stdout, CFSTR("media type and options must both be specified\n"));
-                               return FALSE;
-                       }
+       ok = _process_options(firewireOptions, N_FIREWIRE_OPTIONS, argc, argv, newConfiguration);
+       if (ok) {
+               // validate configuration
+               if (!validateMediaOptions(interfaceName, newConfiguration)) {
+                       return FALSE;
                }
        }
 
                }
        }
 
@@ -1084,6 +1167,8 @@ set_interface(int argc, char **argv)
                ok = set_interface_bond(argc, argv, newConfiguration);
        } else if (CFEqual(interfaceType, kSCNetworkInterfaceTypeEthernet)) {
                ok = set_interface_ethernet(argc, argv, newConfiguration);
                ok = set_interface_bond(argc, argv, newConfiguration);
        } else if (CFEqual(interfaceType, kSCNetworkInterfaceTypeEthernet)) {
                ok = set_interface_ethernet(argc, argv, newConfiguration);
+       } else if (CFEqual(interfaceType, kSCNetworkInterfaceTypeFireWire)) {
+               ok = set_interface_firewire(argc, argv, newConfiguration);
        } else if (CFEqual(interfaceType, kSCNetworkInterfaceTypeModem)) {
                ok = set_interface_modem(argc, argv, newConfiguration);
        } else if (CFEqual(interfaceType, kSCNetworkInterfaceTypeIEEE80211)) {
        } else if (CFEqual(interfaceType, kSCNetworkInterfaceTypeModem)) {
                ok = set_interface_modem(argc, argv, newConfiguration);
        } else if (CFEqual(interfaceType, kSCNetworkInterfaceTypeIEEE80211)) {
index 633556b92317a3e0b471f4d4f46a248f182f90a2..208f89b45d3e20028702434060c3d6dc14541817 100644 (file)
@@ -96,7 +96,7 @@ _copyStringFromSTDIN()
                buf[--len] = '\0';
        }
 
                buf[--len] = '\0';
        }
 
-       utf8 = CFStringCreateWithBytes(NULL, buf, len, kCFStringEncodingUTF8, TRUE);
+       utf8 = CFStringCreateWithBytes(NULL, (UInt8 *)buf, len, kCFStringEncodingUTF8, TRUE);
        return utf8;
 }
 
        return utf8;
 }
 
index 51c9a8b0da67ee3f792b618bb443de93b05f1f16..aa9331f8da6295df1c0e937093e5d72e5fa5ed23 100644 (file)
@@ -208,7 +208,7 @@ do_showDNSConfiguration(int argc, char **argv)
                        }
 
                        if (resolver->port != 0) {
                        }
 
                        if (resolver->port != 0) {
-                               SCPrint(TRUE, stdout, CFSTR("  port    : %hd\n"), ntohs(resolver->port));
+                               SCPrint(TRUE, stdout, CFSTR("  port    : %hd\n"), resolver->port);
                        }
 
                        if (resolver->timeout != 0) {
                        }
 
                        if (resolver->timeout != 0) {