this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Use real SystemConfiguration headers They are under APSL

+7004 -179
-14
src/SystemConfiguration/CMakeLists.txt
··· 1 1 project(SystemConfiguration) 2 2 3 - cmake_minimum_required(VERSION 2.4.0) 4 - if(COMMAND cmake_policy) 5 - cmake_policy(SET CMP0003 NEW) 6 - endif(COMMAND cmake_policy) 7 - 8 - 9 - #configure_file(config.h.in config.h) 10 3 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 11 4 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -nostdinc") 12 - 13 - include_directories(${CMAKE_CURRENT_SOURCE_DIR}) 14 - include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..) 15 - include_directories(${CMAKE_SOURCE_DIR}/src/external/corefoundation/) 16 - include_directories(${CMAKE_SOURCE_DIR}/src/external/foundation/include) 17 - include_directories(${CMAKE_SOURCE_DIR}/src/external/libclosure) 18 - include_directories(${CMAKE_SOURCE_DIR}/src/launchd/liblaunch) 19 5 20 6 set(SystemConfiguration_SRCS 21 7 SCDynamicStoreCopySpecific.cpp
-1
src/SystemConfiguration/SCDynamicStore.h
··· 1 - typedef const struct __SCDynamicStore * SCDynamicStoreRef;
-23
src/SystemConfiguration/SCDynamicStoreCopySpecific.h
··· 1 - #ifndef SCDYNAMICSTORECOPYSPECIFIC_H 2 - #define SCDYNAMICSTORECOPYSPECIFIC_H 3 - 4 - #include <CoreFoundation/CoreFoundation.h> 5 - #include <SystemConfiguration/SCDynamicStore.h> 6 - #include <SystemConfiguration/SCSchemaDefinitions.h> 7 - 8 - #ifdef __cplusplus 9 - extern "C" { 10 - #endif 11 - 12 - CFStringRef SCDynamicStoreCopyComputerName (SCDynamicStoreRef store, CFStringEncoding *nameEncoding); 13 - CFStringRef SCDynamicStoreCopyConsoleUser (SCDynamicStoreRef store, uid_t *uid, gid_t *gid); 14 - CFStringRef SCDynamicStoreCopyLocalHostName (SCDynamicStoreRef store); 15 - CFStringRef SCDynamicStoreCopyLocation (SCDynamicStoreRef store); 16 - CFDictionaryRef SCDynamicStoreCopyProxies (SCDynamicStoreRef store); 17 - 18 - #ifdef __cplusplus 19 - } 20 - #endif 21 - 22 - #endif 23 -
+8 -3
src/SystemConfiguration/SCNetworkConnection.c
··· 1 - #include "SCNetworkConnection.h" 1 + #include <SystemConfiguration/SCNetworkConnection.h> 2 + 2 3 CFTypeID SCNetworkConnectionGetTypeID(void) 3 4 { 4 5 return 0; ··· 24 25 return 0; 25 26 } 26 27 27 - Boolean SCNetworkConnectionCopyUserPreferences(CFDictionaryRef selectionOptions, CFStringRef serviceID, CFDictionaryRef* userOptions) 28 - { 28 + Boolean 29 + SCNetworkConnectionCopyUserPreferences ( 30 + CFDictionaryRef __nullable selectionOptions, 31 + CFStringRef __nonnull * __nullable serviceID, 32 + CFDictionaryRef __nonnull * __nullable userOptions 33 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA) { 29 34 return 0; 30 35 } 31 36
-44
src/SystemConfiguration/SCNetworkConnection.h
··· 1 - #ifndef _SCNETWORKCONNECTION_H 2 - #define _SCNETWORKCONNECTION_H 3 - #include <CoreFoundation/CFString.h> 4 - #include <CoreFoundation/CFRunLoop.h> 5 - #include <CoreFoundation/CFDictionary.h> 6 - 7 - typedef struct __SCNetworkConnection* SCNetworkConnectionRef; 8 - typedef int SCNetworkConnectionFlags; 9 - typedef int SCNetworkConnectionStatus; 10 - 11 - enum { 12 - kSCNetworkConnectionInvalid = -1, 13 - kSCNetworkConnectionDisconnected, 14 - kSCNetworkConnectionConnecting, 15 - kSCNetworkConnectionConnected, 16 - kSCNetworkConnectionDisconnecting 17 - }; 18 - 19 - typedef void (*SCNetworkConnectionCallBack)(SCNetworkConnectionRef, SCNetworkConnectionStatus, void*); 20 - 21 - typedef struct 22 - { 23 - CFIndex version; 24 - void* info; 25 - const void* (*retain)(const void*); 26 - void (*release)(const void*); 27 - CFStringRef (*copyDescription)(const void*); 28 - } SCNetworkConnectionContext; 29 - 30 - CFTypeID SCNetworkConnectionGetTypeID(void); 31 - 32 - Boolean SCNetworkConnectionScheduleWithRunLoop(SCNetworkConnectionRef ref, CFRunLoopRef rl, CFStringRef rlMode); 33 - Boolean SCNetworkConnectionUnscheduleFromRunLoop(SCNetworkConnectionRef ref, CFRunLoopRef rl, CFStringRef rlMode); 34 - 35 - Boolean SCNetworkConnectionStop(SCNetworkConnectionRef ref, Boolean force); 36 - 37 - Boolean SCNetworkConnectionStart(SCNetworkConnectionRef ref, CFDictionaryRef userOptions, Boolean linger); 38 - 39 - Boolean SCNetworkConnectionCopyUserPreferences(CFDictionaryRef selectionOptions, CFStringRef serviceID, CFDictionaryRef* userOptions); 40 - 41 - SCNetworkConnectionRef SCNetworkConnectionCreateWithServiceID(CFAllocatorRef allocator, CFStringRef serviceID, SCNetworkConnectionCallBack cb, SCNetworkConnectionContext* ctxt); 42 - 43 - #endif 44 -
+1 -1
src/SystemConfiguration/SCNetworkReachability.c
··· 1 - #include "SCNetworkReachability.h" 1 + #include <SystemConfiguration/SCNetworkReachability.h> 2 2 3 3 CFTypeID SCNetworkReachabilityGetTypeID(void) 4 4 {
-40
src/SystemConfiguration/SCNetworkReachability.h
··· 1 - #ifndef _SCNETWORKREACHABILITY_H 2 - #define _SCNETWORKREACHABILITY_H 3 - #include <CoreFoundation/CFBase.h> 4 - #include <CoreFoundation/CFString.h> 5 - #include <CoreFoundation/CFRunLoop.h> 6 - #include <sys/types.h> 7 - #include <sys/socket.h> 8 - 9 - typedef struct __SCNetworkReachability* SCNetworkReachabilityRef; 10 - 11 - CFTypeID SCNetworkReachabilityGetTypeID(void); 12 - 13 - enum { 14 - kSCNetworkReachabilityFlagsReachable = 1 << 1, 15 - }; 16 - 17 - typedef int SCNetworkReachabilityFlags; 18 - typedef void (*SCNetworkReachabilityCallBack)(SCNetworkReachabilityRef, SCNetworkConnectionFlags, void*); 19 - 20 - typedef struct 21 - { 22 - CFIndex version; 23 - void* info; 24 - const void* (*retain)(const void*); 25 - void (*release)(const void*); 26 - CFStringRef (*copyDescription)(const void*); 27 - } SCNetworkReachabilityContext; 28 - 29 - Boolean SCNetworkReachabilityScheduleWithRunLoop(SCNetworkReachabilityRef ref, CFRunLoopRef rl, CFStringRef rlMode); 30 - Boolean SCNetworkReachabilityUnscheduleFromRunLoop(SCNetworkReachabilityRef ref, CFRunLoopRef rl, CFStringRef rlMode); 31 - 32 - Boolean SCNetworkReachabilitySetCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityCallBack cb, SCNetworkReachabilityContext* ctxt); 33 - 34 - Boolean SCNetworkReachabilityGetFlags(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags* flags); 35 - SCNetworkReachabilityRef SCNetworkReachabilityCreateWithName(CFAllocatorRef allocator, const char* nodeName); 36 - SCNetworkReachabilityRef SCNetworkReachabilityCreateWithAddressPair(CFAllocatorRef allocator, const struct sockaddr* localAddress, const struct sockaddr* remoteAddress); 37 - SCNetworkReachabilityRef SCNetworkReachabilityCreateWithAddress(CFAllocatorRef allocator, const struct sockaddr* remoteAddress); 38 - 39 - #endif 40 -
+1 -1
src/SystemConfiguration/SCSchemaDefinitions.c
··· 1 - #include "SCSchemaDefinitions.h" 1 + #include <SystemConfiguration/SCSchemaDefinitions.h> 2 2 #include <CoreFoundation/CFString.h> 3 3 4 4 #ifndef CONST_STRING_DECL
-40
src/SystemConfiguration/SCSchemaDefinitions.h
··· 1 - #ifndef SCSCHEMADEFINITIONS_H 2 - #define SCSCHEMADEFINITIONS_H 3 - #include <CoreFoundation/CFString.h> 4 - 5 - #ifdef __cplusplus 6 - extern "C" { 7 - #endif 8 - 9 - extern const CFStringRef kSCPropNetProxiesExceptionsList; 10 - extern const CFStringRef kSCPropNetProxiesExcludeSimpleHostnames; 11 - extern const CFStringRef kSCPropNetProxiesFTPEnable; 12 - extern const CFStringRef kSCPropNetProxiesFTPPassive; 13 - extern const CFStringRef kSCPropNetProxiesFTPPort; 14 - extern const CFStringRef kSCPropNetProxiesFTPProxy; 15 - extern const CFStringRef kSCPropNetProxiesGopherEnable; 16 - extern const CFStringRef kSCPropNetProxiesGopherPort; 17 - extern const CFStringRef kSCPropNetProxiesGopherProxy; 18 - extern const CFStringRef kSCPropNetProxiesHTTPEnable; 19 - extern const CFStringRef kSCPropNetProxiesHTTPPort; 20 - extern const CFStringRef kSCPropNetProxiesHTTPProxy; 21 - extern const CFStringRef kSCPropNetProxiesHTTPSEnable; 22 - extern const CFStringRef kSCPropNetProxiesHTTPSPort; 23 - extern const CFStringRef kSCPropNetProxiesHTTPSProxy; 24 - extern const CFStringRef kSCPropNetProxiesRTSPEnable; 25 - extern const CFStringRef kSCPropNetProxiesRTSPPort; 26 - extern const CFStringRef kSCPropNetProxiesRTSPProxy; 27 - extern const CFStringRef kSCPropNetProxiesSOCKSEnable; 28 - extern const CFStringRef kSCPropNetProxiesSOCKSPort; 29 - extern const CFStringRef kSCPropNetProxiesSOCKSProxy; 30 - extern const CFStringRef kSCPropNetProxiesProxyAutoConfigEnable; 31 - extern const CFStringRef kSCPropNetProxiesProxyAutoConfigJavaScript; 32 - extern const CFStringRef kSCPropNetProxiesProxyAutoConfigURLString; 33 - extern const CFStringRef kSCPropNetProxiesProxyAutoDiscoveryEnable; 34 - 35 - #ifdef __cplusplus 36 - } 37 - #endif 38 - 39 - #endif 40 -
-1
src/SystemConfiguration/SystemConfiguration
··· 1 - .
-11
src/SystemConfiguration/SystemConfiguration.h
··· 1 - #ifndef _SYSTEMCONFIGURATION_H 2 - #define _SYSTEMCONFIGURATION_H 3 - 4 - #include <SystemConfiguration/SCDynamicStoreCopySpecific.h> 5 - #include <SystemConfiguration/SCDynamicStore.h> 6 - #include <SystemConfiguration/SCSchemaDefinitions.h> 7 - #include <SystemConfiguration/SCNetworkConnection.h> 8 - #include <SystemConfiguration/SCNetworkReachability.h> 9 - 10 - #endif 11 -
+165
src/SystemConfiguration/include/SystemConfiguration/CaptiveNetwork.h
··· 1 + /* 2 + * Copyright (c) 2009-2016 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _CAPTIVENETWORK_H 25 + #define _CAPTIVENETWORK_H 26 + 27 + #include <Availability.h> 28 + #include <sys/cdefs.h> 29 + #include <CoreFoundation/CoreFoundation.h> 30 + 31 + CF_IMPLICIT_BRIDGING_ENABLED 32 + CF_ASSUME_NONNULL_BEGIN 33 + 34 + /*! 35 + @header CaptiveNetwork 36 + @discussion The CaptiveNetwork API allows applications to interact 37 + with Captive Network Support. Captive Network Support is a 38 + system component responsible for detecting and help users 39 + navigate networks that require interaction before providing 40 + internet access. The most common Captive Networks are WiFi 41 + Hotspots in places like airports, restaurants, and hotels. 42 + Captive Network Support will attempt to authenticate if 43 + possible or drop a user in to a web sheet if authentication 44 + is not possible. In the web sheet the user has an opportunity 45 + to authenticate or disassociate from the network. 46 + 47 + The following APIs are designed for third party applications 48 + that may handle authentication on these networks on behalf of 49 + the user. 50 + 51 + These APIs are treated as advisory only. 52 + There is no guarantee or contract that the operating system 53 + will take the intended action. 54 + */ 55 + 56 + __BEGIN_DECLS 57 + 58 + /*! 59 + @function CNSetSupportedSSIDs 60 + @discussion Provides Captive Network Support with an updated list of 61 + SSIDs that this application will perform authentication on. 62 + 63 + Captive Network Support suppresses showing the Web Sheet 64 + for a captive Wi-Fi network if that network's SSID is in the 65 + specified list. 66 + 67 + On iOS, the registrations persist until the application is 68 + removed from the device. 69 + 70 + On MacOSX, the registrations persist as long as the application 71 + is running. 72 + 73 + @param ssidArray A CFArray of CFStrings of the SSIDs. 74 + @result Returns TRUE if the operation succeeded, FALSE otherwise. 75 + */ 76 + Boolean 77 + CNSetSupportedSSIDs (CFArrayRef ssidArray) 78 + __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_8, __MAC_NA, 79 + __IPHONE_4_0, __IPHONE_9_0, 80 + "Replaced by <NetworkExtension/NEHotspotHelper.h>"); 81 + 82 + /*! 83 + @function CNMarkPortalOnline 84 + @discussion Tells Captive Network Support that your application has 85 + authenticated the device to the network. Captive Network Support 86 + will notify the rest of the system that WiFi is now a viable 87 + interface. 88 + @param interfaceName Name of the interface that is now online. 89 + @result Returns TRUE if the operation succeeded, FALSE otherwise. 90 + */ 91 + Boolean 92 + CNMarkPortalOnline (CFStringRef interfaceName) 93 + __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_8, __MAC_NA, 94 + __IPHONE_4_0, __IPHONE_9_0, 95 + "Replaced by <NetworkExtension/NEHotspotHelper.h>"); 96 + 97 + /*! 98 + @function CNMarkPortalOffline 99 + @discussion Tells Captive Network Support that the device is not 100 + authenticated on the given network interface. 101 + @param interfaceName Name of the interface that is still captive. 102 + @result Returns TRUE if the operation succeeded, FALSE otherwise. 103 + */ 104 + Boolean 105 + CNMarkPortalOffline (CFStringRef interfaceName) 106 + __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_8, __MAC_NA, 107 + __IPHONE_4_0, __IPHONE_9_0, 108 + "Replaced by <NetworkExtension/NEHotspotHelper.h>"); 109 + 110 + /*! 111 + @function CNCopySupportedInterfaces 112 + @discussion copies a list of all interfaces CaptiveNetworkSupport is monitoring. 113 + @result An array of CFStringRef- BSD interface names. 114 + Returns NULL if an error was encountered. 115 + You MUST release the returned value. 116 + */ 117 + CFArrayRef __nullable 118 + CNCopySupportedInterfaces (void) __OSX_AVAILABLE_STARTING(__MAC_10_8,__IPHONE_4_1); 119 + 120 + /*! 121 + @constant kCNNetworkInfoKeySSIDData 122 + @discussion NetworkInfo Dictionary key for SSID in CFData format 123 + */ 124 + extern const CFStringRef kCNNetworkInfoKeySSIDData __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_4_1); 125 + 126 + /*! 127 + @constant kCNNetworkInfoKeySSID 128 + @discussion NetworkInfo Dictionary key for SSID in CFString format 129 + */ 130 + extern const CFStringRef kCNNetworkInfoKeySSID __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_4_1); 131 + 132 + /*! 133 + @constant kCNNetworkInfoKeyBSSID 134 + @discussion NetworkInfo Dictionary key for BSSID in CFString format 135 + */ 136 + extern const CFStringRef kCNNetworkInfoKeyBSSID __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_4_1); 137 + 138 + /*! 139 + @function CNCopyCurrentNetworkInfo 140 + @discussion Returns the Network Info for the specified interface. 141 + For example, Network Info dictionary will contain the following 142 + keys, and values: 143 + <pre> 144 + @textblock 145 + Keys : Values 146 + ======================================= 147 + kCNNetworkInfoKeySSIDData : CFDataRef 148 + kCNNetworkInfoKeySSID : CFStringRef 149 + kCNNetworkInfoKeyBSSID : CFStringRef 150 + @/textblock 151 + </pre> 152 + @param interfaceName Name of the interface you are interested in 153 + @result Network Info dictionary associated with the interface. 154 + Returns NULL if an error was encountered. 155 + You MUST release the returned value. 156 + */ 157 + CFDictionaryRef __nullable 158 + CNCopyCurrentNetworkInfo (CFStringRef interfaceName) __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_4_1); 159 + 160 + __END_DECLS 161 + 162 + CF_ASSUME_NONNULL_END 163 + CF_IMPLICIT_BRIDGING_DISABLED 164 + 165 + #endif /* _CAPTIVENETWORK_H */
+83
src/SystemConfiguration/include/SystemConfiguration/DHCPClientPreferences.h
··· 1 + /* 2 + * Copyright (c) 2001, 2004, 2005, 2008, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _DHCPCLIENTPREFERENCES_H 25 + #define _DHCPCLIENTPREFERENCES_H 26 + 27 + #include <Availability.h> 28 + #include <sys/cdefs.h> 29 + #include <CoreFoundation/CFString.h> 30 + 31 + CF_IMPLICIT_BRIDGING_ENABLED 32 + CF_ASSUME_NONNULL_BEGIN 33 + 34 + /*! 35 + @header DHCPClientPreferences 36 + @discussion The DHCPClientPreferences API allows applications to get and update DHCP preferences. 37 + DHCP preferences are in the form of DHCP option codes, which are defined in RFC 2132. 38 + */ 39 + 40 + __BEGIN_DECLS 41 + 42 + /*! 43 + @function DHCPClientPreferencesSetApplicationOptions 44 + @discussion Updates the DHCP client preferences to include the 45 + given list of options for the given application ID. 46 + @param applicationID The application's preference ID, for example: 47 + "com.apple.SystemPreferences". 48 + @param options An array of 8-bit values containing the 49 + DHCP option codes (see RFC 2132) for this application ID. 50 + A NULL value will clear the list of options for this 51 + application ID. 52 + @param count The number of elements in the options parameter. 53 + @result Returns TRUE if the operation succeeded, FALSE otherwise. 54 + */ 55 + 56 + Boolean 57 + DHCPClientPreferencesSetApplicationOptions (CFStringRef applicationID, 58 + UInt8 * __nullable options, 59 + CFIndex count) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 60 + 61 + /*! 62 + @function DHCPClientPreferencesCopyApplicationOptions 63 + @discussion Copies the requested DHCP options for the 64 + given application ID. 65 + @param applicationID The application's preference ID, for example 66 + "com.apple.SystemPreferences". 67 + @param count The number of elements in the returned array. 68 + @result Returns the list of options for the given application ID, or 69 + NULL if no options are defined or an error occurred. 70 + 71 + When you are finished, use free() to release a non-NULL return value. 72 + */ 73 + 74 + UInt8 * __nullable 75 + DHCPClientPreferencesCopyApplicationOptions (CFStringRef applicationID, 76 + CFIndex *count) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 77 + 78 + __END_DECLS 79 + 80 + CF_ASSUME_NONNULL_END 81 + CF_IMPLICIT_BRIDGING_DISABLED 82 + 83 + #endif /* _DHCPCLIENTPREFERENCES_H */
+439
src/SystemConfiguration/include/SystemConfiguration/SCDynamicStore.h
··· 1 + /* 2 + * Copyright (c) 2000, 2001, 2003-2005, 2008-2010, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCDYNAMICSTORE_H 25 + #define _SCDYNAMICSTORE_H 26 + 27 + #include <Availability.h> 28 + #include <TargetConditionals.h> 29 + #include <sys/cdefs.h> 30 + #include <dispatch/dispatch.h> 31 + #include <CoreFoundation/CoreFoundation.h> 32 + 33 + CF_IMPLICIT_BRIDGING_ENABLED 34 + CF_ASSUME_NONNULL_BEGIN 35 + 36 + /*! 37 + @header SCDynamicStore 38 + @discussion The SCDynamicStore API provides access to the key-value 39 + pairs in the dynamic store of a running system. The dynamic 40 + store contains, among other items, a copy of the configuration 41 + settings for the currently active set (which is sometimes 42 + refered to as the location) and information about the current 43 + network state. 44 + 45 + The functions in the SCDynamicStore API allow you to find 46 + key-value pairs, add or remove key-value pairs, add or change 47 + values, and request notifications. 48 + 49 + To use the functions of the SCDynamicStore API, you must first 50 + establish a dynamic store session using the SCDynamicStoreCreate 51 + function. When you are finished with the session, use CFRelease 52 + to close it. 53 + */ 54 + 55 + 56 + /*! 57 + @typedef SCDynamicStoreRef 58 + @discussion This is the handle to an open a dynamic store session 59 + with the system configuration daemon. 60 + */ 61 + typedef const struct CF_BRIDGED_TYPE(id) __SCDynamicStore * SCDynamicStoreRef; 62 + 63 + /*! 64 + @typedef SCDynamicStoreContext 65 + Structure containing user-specified data and callbacks for an 66 + SCDynamicStore session. 67 + @field version The version number of the structure type being passed 68 + in as a parameter to the SCDynamicStore creation function. 69 + This structure is version 0. 70 + @field info A C pointer to a user-specified block of data. 71 + @field retain The callback used to add a retain for the info field. 72 + If this parameter is not a pointer to a function of the correct 73 + prototype, the behavior is undefined. The value may be NULL. 74 + @field release The calllback used to remove a retain previously added 75 + for the info field. If this parameter is not a pointer to a 76 + function of the correct prototype, the behavior is undefined. 77 + The value may be NULL. 78 + @field copyDescription The callback used to provide a description of 79 + the info field. 80 + */ 81 + typedef struct { 82 + CFIndex version; 83 + void * __nullable info; 84 + const void * __nonnull (* __nullable retain)(const void *info); 85 + void (* __nullable release)(const void *info); 86 + CFStringRef __nonnull (* __nullable copyDescription)(const void *info); 87 + } SCDynamicStoreContext; 88 + 89 + /*! 90 + @typedef SCDynamicStoreCallBack 91 + @discussion Type of callback function used when notification of 92 + changes to the dynamic store is delivered. 93 + @param store The dynamic store session. 94 + @param changedKeys The list of changed keys. 95 + 96 + The list includes any specific SCDynamicStore keys that 97 + changed (add, update, remove, notify) since the last call 98 + to SCDynamicStoreSetNotificationKeys or since the last 99 + notification callback. The list also includes any specific 100 + keys matching one of the pattern string(s) that changed. 101 + 102 + An empty list indicates that the SCDynamicStore server 103 + restarted and that any assumptions based on prior content 104 + of the SCDynamicStore should be disgarded. 105 + 106 + @param info A C pointer to a user-specified block of data. 107 + */ 108 + typedef void (*SCDynamicStoreCallBack) ( 109 + SCDynamicStoreRef store, 110 + CFArrayRef changedKeys, 111 + void * __nullable info 112 + ); 113 + 114 + 115 + __BEGIN_DECLS 116 + 117 + /*! 118 + @function SCDynamicStoreGetTypeID 119 + @discussion Returns the type identifier of all SCDynamicStore instances. 120 + */ 121 + CFTypeID 122 + SCDynamicStoreGetTypeID (void) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 123 + 124 + 125 + /*! 126 + @function SCDynamicStoreCreate 127 + @discussion Creates a new session used to interact with the dynamic 128 + store maintained by the System Configuration server. 129 + @param allocator The CFAllocator that should be used to allocate 130 + memory for the local dynamic store object. 131 + This parameter may be NULL in which case the current 132 + default CFAllocator is used. If this reference is not 133 + a valid CFAllocator, the behavior is undefined. 134 + @param name A string that describes the name of the calling 135 + process or plug-in of the caller. 136 + @param callout The function to be called when a watched value 137 + in the dynamic store is changed. 138 + A NULL value can be specified if no callouts are 139 + desired. 140 + @param context The SCDynamicStoreContext associated with the callout. 141 + @result Returns a reference to the new SCDynamicStore session. 142 + You must release the returned value. 143 + */ 144 + SCDynamicStoreRef __nullable 145 + SCDynamicStoreCreate ( 146 + CFAllocatorRef __nullable allocator, 147 + CFStringRef name, 148 + SCDynamicStoreCallBack __nullable callout, 149 + SCDynamicStoreContext * __nullable context 150 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 151 + 152 + /*! 153 + @function SCDynamicStoreCreateWithOptions 154 + @discussion Creates a new session used to interact with the dynamic 155 + store maintained by the System Configuration server. 156 + @param allocator The CFAllocator that should be used to allocate 157 + memory for the local dynamic store object. 158 + This parameter may be NULL in which case the current 159 + default CFAllocator is used. If this reference is not 160 + a valid CFAllocator, the behavior is undefined. 161 + @param name A string that describes the name of the calling 162 + process or plug-in of the caller. 163 + @param storeOptions A CFDictionary containing options for the 164 + dynamic store session (such as whether all keys added or set 165 + into the dynamic store should be per-session keys). 166 + 167 + Currently available options include: 168 + 169 + <TABLE BORDER> 170 + <TR> 171 + <TH>key</TD> 172 + <TH>value</TD> 173 + </TR> 174 + <TR> 175 + <TD>kSCDynamicStoreUseSessionKeys</TD> 176 + <TD>CFBooleanRef</TD> 177 + </TR> 178 + </TABLE> 179 + 180 + A NULL value can be specified if no options are desired. 181 + @param callout The function to be called when a watched value 182 + in the dynamic store is changed. 183 + A NULL value can be specified if no callouts are 184 + desired. 185 + @param context The SCDynamicStoreContext associated with the callout. 186 + @result Returns a reference to the new SCDynamicStore session. 187 + You must release the returned value. 188 + */ 189 + SCDynamicStoreRef __nullable 190 + SCDynamicStoreCreateWithOptions ( 191 + CFAllocatorRef __nullable allocator, 192 + CFStringRef name, 193 + CFDictionaryRef __nullable storeOptions, 194 + SCDynamicStoreCallBack __nullable callout, 195 + SCDynamicStoreContext * __nullable context 196 + ) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 197 + 198 + extern const CFStringRef kSCDynamicStoreUseSessionKeys __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); /* CFBoolean */ 199 + 200 + /*! 201 + @function SCDynamicStoreCreateRunLoopSource 202 + @discussion Creates a CFRunLoopSource object that can be added to the 203 + application's run loop. All dynamic store notifications are 204 + delivered using this run loop source. 205 + @param allocator The CFAllocator that should be used to allocate 206 + memory for this run loop source. 207 + This parameter may be NULL in which case the current 208 + default CFAllocator is used. If this reference is not 209 + a valid CFAllocator, the behavior is undefined. 210 + @param store A reference to the dynamic store session. 211 + @param order On platforms which support it, for source versions 212 + which support it, this parameter determines the order in 213 + which the sources which are ready to be processed are 214 + handled. A lower order number causes processing before 215 + higher order number sources. It is inadvisable to depend 216 + on the order number for any architectural or design aspect 217 + of code. In the absence of any reason to do otherwise, 218 + zero should be used. 219 + @result A reference to the new CFRunLoopSource. 220 + You must release the returned value. 221 + 222 + */ 223 + CFRunLoopSourceRef __nullable 224 + SCDynamicStoreCreateRunLoopSource ( 225 + CFAllocatorRef __nullable allocator, 226 + SCDynamicStoreRef store, 227 + CFIndex order 228 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 229 + 230 + /*! 231 + @function SCDynamicStoreSetDispatchQueue 232 + @discussion Initiates notifications for the Notification 233 + Keys in store to the callback contained in store. 234 + @param store A reference to the dynamic store session. 235 + @param queue The dispatch queue to run the callback function on. 236 + Pass NULL to disable notifications, and release the queue. 237 + @result Returns TRUE on success, FALSE on failure. 238 + 239 + */ 240 + Boolean 241 + SCDynamicStoreSetDispatchQueue ( 242 + SCDynamicStoreRef store, 243 + dispatch_queue_t __nullable queue 244 + ) __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 245 + 246 + /*! 247 + @function SCDynamicStoreCopyKeyList 248 + @discussion Returns an array of CFString keys representing the 249 + current dynamic store entries that match a specified pattern. 250 + @param store The dynamic store session. 251 + @param pattern A regex(3) regular expression pattern 252 + used to match the dynamic store keys. 253 + @result Returns the list of matching keys; NULL if an error was 254 + encountered. 255 + You must release the returned value. 256 + */ 257 + CFArrayRef __nullable 258 + SCDynamicStoreCopyKeyList ( 259 + SCDynamicStoreRef __nullable store, 260 + CFStringRef pattern 261 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 262 + 263 + /*! 264 + @function SCDynamicStoreAddValue 265 + @discussion Adds the key-value pair to the dynamic store if no 266 + such key already exists. 267 + @param store The dynamic store session. 268 + @param key The key of the value to add to the dynamic store. 269 + @param value The value to add to the dynamic store. 270 + @result Returns TRUE if the key was added; FALSE if the key was already 271 + present in the dynamic store or if an error was encountered. 272 + */ 273 + Boolean 274 + SCDynamicStoreAddValue ( 275 + SCDynamicStoreRef __nullable store, 276 + CFStringRef key, 277 + CFPropertyListRef value 278 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 279 + 280 + /*! 281 + @function SCDynamicStoreAddTemporaryValue 282 + @discussion Temporarily adds the key-value pair to the dynamic store 283 + if no such key already exists. Unless the key is updated by another 284 + session, the key-value pair will be removed automatically when the 285 + session is closed. 286 + @param store The dynamic store session. 287 + @param key The key of the value to add to the dynamic store. 288 + @param value The value to add to the dynamic store. 289 + @result Returns TRUE if the key was added; FALSE if the key was already 290 + present in the dynamic store or if an error was encountered. 291 + */ 292 + Boolean 293 + SCDynamicStoreAddTemporaryValue ( 294 + SCDynamicStoreRef store, 295 + CFStringRef key, 296 + CFPropertyListRef value 297 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 298 + 299 + /*! 300 + @function SCDynamicStoreCopyValue 301 + @discussion Gets the value of the specified key from the dynamic store. 302 + @param store The dynamic store session. 303 + @param key The key associated with the value you want to get. 304 + @result Returns the value from the dynamic store that is associated with the given 305 + key; NULL if no value was located or an error was encountered. 306 + You must release the returned value. 307 + */ 308 + CFPropertyListRef __nullable 309 + SCDynamicStoreCopyValue ( 310 + SCDynamicStoreRef __nullable store, 311 + CFStringRef key 312 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 313 + 314 + /*! 315 + @function SCDynamicStoreCopyMultiple 316 + @discussion Gets the values of multiple keys in the dynamic store. 317 + @param store The dynamic store session. 318 + @param keys The keys associated with the values you want to get; NULL if no specific 319 + keys are requested. 320 + @param patterns An array of regex(3) pattern strings used to match the keys; NULL 321 + if no key patterns are requested. 322 + @result Returns a dictionary containing the key-value pairs of specific keys and the 323 + key-value pairs of keys that matched the specified patterns; 324 + NULL if an error was encountered. 325 + You must release the returned value. 326 + */ 327 + CFDictionaryRef __nullable 328 + SCDynamicStoreCopyMultiple ( 329 + SCDynamicStoreRef __nullable store, 330 + CFArrayRef __nullable keys, 331 + CFArrayRef __nullable patterns 332 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 333 + 334 + /*! 335 + @function SCDynamicStoreSetValue 336 + @discussion Adds or replaces a value in the dynamic store for 337 + the specified key. 338 + @param store The dynamic store session. 339 + @param key The key you want to set. 340 + @param value The value to add to or replace in the dynamic store. 341 + @result Returns TRUE if the key was updated; FALSE if an error was encountered. 342 + */ 343 + Boolean 344 + SCDynamicStoreSetValue ( 345 + SCDynamicStoreRef __nullable store, 346 + CFStringRef key, 347 + CFPropertyListRef value 348 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 349 + 350 + /*! 351 + @function SCDynamicStoreSetMultiple 352 + @discussion Updates multiple values in the dynamic store. 353 + @param store The dynamic store session. 354 + @param keysToSet A dictionary of key-value pairs you want to set into the dynamic store. 355 + @param keysToRemove An array of keys you want to remove from the dynamic store. 356 + @param keysToNotify An array of keys to flag as changed (without changing their values). 357 + @result Returns TRUE if the dynamic store updates were successful; FALSE if an error was encountered. 358 + */ 359 + Boolean 360 + SCDynamicStoreSetMultiple ( 361 + SCDynamicStoreRef __nullable store, 362 + CFDictionaryRef __nullable keysToSet, 363 + CFArrayRef __nullable keysToRemove, 364 + CFArrayRef __nullable keysToNotify 365 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 366 + 367 + /*! 368 + @function SCDynamicStoreRemoveValue 369 + @discussion Removes the value of the specified key from the 370 + dynamic store. 371 + @param store The dynamic store session. 372 + @param key The key of the value you want to remove. 373 + @result Returns TRUE if the key was removed; FALSE if no value was 374 + located or an error was encountered. 375 + */ 376 + Boolean 377 + SCDynamicStoreRemoveValue ( 378 + SCDynamicStoreRef __nullable store, 379 + CFStringRef key 380 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 381 + 382 + /*! 383 + @function SCDynamicStoreNotifyValue 384 + @discussion Triggers a notification to be delivered for the 385 + specified key in the dynamic store. 386 + @param store The dynamic store session. 387 + @param key The key that should be flagged as changed. Any dynamic store sessions 388 + that are monitoring this key will received a notification. Note that the 389 + key's value is not updated. 390 + @result Returns TRUE if the notification was processed; FALSE if an error was encountered. 391 + */ 392 + Boolean 393 + SCDynamicStoreNotifyValue ( 394 + SCDynamicStoreRef __nullable store, 395 + CFStringRef key 396 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 397 + 398 + /*! 399 + @function SCDynamicStoreSetNotificationKeys 400 + @discussion Specifies a set of specific keys and key patterns 401 + that should be monitored for changes. 402 + @param store The dynamic store session being watched. 403 + @param keys An array of keys to be monitored; NULL if no specific keys 404 + are to be monitored. 405 + @param patterns An array of regex(3) pattern strings used to match keys to be monitored; 406 + NULL if no key patterns are to be monitored. 407 + @result Returns TRUE if the set of notification keys and patterns was successfully 408 + updated; FALSE if an error was encountered. 409 + */ 410 + Boolean 411 + SCDynamicStoreSetNotificationKeys ( 412 + SCDynamicStoreRef store, 413 + CFArrayRef __nullable keys, 414 + CFArrayRef __nullable patterns 415 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 416 + 417 + /*! 418 + @function SCDynamicStoreCopyNotifiedKeys 419 + @discussion Returns an array of CFString keys representing the 420 + dynamic store entries that have changed since this 421 + function was last called. If possible, your application should 422 + use the notification functions instead of polling for the list 423 + of changed keys returned by this function. 424 + @param store The dynamic store session. 425 + @result Returns the list of changed keys; 426 + NULL if an error was encountered. 427 + You must release the returned value. 428 + */ 429 + CFArrayRef __nullable 430 + SCDynamicStoreCopyNotifiedKeys ( 431 + SCDynamicStoreRef store 432 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 433 + 434 + __END_DECLS 435 + 436 + CF_ASSUME_NONNULL_END 437 + CF_IMPLICIT_BRIDGING_DISABLED 438 + 439 + #endif /* _SCDYNAMICSTORE_H */
+119
src/SystemConfiguration/include/SystemConfiguration/SCDynamicStoreCopyDHCPInfo.h
··· 1 + /* 2 + * Copyright (c) 2001, 2002, 2004, 2005, 2008, 2012, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCDYNAMICSTORECOPYDHCPINFO_H 25 + #define _SCDYNAMICSTORECOPYDHCPINFO_H 26 + 27 + #include <Availability.h> 28 + #include <sys/cdefs.h> 29 + #include <CoreFoundation/CoreFoundation.h> 30 + #include <SystemConfiguration/SCDynamicStore.h> 31 + 32 + CF_IMPLICIT_BRIDGING_ENABLED 33 + CF_ASSUME_NONNULL_BEGIN 34 + 35 + /*! 36 + @header SCDynamicStoreCopyDHCPInfo 37 + @discussion The functions of the SCDynamicStoreCopyDHCPInfo API 38 + provide access to information returned by the DHCP or 39 + BOOTP server. 40 + */ 41 + 42 + 43 + __BEGIN_DECLS 44 + 45 + /*! 46 + @function SCDynamicStoreCopyDHCPInfo 47 + @discussion Copies the DHCP information for the requested serviceID, 48 + or the primary service if serviceID == NULL. 49 + @param store An SCDynamicStoreRef representing the dynamic store session 50 + that should be used for communication with the server. 51 + If NULL, a temporary session will be used. 52 + @param serviceID A CFStringRef containing the requested service. 53 + If NULL, returns information for the primary service. 54 + @result Returns a dictionary containing DHCP information if successful; 55 + NULL otherwise. 56 + Use the DHCPInfoGetOption function to retrieve 57 + individual options from the returned dictionary. 58 + 59 + A non-NULL return value must be released using CFRelease(). 60 + */ 61 + CFDictionaryRef __nullable 62 + SCDynamicStoreCopyDHCPInfo (SCDynamicStoreRef __nullable store, 63 + CFStringRef __nullable serviceID) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 64 + 65 + /*! 66 + @function DHCPInfoGetOptionData 67 + @discussion Returns a non-NULL CFDataRef containing the DHCP 68 + option data, if present. 69 + @param info The non-NULL DHCP information dictionary returned by 70 + calling SCDynamicStoreCopyDHCPInfo. 71 + @param code The DHCP option code (see RFC 2132) to return 72 + data for. 73 + @result Returns a non-NULL CFDataRef containing the option data; 74 + NULL if the requested option data is not present. 75 + 76 + The return value must NOT be released. 77 + */ 78 + CFDataRef __nullable 79 + DHCPInfoGetOptionData (CFDictionaryRef info, 80 + UInt8 code) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 81 + 82 + /*! 83 + @function DHCPInfoGetLeaseStartTime 84 + @discussion Returns a CFDateRef corresponding to the lease start time, 85 + if present. 86 + @param info The non-NULL DHCP information dictionary returned by 87 + calling SCDynamicStoreCopyDHCPInfo. 88 + @result Returns a non-NULL CFDateRef if lease start time information is 89 + present; NULL if the information is not present or if the 90 + configuration method is not DHCP. 91 + 92 + The return value must NOT be released. 93 + */ 94 + CFDateRef __nullable 95 + DHCPInfoGetLeaseStartTime (CFDictionaryRef info) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 96 + 97 + 98 + /*! 99 + @function DHCPInfoGetLeaseExpirationTime 100 + @discussion Returns a CFDateRef corresponding to the lease expiration time, 101 + if present. 102 + @param info The non-NULL DHCP information dictionary returned by 103 + calling SCDynamicStoreCopyDHCPInfo. 104 + @result Returns a non-NULL CFDateRef if the DHCP lease has an expiration; 105 + NULL if the lease is infinite i.e. has no expiration, or the 106 + configuration method is not DHCP. An infinite lease can be determined 107 + by a non-NULL lease start time (see DHCPInfoGetLeaseStartTime above). 108 + 109 + The return value must NOT be released. 110 + */ 111 + CFDateRef __nullable 112 + DHCPInfoGetLeaseExpirationTime (CFDictionaryRef info) __OSX_AVAILABLE_STARTING(__MAC_10_8,__IPHONE_NA); 113 + 114 + __END_DECLS 115 + 116 + CF_ASSUME_NONNULL_END 117 + CF_IMPLICIT_BRIDGING_DISABLED 118 + 119 + #endif /* _SCDYNAMICSTORECOPYDHCPINFO_H */
+216
src/SystemConfiguration/include/SystemConfiguration/SCDynamicStoreCopySpecific.h
··· 1 + /* 2 + * Copyright (c) 2000-2005, 2008, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCDYNAMICSTORECOPYSPECIFIC_H 25 + #define _SCDYNAMICSTORECOPYSPECIFIC_H 26 + 27 + #include <Availability.h> 28 + #include <sys/cdefs.h> 29 + #include <sys/types.h> 30 + #include <CoreFoundation/CoreFoundation.h> 31 + #include <SystemConfiguration/SCDynamicStore.h> 32 + 33 + CF_IMPLICIT_BRIDGING_ENABLED 34 + CF_ASSUME_NONNULL_BEGIN 35 + 36 + /*! 37 + @header SCDynamicStoreCopySpecific 38 + @discussion The functions of the SCDynamicStoreCopySpecific API 39 + allow an application to determine specific configuration 40 + information about the current system (for example, the 41 + computer or sharing name, the currently logged-in user, etc.). 42 + */ 43 + 44 + 45 + __BEGIN_DECLS 46 + 47 + /*! 48 + @function SCDynamicStoreCopyComputerName 49 + @discussion Gets the current computer name. 50 + @param store An SCDynamicStoreRef representing the dynamic store 51 + session that should be used for communication with the server. 52 + If NULL, a temporary session will be used. 53 + @param nameEncoding A pointer to memory that, if non-NULL, will be 54 + filled with the encoding associated with the computer or 55 + host name. 56 + @result Returns the current computer name; 57 + NULL if the name has not been set or if an error was encountered. 58 + You must release the returned value. 59 + */ 60 + CFStringRef __nullable 61 + SCDynamicStoreCopyComputerName ( 62 + SCDynamicStoreRef __nullable store, 63 + CFStringEncoding * __nullable nameEncoding 64 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 65 + 66 + /*! 67 + @function SCDynamicStoreCopyConsoleUser 68 + @discussion Gets the name, user ID, and group ID of the currently 69 + logged-in user. 70 + 71 + Note: this function only provides information about the 72 + primary console. It does not provide any details 73 + about console sessions that have fast user switched 74 + out or about other consoles. 75 + @param store An SCDynamicStoreRef representing the dynamic store 76 + session that should be used for communication with the server. 77 + If NULL, a temporary session will be used. 78 + @param uid A pointer to memory that will be filled with the user ID 79 + of the current console user. If NULL, this value will not 80 + be returned. 81 + @param gid A pointer to memory that will be filled with the group ID 82 + of the current console user. If NULL, this value will not be 83 + returned. 84 + @result Returns the user currently logged into the system; 85 + NULL if no user is logged in or if an error was encountered. 86 + You must release the returned value. 87 + */ 88 + CFStringRef __nullable 89 + SCDynamicStoreCopyConsoleUser ( 90 + SCDynamicStoreRef __nullable store, 91 + uid_t * __nullable uid, 92 + gid_t * __nullable gid 93 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 94 + 95 + /*! 96 + @function SCDynamicStoreCopyLocalHostName 97 + @discussion Gets the current local host name. 98 + @param store An SCDynamicStoreRef representing the dynamic store 99 + session that should be used for communication with the server. 100 + If NULL, a temporary session will be used. 101 + @result Returns the current local host name; 102 + NULL if the name has not been set or if an error was encountered. 103 + You must release the returned value. 104 + */ 105 + CFStringRef __nullable 106 + SCDynamicStoreCopyLocalHostName ( 107 + SCDynamicStoreRef __nullable store 108 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 109 + 110 + /*! 111 + @function SCDynamicStoreCopyLocation 112 + @discussion Gets the current location identifier. 113 + @param store An SCDynamicStoreRef representing the dynamic store 114 + session that should be used for communication with the server. 115 + If NULL, a temporary session will be used. 116 + @result Returns a string representing the current location identifier; 117 + NULL if no location identifier has been defined or if an error 118 + was encountered. 119 + You must release the returned value. 120 + */ 121 + CFStringRef __nullable 122 + SCDynamicStoreCopyLocation ( 123 + SCDynamicStoreRef __nullable store 124 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 125 + 126 + /*! 127 + @function SCDynamicStoreCopyProxies 128 + @discussion Gets the current internet proxy settings. 129 + The returned proxy settings dictionary includes: 130 + 131 + <TABLE BORDER> 132 + <TR> 133 + <TH>key</TD> 134 + <TH>type</TD> 135 + <TH>description</TD> 136 + </TR> 137 + <TR> 138 + <TD>kSCPropNetProxiesExceptionsList</TD> 139 + <TD>CFArray[CFString]</TD> 140 + <TD>Host name patterns which should bypass the proxy</TD> 141 + </TR> 142 + <TR> 143 + <TD>kSCPropNetProxiesHTTPEnable</TD> 144 + <TD>CFNumber (0 or 1)</TD> 145 + <TD>Enables/disables the use of an HTTP proxy</TD> 146 + </TR> 147 + <TR> 148 + <TD>kSCPropNetProxiesHTTPProxy</TD> 149 + <TD>CFString</TD> 150 + <TD>The proxy host</TD> 151 + </TR> 152 + <TR> 153 + <TD>kSCPropNetProxiesHTTPPort</TD> 154 + <TD>CFNumber</TD> 155 + <TD>The proxy port number</TD> 156 + </TR> 157 + <TR> 158 + <TD>kSCPropNetProxiesHTTPSEnable</TD> 159 + <TD>CFNumber (0 or 1)</TD> 160 + <TD>Enables/disables the use of an HTTPS proxy</TD> 161 + </TR> 162 + <TR> 163 + <TD>kSCPropNetProxiesHTTPSProxy</TD> 164 + <TD>CFString</TD> 165 + <TD>The proxy host</TD> 166 + </TR> 167 + <TR> 168 + <TD>kSCPropNetProxiesHTTPSPort</TD> 169 + <TD>CFNumber</TD> 170 + <TD>The proxy port number</TD> 171 + </TR> 172 + <TR> 173 + <TD>kSCPropNetProxiesFTPEnable</TD> 174 + <TD>CFNumber (0 or 1)</TD> 175 + <TD>Enables/disables the use of an FTP proxy</TD> 176 + </TR> 177 + <TR> 178 + <TD>kSCPropNetProxiesFTPProxy</TD> 179 + <TD>CFString</TD> 180 + <TD>The proxy host</TD> 181 + </TR> 182 + <TR> 183 + <TD>kSCPropNetProxiesFTPPort</TD> 184 + <TD>CFNumber</TD> 185 + <TD>The proxy port number</TD> 186 + </TR> 187 + <TR> 188 + <TD>kSCPropNetProxiesFTPPassive</TD> 189 + <TD>CFNumber (0 or 1)</TD> 190 + <TD>Enable passive mode operation for use behind connection 191 + filter-ing firewalls.</TD> 192 + </TR> 193 + </TABLE> 194 + 195 + Other key-value pairs are defined in the SCSchemaDefinitions.h 196 + header file. 197 + @param store An SCDynamicStoreRef representing the dynamic store 198 + session that should be used for communication with the server. 199 + If NULL, a temporary session will be used. 200 + @result Returns a dictionary containing key-value pairs that represent 201 + the current internet proxy settings; 202 + NULL if no proxy settings have been defined or if an error 203 + was encountered. 204 + You must release the returned value. 205 + */ 206 + CFDictionaryRef __nullable 207 + SCDynamicStoreCopyProxies ( 208 + SCDynamicStoreRef __nullable store 209 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 210 + 211 + __END_DECLS 212 + 213 + CF_ASSUME_NONNULL_END 214 + CF_IMPLICIT_BRIDGING_DISABLED 215 + 216 + #endif /* _SCDYNAMICSTORECOPYSPECIFIC_H */
+267
src/SystemConfiguration/include/SystemConfiguration/SCDynamicStoreKey.h
··· 1 + /* 2 + * Copyright (c) 2000-2002, 2004, 2005, 2008, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCDYNAMICSTOREKEY_H 25 + #define _SCDYNAMICSTOREKEY_H 26 + 27 + #include <Availability.h> 28 + #include <sys/cdefs.h> 29 + #include <CoreFoundation/CoreFoundation.h> 30 + 31 + CF_IMPLICIT_BRIDGING_ENABLED 32 + CF_ASSUME_NONNULL_BEGIN 33 + 34 + /*! 35 + @header SCDynamicStoreKey 36 + @discussion The SCDynamicStoreKey API provides convenience functions 37 + that an application can use to create a correctly formatted 38 + dynamic store key for accessing specific items in the dynamic 39 + store. An application can then use the resulting string in 40 + any function that requires a dynamic store key. 41 + */ 42 + 43 + 44 + __BEGIN_DECLS 45 + 46 + /* 47 + * SCDynamicStoreKeyCreate 48 + * - convenience routines that create a CFString key for an item in the store 49 + */ 50 + 51 + /*! 52 + @function SCDynamicStoreKeyCreate 53 + @discussion Creates a dynamic store key using the given format. 54 + @param allocator The CFAllocator that should be used to allocate 55 + memory for this key. 56 + This parameter may be NULL in which case the current 57 + default CFAllocator is used. If this reference is not 58 + a valid CFAllocator, the behavior is undefined. 59 + @param fmt A CFStringRef describing the format for this key. 60 + @result Returns a string containing the formatted key. 61 + */ 62 + CFStringRef 63 + SCDynamicStoreKeyCreate ( 64 + CFAllocatorRef __nullable allocator, 65 + CFStringRef fmt, 66 + ... 67 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 68 + 69 + /*! 70 + @function SCDynamicStoreKeyCreateNetworkGlobalEntity 71 + @discussion Creates a dynamic store key that can be used to access 72 + a specific global (as opposed to a per-service or per-interface) 73 + network configuration entity. 74 + @param allocator The CFAllocator that should be used to allocate 75 + memory for this key. 76 + This parameter may be NULL in which case the current 77 + default CFAllocator is used. If this reference is not 78 + a valid CFAllocator, the behavior is undefined. 79 + @param domain A string specifying the desired domain, such as the 80 + requested configuration (kSCDynamicStoreDomainSetup) or the 81 + actual state (kSCDynamicStoreDomainState). 82 + @param entity A string containing the specific global entity, such 83 + as IPv4 (kSCEntNetIPv4) or DNS (kSCEntNetDNS). 84 + @result Returns a string containing the formatted key. 85 + 86 + */ 87 + CFStringRef 88 + SCDynamicStoreKeyCreateNetworkGlobalEntity ( 89 + CFAllocatorRef __nullable allocator, 90 + CFStringRef domain, 91 + CFStringRef entity 92 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 93 + 94 + /*! 95 + @function SCDynamicStoreKeyCreateNetworkInterface 96 + @discussion Creates a dynamic store key that can be used to access 97 + the network interface configuration information stored in 98 + the dynamic store. 99 + @param allocator The CFAllocator that should be used to allocate 100 + memory for this key. 101 + This parameter may be NULL in which case the current 102 + default CFAllocator is used. If this reference is not 103 + a valid CFAllocator, the behavior is undefined. 104 + @param domain A string specifying the desired domain, such as the 105 + requested configuration (kSCDynamicStoreDomainSetup) or the 106 + actual state (kSCDynamicStoreDomainState). 107 + @result Returns a string containing the formatted key. 108 + 109 + */ 110 + CFStringRef 111 + SCDynamicStoreKeyCreateNetworkInterface ( 112 + CFAllocatorRef __nullable allocator, 113 + CFStringRef domain 114 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 115 + 116 + /*! 117 + @function SCDynamicStoreKeyCreateNetworkInterfaceEntity 118 + @discussion Creates a dynamic store key that can be used to access 119 + the per-interface network configuration information stored in 120 + the dynamic store. 121 + @param allocator The CFAllocator that should be used to allocate 122 + memory for this key. 123 + This parameter may be NULL in which case the current 124 + default CFAllocator is used. If this reference is not 125 + a valid CFAllocator, the behavior is undefined. 126 + @param domain A string specifying the desired domain, such as the 127 + requested configuration (kSCDynamicStoreDomainSetup) or the 128 + actual state (kSCDynamicStoreDomainState). 129 + @param ifname A string containing the interface name or a regular 130 + expression pattern. 131 + @param entity A string containing the specific global entity, such 132 + as IPv4 (kSCEntNetIPv4) or DNS (kSCEntNetDNS). 133 + @result Returns a string containing the formatted key. 134 + 135 + */ 136 + CFStringRef 137 + SCDynamicStoreKeyCreateNetworkInterfaceEntity ( 138 + CFAllocatorRef __nullable allocator, 139 + CFStringRef domain, 140 + CFStringRef ifname, 141 + CFStringRef __nullable entity 142 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 143 + 144 + /*! 145 + @function SCDynamicStoreKeyCreateNetworkServiceEntity 146 + @discussion Creates a dynamic store key that can be used to access 147 + the per-service network configuration information stored in 148 + the dynamic store. 149 + @param allocator The CFAllocator that should be used to allocate 150 + memory for this key. 151 + This parameter may be NULL in which case the current 152 + default CFAllocator is used. If this reference is not 153 + a valid CFAllocator, the behavior is undefined. 154 + @param domain A string specifying the desired domain, such as the 155 + requested configuration (kSCDynamicStoreDomainSetup) or the 156 + actual state (kSCDynamicStoreDomainState). 157 + @param serviceID A string containing the service ID or a regular 158 + expression pattern. 159 + @param entity A string containing the specific global entity, such 160 + as IPv4 (kSCEntNetIPv4) or DNS (kSCEntNetDNS). 161 + @result Returns a string containing the formatted key. 162 + 163 + 164 + */ 165 + CFStringRef 166 + SCDynamicStoreKeyCreateNetworkServiceEntity ( 167 + CFAllocatorRef __nullable allocator, 168 + CFStringRef domain, 169 + CFStringRef serviceID, 170 + CFStringRef __nullable entity 171 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 172 + 173 + /*! 174 + @function SCDynamicStoreKeyCreateComputerName 175 + @discussion Creates a key that can be used in conjuntion with 176 + SCDynamicStoreSetNotificationKeys function to receive 177 + notifications when the current computer name changes. 178 + @param allocator The CFAllocator that should be used to allocate 179 + memory for this key. 180 + This parameter may be NULL in which case the current 181 + default CFAllocator is used. If this reference is not 182 + a valid CFAllocator, the behavior is undefined. 183 + @result Returns a notification string for the current computer or 184 + host name. 185 + */ 186 + CFStringRef 187 + SCDynamicStoreKeyCreateComputerName ( 188 + CFAllocatorRef __nullable allocator 189 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 190 + 191 + /*! 192 + @function SCDynamicStoreKeyCreateConsoleUser 193 + @discussion Creates a key that can be used in conjunction with 194 + SCDynamicStoreSetNotificationKeys function to receive 195 + notifications when the current console user changes. 196 + @param allocator The CFAllocator that should be used to allocate 197 + memory for this key. 198 + This parameter may be NULL in which case the current 199 + default CFAllocator is used. If this reference is not 200 + a valid CFAllocator, the behavior is undefined. 201 + @result Returns a notification string for the current console user. 202 + */ 203 + CFStringRef 204 + SCDynamicStoreKeyCreateConsoleUser ( 205 + CFAllocatorRef __nullable allocator 206 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 207 + 208 + /*! 209 + @function SCDynamicStoreKeyCreateHostNames 210 + @discussion Creates a key that can be used in conjunction with the 211 + SCDynamicStoreSetNotificationKeys function to receive 212 + notifications when the HostNames entity changes. The 213 + HostNames entity includes the local host name. 214 + @param allocator The CFAllocator that should be used to allocate 215 + memory for this key. 216 + This parameter may be NULL in which case the current 217 + default CFAllocator is used. If this reference is not 218 + a valid CFAllocator, the behavior is undefined. 219 + @result Returns a notification string for the HostNames entity. 220 + */ 221 + CFStringRef 222 + SCDynamicStoreKeyCreateHostNames ( 223 + CFAllocatorRef __nullable allocator 224 + ) __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 225 + 226 + /*! 227 + @function SCDynamicStoreKeyCreateLocation 228 + @discussion Creates a key that can be used in conjunction with the 229 + SCDynamicStoreSetNotificationKeys function to receive 230 + notifications when the location identifier changes. 231 + @param allocator The CFAllocator that should be used to allocate 232 + memory for this key. 233 + This parameter may be NULL in which case the current 234 + default CFAllocator is used. If this reference is not 235 + a valid CFAllocator, the behavior is undefined. 236 + @result Returns a notification string for the current location 237 + identifier. 238 + */ 239 + CFStringRef 240 + SCDynamicStoreKeyCreateLocation ( 241 + CFAllocatorRef __nullable allocator 242 + ) __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 243 + 244 + /*! 245 + @function SCDynamicStoreKeyCreateProxies 246 + @discussion Creates a key that can be used in conjunction with 247 + the SCDynamicStoreSetNotificationKeys function to receive 248 + notifications when the current network proxy settings 249 + (such as HTTP or FTP) are changed. 250 + @param allocator The CFAllocator that should be used to allocate 251 + memory for this key. 252 + This parameter may be NULL in which case the current 253 + default CFAllocator is used. If this reference is not 254 + a valid CFAllocator, the behavior is undefined. 255 + @result Returns a notification string for the current proxy settings. 256 + */ 257 + CFStringRef 258 + SCDynamicStoreKeyCreateProxies ( 259 + CFAllocatorRef __nullable allocator 260 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 261 + 262 + __END_DECLS 263 + 264 + CF_ASSUME_NONNULL_END 265 + CF_IMPLICIT_BRIDGING_DISABLED 266 + 267 + #endif /* _SCDYNAMICSTOREKEY_H */
+204
src/SystemConfiguration/include/SystemConfiguration/SCNetwork.h
··· 1 + /* 2 + * Copyright (c) 2000, 2001, 2003-2009, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCNETWORK_H 25 + #define _SCNETWORK_H 26 + 27 + #include <Availability.h> 28 + #include <sys/cdefs.h> 29 + #include <sys/types.h> 30 + #include <sys/socket.h> 31 + #include <CoreFoundation/CoreFoundation.h> 32 + 33 + CF_IMPLICIT_BRIDGING_ENABLED 34 + CF_ASSUME_NONNULL_BEGIN 35 + 36 + /*! 37 + @header SCNetwork 38 + @discussion The SCNetwork API contains functions an application can 39 + use to determine remote host reachability and notify the 40 + system of configuration changes. 41 + 42 + The two SCNetworkCheckReachability functions allow an 43 + application to determine the status of the system's current 44 + network configuration and the reachability of a target host 45 + or address. 46 + 47 + "Reachability" reflects whether a data packet, sent by an 48 + application into the network stack, can leave the local 49 + computer. Note that reachability does <i>not</i> guarantee 50 + that the data packet will actually be received by the host. 51 + */ 52 + 53 + /*! 54 + @enum SCNetworkConnectionFlags 55 + @discussion Flags that indicate whether the specified network 56 + nodename or address is reachable, whether a connection is 57 + required, and whether some user intervention may be required 58 + when establishing a connection. 59 + 60 + Note: the SCNetworkConnection flags have been deprecated 61 + in favor of the newer SCNetworkReachability flags defined 62 + in SCNetworkReachability.h. 63 + @constant kSCNetworkFlagsTransientConnection 64 + This flag indicates that the specified nodename or address can 65 + be reached via a transient connection, such as PPP. 66 + @constant kSCNetworkFlagsReachable 67 + This flag indicates that the specified nodename or address can 68 + be reached using the current network configuration. 69 + @constant kSCNetworkFlagsConnectionRequired 70 + This flag indicates that the specified nodename or address can 71 + be reached using the current network configuration, but a 72 + connection must first be established. 73 + 74 + As an example, this status would be returned for a dialup 75 + connection that was not currently active, but could handle 76 + network traffic for the target system. 77 + @constant kSCNetworkFlagsConnectionAutomatic 78 + This flag indicates that the specified nodename or address can 79 + be reached using the current network configuration, but a 80 + connection must first be established. Any traffic directed 81 + to the specified name or address will initiate the connection. 82 + @constant kSCNetworkFlagsInterventionRequired 83 + This flag indicates that the specified nodename or address can 84 + be reached using the current network configuration, but a 85 + connection must first be established. In addition, some 86 + form of user intervention will be required to establish this 87 + connection, such as providing a password, an authentication 88 + token, etc. 89 + 90 + Note: At the present time, this flag will only be returned 91 + in the case where you have a dial-on-traffic configuration 92 + (ConnectionAutomatic), where an attempt to connect has 93 + already been made, and where some error (e.g. no dial tone, 94 + no answer, bad password, ...) was encountered during the 95 + automatic connection attempt. In this case the PPP controller 96 + will stop attempting to establish a connection until the user 97 + has intervened. 98 + @constant kSCNetworkFlagsIsLocalAddress 99 + This flag indicates that the specified nodename or address 100 + is one associated with a network interface on the current 101 + system. 102 + @constant kSCNetworkFlagsIsDirect 103 + This flag indicates that network traffic to the specified 104 + nodename or address will not go through a gateway, but is 105 + routed directly to one of the interfaces in the system. 106 + */ 107 + enum { 108 + kSCNetworkFlagsTransientConnection = 1<<0, 109 + kSCNetworkFlagsReachable = 1<<1, 110 + kSCNetworkFlagsConnectionRequired = 1<<2, 111 + kSCNetworkFlagsConnectionAutomatic = 1<<3, 112 + kSCNetworkFlagsInterventionRequired = 1<<4, 113 + kSCNetworkFlagsIsLocalAddress = 1<<16, 114 + kSCNetworkFlagsIsDirect = 1<<17, 115 + }; 116 + typedef uint32_t SCNetworkConnectionFlags; 117 + 118 + __BEGIN_DECLS 119 + 120 + /*! 121 + @function SCNetworkCheckReachabilityByAddress 122 + @discussion Determines if the given network address is 123 + reachable using the current network configuration. 124 + 125 + Note: this API has been deprecated but you can 126 + get equivalent results with : 127 + <pre> 128 + SCNetworkReachabilityRef target; 129 + SCNetworkReachabilityFlags flags = 0; 130 + Boolean ok; 131 + 132 + target = SCNetworkReachabilityCreateWithAddress(NULL, address); 133 + ok = SCNetworkReachabilityGetFlags(target, &flags); 134 + CFRelease(target); 135 + </pre> 136 + @param address The network address of the desired host. 137 + @param addrlen The length, in bytes, of the address. 138 + @param flags A pointer to memory that will be filled with a 139 + set of SCNetworkConnectionFlags detailing the reachability 140 + of the specified address. 141 + @result Returns TRUE if the network connection flags are valid; 142 + FALSE if the status could not be determined. 143 + */ 144 + Boolean 145 + SCNetworkCheckReachabilityByAddress ( 146 + const struct sockaddr *address, 147 + socklen_t addrlen, 148 + SCNetworkConnectionFlags *flags 149 + ) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_6,__IPHONE_NA,__IPHONE_NA); 150 + 151 + /*! 152 + @function SCNetworkCheckReachabilityByName 153 + @discussion Determines if the given network host or node name is 154 + reachable using the current network configuration. 155 + 156 + Note: this API has been deprecated but you can 157 + get equivalent results with : 158 + <pre> 159 + SCNetworkReachabilityRef target; 160 + SCNetworkReachabilityFlags flags = 0; 161 + Boolean ok; 162 + 163 + target = SCNetworkReachabilityCreateWithName(NULL, name); 164 + ok = SCNetworkReachabilityGetFlags(target, &flags); 165 + CFRelease(target); 166 + </pre> 167 + @param nodename The node name of the desired host. This name would 168 + be the same as that passed to the gethostbyname(3) or 169 + getaddrinfo(3) functions. 170 + @param flags A pointer to memory that will be filled with a 171 + set of SCNetworkConnectionFlags detailing the reachability 172 + of the specified node name. 173 + @result Returns TRUE if the network connection flags are valid; 174 + FALSE if the status could not be determined. 175 + */ 176 + Boolean 177 + SCNetworkCheckReachabilityByName ( 178 + const char *nodename, 179 + SCNetworkConnectionFlags *flags 180 + ) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_6,__IPHONE_NA,__IPHONE_NA); 181 + 182 + /*! 183 + @function SCNetworkInterfaceRefreshConfiguration 184 + @discussion Sends a notification to interested configuration agents 185 + to have them immediately retry their configuration over a 186 + particular network interface. 187 + 188 + Note: This function must be invoked by root (uid == 0). 189 + @param ifName The BSD name of the network interface, such as 190 + CFSTR("en0"). 191 + @result Returns TRUE if the notification was sent; FALSE otherwise. 192 + @deprecated in version 10.4. Replaced with SCNetworkInterfaceForceConfigurationRefresh. 193 + */ 194 + Boolean 195 + SCNetworkInterfaceRefreshConfiguration ( 196 + CFStringRef ifName 197 + ) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_5,__IPHONE_NA,__IPHONE_NA); 198 + 199 + __END_DECLS 200 + 201 + CF_ASSUME_NONNULL_END 202 + CF_IMPLICIT_BRIDGING_DISABLED 203 + 204 + #endif /* _SCNETWORK_H */
+1299
src/SystemConfiguration/include/SystemConfiguration/SCNetworkConfiguration.h
··· 1 + /* 2 + * Copyright (c) 2004-2011, 2015, 2016 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCNETWORKCONFIGURATION_H 25 + #define _SCNETWORKCONFIGURATION_H 26 + 27 + #include <Availability.h> 28 + #include <TargetConditionals.h> 29 + #include <sys/cdefs.h> 30 + #include <CoreFoundation/CoreFoundation.h> 31 + #include <SystemConfiguration/SystemConfiguration.h> 32 + 33 + CF_IMPLICIT_BRIDGING_ENABLED 34 + CF_ASSUME_NONNULL_BEGIN 35 + 36 + /*! 37 + @header SCNetworkConfiguration 38 + @discussion The SCNetworkConfiguration API provides access to the 39 + stored network configuration. The functions include 40 + providing access to the network capable devices on the 41 + system, the network sets, network services, and network 42 + protocols. 43 + 44 + Note: When using the SCNetworkConfiguraiton APIs you must 45 + keep in mind that in order for any of your changes to be 46 + committed to permanent storage a call must be made to the 47 + SCPreferencesCommitChanges function. 48 + */ 49 + 50 + 51 + /*! 52 + @group Interface configuration 53 + */ 54 + 55 + #pragma mark - 56 + #pragma mark SCNetworkInterface configuration (typedefs, consts) 57 + 58 + /*! 59 + @typedef SCNetworkInterfaceRef 60 + @discussion This is the type of a reference to an object that represents 61 + a network interface. 62 + */ 63 + typedef const struct CF_BRIDGED_TYPE(id) __SCNetworkInterface * SCNetworkInterfaceRef; 64 + 65 + /*! 66 + @const kSCNetworkInterfaceType6to4 67 + */ 68 + extern const CFStringRef kSCNetworkInterfaceType6to4 __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 69 + 70 + /*! 71 + @const kSCNetworkInterfaceTypeBluetooth 72 + */ 73 + extern const CFStringRef kSCNetworkInterfaceTypeBluetooth __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 74 + 75 + /*! 76 + @const kSCNetworkInterfaceTypeBond 77 + */ 78 + extern const CFStringRef kSCNetworkInterfaceTypeBond __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 79 + 80 + /*! 81 + @const kSCNetworkInterfaceTypeEthernet 82 + */ 83 + extern const CFStringRef kSCNetworkInterfaceTypeEthernet __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 84 + 85 + /*! 86 + @const kSCNetworkInterfaceTypeFireWire 87 + */ 88 + extern const CFStringRef kSCNetworkInterfaceTypeFireWire __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 89 + 90 + /*! 91 + @const kSCNetworkInterfaceTypeIEEE80211 92 + */ 93 + extern const CFStringRef kSCNetworkInterfaceTypeIEEE80211 __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); // IEEE 802.11, AirPort 94 + 95 + /*! 96 + @const kSCNetworkInterfaceTypeIPSec 97 + */ 98 + extern const CFStringRef kSCNetworkInterfaceTypeIPSec __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 99 + 100 + /*! 101 + @const kSCNetworkInterfaceTypeIrDA 102 + */ 103 + extern const CFStringRef kSCNetworkInterfaceTypeIrDA __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 104 + 105 + /*! 106 + @const kSCNetworkInterfaceTypeL2TP 107 + */ 108 + extern const CFStringRef kSCNetworkInterfaceTypeL2TP __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 109 + 110 + /*! 111 + @const kSCNetworkInterfaceTypeModem 112 + */ 113 + extern const CFStringRef kSCNetworkInterfaceTypeModem __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 114 + 115 + /*! 116 + @const kSCNetworkInterfaceTypePPP 117 + */ 118 + extern const CFStringRef kSCNetworkInterfaceTypePPP __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 119 + 120 + /*! 121 + @const kSCNetworkInterfaceTypePPTP 122 + */ 123 + extern const CFStringRef kSCNetworkInterfaceTypePPTP __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4,__MAC_10_12,__IPHONE_NA,__IPHONE_NA); 124 + 125 + /*! 126 + @const kSCNetworkInterfaceTypeSerial 127 + */ 128 + extern const CFStringRef kSCNetworkInterfaceTypeSerial __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 129 + 130 + /*! 131 + @const kSCNetworkInterfaceTypeVLAN 132 + */ 133 + extern const CFStringRef kSCNetworkInterfaceTypeVLAN __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 134 + 135 + /*! 136 + @const kSCNetworkInterfaceTypeWWAN 137 + */ 138 + extern const CFStringRef kSCNetworkInterfaceTypeWWAN __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 139 + 140 + /* special network interfaces (and types) */ 141 + 142 + /*! 143 + @const kSCNetworkInterfaceTypeIPv4 144 + */ 145 + extern const CFStringRef kSCNetworkInterfaceTypeIPv4 __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 146 + 147 + /*! 148 + @const kSCNetworkInterfaceIPv4 149 + @discussion A network interface that can used for layering other 150 + interfaces (e.g. 6to4, IPSec, PPTP, L2TP) over an existing 151 + IPv4 network. 152 + */ 153 + extern const SCNetworkInterfaceRef kSCNetworkInterfaceIPv4 __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 154 + 155 + /*! 156 + @group Interface configuration (Bond) 157 + */ 158 + 159 + #pragma mark - 160 + 161 + /*! 162 + @typedef SCBondInterfaceRef 163 + @discussion This is the type of a reference to an object that represents 164 + an Ethernet Bond interface. 165 + */ 166 + typedef SCNetworkInterfaceRef SCBondInterfaceRef; 167 + 168 + /*! 169 + @typedef SCBondStatusRef 170 + @discussion This is the type of a reference to an object that represents 171 + the status of an Ethernet Bond interface. 172 + */ 173 + typedef const struct CF_BRIDGED_TYPE(id) __SCBondStatus * SCBondStatusRef; 174 + 175 + /*! 176 + @enum Ethernet Bond Aggregation Status (kSCBondStatusDeviceAggregationStatus) codes 177 + @discussion Returned status codes. 178 + @constant kSCBondStatusOK Enabled, active, running, ... 179 + @constant kSCBondStatusLinkInvalid The link state was not valid (i.e. down, half-duplex, wrong speed) 180 + @constant kSCBondStatusNoPartner The port on the switch that the device is connected doesn't seem to have 802.3ad Link Aggregation enabled 181 + @constant kSCBondStatusNotInActiveGroup We're talking to a partner, but the link aggregation group is different from the one that's active 182 + @constant kSCBondStatusUnknown Non-specific failure 183 + */ 184 + enum { 185 + kSCBondStatusOK = 0, /* enabled, active, running, ... */ 186 + kSCBondStatusLinkInvalid = 1, /* The link state was not valid (i.e. down, half-duplex, wrong speed) */ 187 + kSCBondStatusNoPartner = 2, /* The port on the switch that the device is connected doesn't seem to have 802.3ad Link Aggregation enabled */ 188 + kSCBondStatusNotInActiveGroup = 3, /* We're talking to a partner, but the link aggregation group is different from the one that's active */ 189 + kSCBondStatusUnknown = 999 /* Non-specific failure */ 190 + }; 191 + 192 + /*! 193 + @const kSCBondStatusDeviceAggregationStatus 194 + */ 195 + extern const CFStringRef kSCBondStatusDeviceAggregationStatus /* CFNumber */ __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 196 + 197 + /*! 198 + @const kSCBondStatusDeviceCollecting 199 + */ 200 + extern const CFStringRef kSCBondStatusDeviceCollecting /* CFNumber (0 or 1) */ __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 201 + 202 + /*! 203 + @const kSCBondStatusDeviceDistributing 204 + */ 205 + extern const CFStringRef kSCBondStatusDeviceDistributing /* CFNumber (0 or 1) */ __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 206 + 207 + /*! 208 + @group Interface configuration (VLAN) 209 + */ 210 + 211 + #pragma mark - 212 + 213 + /*! 214 + @typedef SCVLANInterfaceRef 215 + @discussion This is the type of a reference to an object that represents 216 + a Virtual LAN (VLAN) interface. 217 + */ 218 + typedef SCNetworkInterfaceRef SCVLANInterfaceRef; 219 + 220 + 221 + /*! 222 + @group Protocol configuration 223 + */ 224 + 225 + #pragma mark - 226 + #pragma mark SCNetworkProtocol configuration (typedefs, consts) 227 + 228 + /*! 229 + @typedef SCNetworkProtocolRef 230 + @discussion This is the type of a reference to an object that represents 231 + a network protocol. 232 + */ 233 + typedef const struct CF_BRIDGED_TYPE(id) __SCNetworkProtocol * SCNetworkProtocolRef; 234 + 235 + /* network "protocol" types */ 236 + 237 + /*! 238 + @const kSCNetworkProtocolTypeDNS 239 + */ 240 + extern const CFStringRef kSCNetworkProtocolTypeDNS __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 241 + 242 + /*! 243 + @const kSCNetworkProtocolTypeIPv4 244 + */ 245 + extern const CFStringRef kSCNetworkProtocolTypeIPv4 __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 246 + 247 + /*! 248 + @const kSCNetworkProtocolTypeIPv6 249 + */ 250 + extern const CFStringRef kSCNetworkProtocolTypeIPv6 __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 251 + 252 + /*! 253 + @const kSCNetworkProtocolTypeProxies 254 + */ 255 + extern const CFStringRef kSCNetworkProtocolTypeProxies __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 256 + 257 + /*! 258 + @const kSCNetworkProtocolTypeSMB 259 + */ 260 + extern const CFStringRef kSCNetworkProtocolTypeSMB __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 261 + 262 + /*! 263 + @group Service configuration 264 + */ 265 + 266 + #pragma mark - 267 + #pragma mark SCNetworkService configuration (typedefs, consts) 268 + 269 + /*! 270 + @typedef SCNetworkServiceRef 271 + @discussion This is the type of a reference to an object that represents 272 + a network service. 273 + */ 274 + typedef const struct CF_BRIDGED_TYPE(id) __SCNetworkService * SCNetworkServiceRef; 275 + 276 + 277 + /*! 278 + @group Set configuration 279 + */ 280 + 281 + #pragma mark - 282 + #pragma mark SCNetworkSet configuration (typedefs, consts) 283 + 284 + /*! 285 + @typedef SCNetworkSetRef 286 + @discussion This is the type of a reference to an object that represents 287 + a network set. 288 + */ 289 + typedef const struct CF_BRIDGED_TYPE(id) __SCNetworkSet * SCNetworkSetRef; 290 + 291 + 292 + __BEGIN_DECLS 293 + 294 + 295 + /* -------------------------------------------------------------------------------- 296 + * INTERFACES 297 + * -------------------------------------------------------------------------------- */ 298 + 299 + /*! 300 + @group Interface configuration 301 + */ 302 + 303 + #pragma mark - 304 + #pragma mark SCNetworkInterface configuration (APIs) 305 + 306 + /*! 307 + @function SCNetworkInterfaceGetTypeID 308 + @discussion Returns the type identifier of all SCNetworkInterface instances. 309 + */ 310 + CFTypeID 311 + SCNetworkInterfaceGetTypeID (void) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 312 + 313 + /*! 314 + @function SCNetworkInterfaceCopyAll 315 + @discussion Returns all network capable interfaces on the system. 316 + @result The list of interfaces on the system. 317 + You must release the returned value. 318 + */ 319 + CFArrayRef /* of SCNetworkInterfaceRef's */ 320 + SCNetworkInterfaceCopyAll (void) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 321 + 322 + /*! 323 + @function SCNetworkInterfaceGetSupportedInterfaceTypes 324 + @discussion Identify all of the network interface types (e.g. PPP) that 325 + can be layered on top of this interface. 326 + @param interface The network interface. 327 + @result The list of SCNetworkInterface types supported by the interface; 328 + NULL if no interface types are supported. 329 + */ 330 + CFArrayRef /* of kSCNetworkInterfaceTypeXXX CFStringRef's */ __nullable 331 + SCNetworkInterfaceGetSupportedInterfaceTypes (SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 332 + 333 + /*! 334 + @function SCNetworkInterfaceGetSupportedProtocolTypes 335 + @discussion Identify all of the network protocol types (e.g. IPv4, IPv6) that 336 + can be layered on top of this interface. 337 + @param interface The network interface. 338 + @result The list of SCNetworkProtocol types supported by the interface; 339 + NULL if no protocol types are supported. 340 + */ 341 + CFArrayRef /* of kSCNetworkProtocolTypeXXX CFStringRef's */ __nullable 342 + SCNetworkInterfaceGetSupportedProtocolTypes (SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 343 + 344 + /*! 345 + @function SCNetworkInterfaceCreateWithInterface 346 + @discussion Create a new network interface layered on top of another. For 347 + example, this function would be used to create a "PPP" interface 348 + on top of a "modem". 349 + @param interface The network interface. 350 + @param interfaceType The type of SCNetworkInterface to be layered on 351 + top of the provided interface. 352 + @result A reference to the new SCNetworkInterface. 353 + You must release the returned value. 354 + */ 355 + SCNetworkInterfaceRef __nullable 356 + SCNetworkInterfaceCreateWithInterface (SCNetworkInterfaceRef interface, 357 + CFStringRef interfaceType) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 358 + 359 + /*! 360 + @function SCNetworkInterfaceGetBSDName 361 + @discussion Returns the BSD interface (en0) or device name (modem) 362 + for the interface. 363 + @param interface The network interface. 364 + @result The BSD name associated with the interface (e.g. "en0"); 365 + NULL if no BSD name is available. 366 + */ 367 + CFStringRef __nullable 368 + SCNetworkInterfaceGetBSDName (SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 369 + 370 + /*! 371 + @function SCNetworkInterfaceGetConfiguration 372 + @discussion Returns the configuration settings associated with a interface. 373 + @param interface The network interface. 374 + @result The configuration settings associated with the interface; 375 + NULL if no configuration settings are associated with the interface 376 + or an error was encountered. 377 + */ 378 + CFDictionaryRef __nullable 379 + SCNetworkInterfaceGetConfiguration (SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 380 + 381 + /*! 382 + @function SCNetworkInterfaceGetExtendedConfiguration 383 + @discussion Returns the configuration settings associated with a interface. 384 + @param interface The network interface. 385 + @param extendedType A string representing the type of extended information (e.g. EAPOL). 386 + @result The configuration settings associated with the interface; 387 + NULL if no configuration settings are associated with the interface 388 + or an error was encountered. 389 + */ 390 + CFDictionaryRef __nullable 391 + SCNetworkInterfaceGetExtendedConfiguration (SCNetworkInterfaceRef interface, 392 + CFStringRef extendedType) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 393 + 394 + /*! 395 + @function SCNetworkInterfaceGetHardwareAddressString 396 + @discussion Returns a displayable link layer address for the interface. 397 + @param interface The network interface. 398 + @result A string representing the hardware (MAC) address for the interface. 399 + */ 400 + CFStringRef __nullable 401 + SCNetworkInterfaceGetHardwareAddressString (SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 402 + 403 + /*! 404 + @function SCNetworkInterfaceGetInterface 405 + @discussion For layered network interfaces, return the underlying interface. 406 + @param interface The network interface. 407 + @result The underlying network interface; 408 + NULL if this is a leaf interface. 409 + */ 410 + SCNetworkInterfaceRef __nullable 411 + SCNetworkInterfaceGetInterface (SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 412 + 413 + /*! 414 + @function SCNetworkInterfaceGetInterfaceType 415 + @discussion Returns the associated network interface type. 416 + @param interface The network interface. 417 + @result The interface type. 418 + */ 419 + CFStringRef __nullable 420 + SCNetworkInterfaceGetInterfaceType (SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 421 + 422 + /*! 423 + @function SCNetworkInterfaceGetLocalizedDisplayName 424 + @discussion Returns the localized name (e.g. "Ethernet", "FireWire") for 425 + the interface. 426 + @param interface The network interface. 427 + @result A localized, display name for the interface; 428 + NULL if no name is available. 429 + */ 430 + CFStringRef __nullable 431 + SCNetworkInterfaceGetLocalizedDisplayName (SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 432 + 433 + /*! 434 + @function SCNetworkInterfaceSetConfiguration 435 + @discussion Stores the configuration settings for the interface. 436 + @param interface The network interface. 437 + @param config The configuration settings to associate with this interface. 438 + @result TRUE if the configuration was stored; FALSE if an error was encountered. 439 + */ 440 + Boolean 441 + SCNetworkInterfaceSetConfiguration (SCNetworkInterfaceRef interface, 442 + CFDictionaryRef __nullable config) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 443 + 444 + /*! 445 + @function SCNetworkInterfaceSetExtendedConfiguration 446 + @discussion Stores the configuration settings for the interface. 447 + @param interface The network interface. 448 + @param config The configuration settings to associate with this interface. 449 + @result TRUE if the configuration was stored; FALSE if an error was encountered. 450 + */ 451 + Boolean 452 + SCNetworkInterfaceSetExtendedConfiguration (SCNetworkInterfaceRef interface, 453 + CFStringRef extendedType, 454 + CFDictionaryRef __nullable config) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 455 + 456 + #pragma mark - 457 + 458 + /*! 459 + @function SCNetworkInterfaceCopyMediaOptions 460 + @discussion For the specified network interface, returns information 461 + about the currently requested media options, the active media 462 + options, and the media options which are available. 463 + @param interface The desired network interface. 464 + @param current A pointer to memory that will be filled with a CFDictionaryRef 465 + representing the currently requested media options (subtype, options). 466 + If NULL, the current options will not be returned. 467 + @param active A pointer to memory that will be filled with a CFDictionaryRef 468 + representing the active media options (subtype, options). 469 + If NULL, the active options will not be returned. 470 + @param available A pointer to memory that will be filled with a CFArrayRef 471 + representing the possible media options (subtype, options). 472 + If NULL, the available options will not be returned. 473 + @param filter A boolean indicating whether the available options should be 474 + filtered to exclude those options which would not normally be 475 + requested by a user/admin (e.g. hw-loopback). 476 + @result TRUE if requested information has been returned. 477 + */ 478 + Boolean 479 + SCNetworkInterfaceCopyMediaOptions (SCNetworkInterfaceRef interface, 480 + CFDictionaryRef __nullable * __nullable current, 481 + CFDictionaryRef __nullable * __nullable active, 482 + CFArrayRef __nullable * __nullable available, 483 + Boolean filter) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 484 + 485 + /*! 486 + @function SCNetworkInterfaceCopyMediaSubTypes 487 + @discussion For the provided interface configuration options, return a list 488 + of available media subtypes. 489 + @param available The available options as returned by the 490 + SCNetworkInterfaceCopyMediaOptions function. 491 + @result An array of available media subtypes CFString's (e.g. 10BaseT/UTP, 492 + 100baseTX, etc). NULL if no subtypes are available. 493 + */ 494 + CFArrayRef __nullable 495 + SCNetworkInterfaceCopyMediaSubTypes (CFArrayRef available) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 496 + 497 + /*! 498 + @function SCNetworkInterfaceCopyMediaSubTypeOptions 499 + @discussion For the provided interface configuration options and specific 500 + subtype, return a list of available media options. 501 + @param available The available options as returned by the 502 + SCNetworkInterfaceCopyMediaOptions function. 503 + @param subType The subtype 504 + @result An array of available media options. Each of the available options 505 + is returned as an array of CFString's (e.g. <half-duplex>, 506 + <full-duplex,flow-control>). NULL if no options are available. 507 + */ 508 + CFArrayRef __nullable 509 + SCNetworkInterfaceCopyMediaSubTypeOptions (CFArrayRef available, 510 + CFStringRef subType) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 511 + 512 + /*! 513 + @function SCNetworkInterfaceCopyMTU 514 + @discussion For the specified network interface, returns information 515 + about the currently MTU setting and the range of allowable 516 + values. 517 + @param interface The desired network interface. 518 + @param mtu_cur A pointer to memory that will be filled with the current 519 + MTU setting for the interface. 520 + @param mtu_min A pointer to memory that will be filled with the minimum 521 + MTU setting for the interface. If negative, the minimum setting 522 + could not be determined. 523 + @param mtu_max A pointer to memory that will be filled with the maximum 524 + MTU setting for the interface. If negative, the maximum setting 525 + could not be determined. 526 + @result TRUE if requested information has been returned. 527 + */ 528 + Boolean 529 + SCNetworkInterfaceCopyMTU (SCNetworkInterfaceRef interface, 530 + int * __nullable mtu_cur, 531 + int * __nullable mtu_min, 532 + int * __nullable mtu_max) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 533 + 534 + /*! 535 + @function SCNetworkInterfaceSetMediaOptions 536 + @discussion For the specified network interface, sets the requested 537 + media subtype and options. 538 + @param interface The desired network interface. 539 + @param subtype The desired media subtype (e.g. "autoselect", "100baseTX", ...). 540 + @param options The desired media options (e.g. "half-duplex", "full-duplex", ...). 541 + @result TRUE if the configuration was updated; FALSE if an error was encountered. 542 + */ 543 + Boolean 544 + SCNetworkInterfaceSetMediaOptions (SCNetworkInterfaceRef interface, 545 + CFStringRef subtype, 546 + CFArrayRef options) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 547 + 548 + /*! 549 + @function SCNetworkInterfaceSetMTU 550 + @discussion For the specified network interface, sets the 551 + requested MTU setting. 552 + @param interface The desired network interface. 553 + @param mtu The desired MTU setting for the interface. 554 + @result TRUE if the configuration was updated; FALSE if an error was encountered. 555 + */ 556 + Boolean 557 + SCNetworkInterfaceSetMTU (SCNetworkInterfaceRef interface, 558 + int mtu) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 559 + 560 + /*! 561 + @function SCNetworkInterfaceForceConfigurationRefresh 562 + @discussion Sends a notification to interested network configuration 563 + agents to immediately retry their configuration. For example, 564 + calling this function will cause the DHCP client to contact 565 + the DHCP server immediately rather than waiting until its 566 + timeout has expired. The utility of this function is to 567 + allow the caller to give a hint to the system that the 568 + network infrastructure or configuration has changed. 569 + 570 + Note: This function requires root (euid==0) privilege or, 571 + alternatively, you may pass an SCNetworkInterface which 572 + is derived from a sequence of calls to : 573 + 574 + SCPreferencesCreateWithAuthorization 575 + SCNetworkSetCopy... 576 + SCNetworkServiceGetInterface 577 + @param interface The desired network interface. 578 + @result Returns TRUE if the notification was sent; FALSE otherwise. 579 + */ 580 + Boolean 581 + SCNetworkInterfaceForceConfigurationRefresh (SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 582 + 583 + /*! 584 + @group Interface configuration (Bond) 585 + */ 586 + 587 + #pragma mark - 588 + #pragma mark SCBondInterface configuration (APIs) 589 + 590 + /*! 591 + @function SCBondInterfaceCopyAll 592 + @discussion Returns all Ethernet Bond interfaces on the system. 593 + @param prefs The "preferences" session. 594 + @result The list of Ethernet Bond interfaces on the system. 595 + You must release the returned value. 596 + */ 597 + CFArrayRef /* of SCBondInterfaceRef's */ 598 + SCBondInterfaceCopyAll (SCPreferencesRef prefs) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 599 + 600 + /*! 601 + @function SCBondInterfaceCopyAvailableMemberInterfaces 602 + @discussion Returns all network capable devices on the system 603 + that can be added to an Ethernet Bond interface. 604 + @param prefs The "preferences" session. 605 + @result The list of interfaces. 606 + You must release the returned value. 607 + */ 608 + CFArrayRef /* of SCNetworkInterfaceRef's */ 609 + SCBondInterfaceCopyAvailableMemberInterfaces (SCPreferencesRef prefs) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 610 + 611 + /*! 612 + @function SCBondInterfaceCreate 613 + @discussion Create a new SCBondInterface interface. 614 + @param prefs The "preferences" session. 615 + @result A reference to the new SCBondInterface. 616 + You must release the returned value. 617 + */ 618 + SCBondInterfaceRef __nullable 619 + SCBondInterfaceCreate (SCPreferencesRef prefs) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 620 + 621 + /*! 622 + @function SCBondInterfaceRemove 623 + @discussion Removes the SCBondInterface from the configuration. 624 + @param bond The SCBondInterface interface. 625 + @result TRUE if the interface was removed; FALSE if an error was encountered. 626 + */ 627 + Boolean 628 + SCBondInterfaceRemove (SCBondInterfaceRef bond) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 629 + 630 + /*! 631 + @function SCBondInterfaceGetMemberInterfaces 632 + @discussion Returns the member interfaces for the specified Ethernet Bond interface. 633 + @param bond The SCBondInterface interface. 634 + @result The list of interfaces. 635 + */ 636 + CFArrayRef /* of SCNetworkInterfaceRef's */ __nullable 637 + SCBondInterfaceGetMemberInterfaces (SCBondInterfaceRef bond) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 638 + 639 + /*! 640 + @function SCBondInterfaceGetOptions 641 + @discussion Returns the configuration settings associated with a Ethernet Bond interface. 642 + @param bond The SCBondInterface interface. 643 + @result The configuration settings associated with the Ethernet Bond interface; 644 + NULL if no changes to the default configuration have been saved. 645 + */ 646 + CFDictionaryRef __nullable 647 + SCBondInterfaceGetOptions (SCBondInterfaceRef bond) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 648 + 649 + /*! 650 + @function SCBondInterfaceSetMemberInterfaces 651 + @discussion Sets the member interfaces for the specified Ethernet Bond interface. 652 + @param bond The SCBondInterface interface. 653 + @param members The desired member interfaces. 654 + @result TRUE if the configuration was stored; FALSE if an error was encountered. 655 + */ 656 + Boolean 657 + SCBondInterfaceSetMemberInterfaces (SCBondInterfaceRef bond, 658 + CFArrayRef members) /* of SCNetworkInterfaceRef's */ 659 + __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 660 + 661 + /*! 662 + @function SCBondInterfaceSetLocalizedDisplayName 663 + @discussion Sets the localized display name for the specified Ethernet Bond interface. 664 + @param bond The SCBondInterface interface. 665 + @param newName The new display name. 666 + @result TRUE if the configuration was stored; FALSE if an error was encountered. 667 + */ 668 + Boolean 669 + SCBondInterfaceSetLocalizedDisplayName (SCBondInterfaceRef bond, 670 + CFStringRef newName) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 671 + 672 + /*! 673 + @function SCBondInterfaceSetOptions 674 + @discussion Sets the configuration settings for the specified Ethernet Bond interface. 675 + @param bond The SCBondInterface interface. 676 + @param newOptions The new configuration settings. 677 + @result TRUE if the configuration was stored; FALSE if an error was encountered. 678 + */ 679 + Boolean 680 + SCBondInterfaceSetOptions (SCBondInterfaceRef bond, 681 + CFDictionaryRef newOptions) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 682 + 683 + #pragma mark - 684 + 685 + /*! 686 + @function SCBondInterfaceCopyStatus 687 + @discussion Returns the status of the specified Ethernet Bond interface. 688 + @param bond The SCBondInterface interface. 689 + @result The status associated with the interface. 690 + You must release the returned value. 691 + */ 692 + SCBondStatusRef __nullable 693 + SCBondInterfaceCopyStatus (SCBondInterfaceRef bond) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 694 + 695 + /*! 696 + @function SCBondStatusGetTypeID 697 + @discussion Returns the type identifier of all SCBondStatus instances. 698 + */ 699 + CFTypeID 700 + SCBondStatusGetTypeID (void) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 701 + 702 + /*! 703 + @function SCBondStatusGetMemberInterfaces 704 + @discussion Returns the member interfaces that are represented with the 705 + Ethernet Bond interface. 706 + @param bondStatus The Ethernet Bond status. 707 + @result The list of interfaces. 708 + */ 709 + CFArrayRef __nullable /* of SCNetworkInterfaceRef's */ 710 + SCBondStatusGetMemberInterfaces (SCBondStatusRef bondStatus) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 711 + 712 + /*! 713 + @function SCBondStatusGetInterfaceStatus 714 + @discussion Returns the status of a specific member interface of an 715 + Ethernet Bond or the status of the bond as a whole. 716 + @param bondStatus The Ethernet Bond status. 717 + @param interface The specific member interface; NULL if you want the 718 + status of the Ethernet Bond. 719 + @result The interface status. 720 + 721 + Note: at present, no information about the status of the Ethernet 722 + Bond is returned. As long as one member interface is active 723 + then the bond should be operational. 724 + */ 725 + CFDictionaryRef __nullable 726 + SCBondStatusGetInterfaceStatus (SCBondStatusRef bondStatus, 727 + SCNetworkInterfaceRef __nullable interface) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 728 + 729 + /*! 730 + @group Interface configuration (VLAN) 731 + */ 732 + 733 + #pragma mark - 734 + #pragma mark SCVLANInterface configuration (APIs) 735 + 736 + /*! 737 + @function SCVLANInterfaceCopyAll 738 + @discussion Returns all VLAN interfaces on the system. 739 + @result The list of VLAN interfaces on the system. 740 + You must release the returned value. 741 + */ 742 + CFArrayRef /* of SCVLANInterfaceRef's */ 743 + SCVLANInterfaceCopyAll (SCPreferencesRef prefs) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 744 + 745 + /*! 746 + @function SCVLANInterfaceCopyAvailablePhysicalInterfaces 747 + @discussion Returns the network capable devices on the system 748 + that can be associated with a VLAN interface. 749 + @result The list of interfaces. 750 + You must release the returned value. 751 + */ 752 + CFArrayRef /* of SCNetworkInterfaceRef's */ 753 + SCVLANInterfaceCopyAvailablePhysicalInterfaces (void) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 754 + 755 + /*! 756 + @function SCVLANInterfaceCreate 757 + @discussion Create a new SCVLANInterface interface. 758 + @param prefs The "preferences" session. 759 + @param physical The physical interface to associate with the VLAN. 760 + @param tag The tag to associate with the VLAN. 761 + @result A reference to the new SCVLANInterface. 762 + You must release the returned value. 763 + 764 + Note: the tag must be in the range (1 <= tag <= 4094) 765 + */ 766 + SCVLANInterfaceRef __nullable 767 + SCVLANInterfaceCreate (SCPreferencesRef prefs, 768 + SCNetworkInterfaceRef physical, 769 + CFNumberRef tag) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 770 + 771 + /*! 772 + @function SCVLANInterfaceRemove 773 + @discussion Removes the SCVLANInterface from the configuration. 774 + @param vlan The SCVLANInterface interface. 775 + @result TRUE if the interface was removed; FALSE if an error was encountered. 776 + */ 777 + Boolean 778 + SCVLANInterfaceRemove (SCVLANInterfaceRef vlan) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 779 + 780 + /*! 781 + @function SCVLANInterfaceGetPhysicalInterface 782 + @discussion Returns the physical interface for the specified VLAN interface. 783 + @param vlan The SCVLANInterface interface. 784 + @result The list of interfaces. 785 + */ 786 + SCNetworkInterfaceRef __nullable 787 + SCVLANInterfaceGetPhysicalInterface (SCVLANInterfaceRef vlan) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 788 + 789 + /*! 790 + @function SCVLANInterfaceGetTag 791 + @discussion Returns the tag for the specified VLAN interface. 792 + @param vlan The SCVLANInterface interface. 793 + @result The tag. 794 + */ 795 + CFNumberRef __nullable 796 + SCVLANInterfaceGetTag (SCVLANInterfaceRef vlan) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 797 + 798 + /*! 799 + @function SCVLANInterfaceGetOptions 800 + @discussion Returns the configuration settings associated with the VLAN interface. 801 + @param vlan The SCVLANInterface interface. 802 + @result The configuration settings associated with the VLAN interface; 803 + NULL if no changes to the default configuration have been saved. 804 + */ 805 + CFDictionaryRef __nullable 806 + SCVLANInterfaceGetOptions (SCVLANInterfaceRef vlan) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 807 + 808 + /*! 809 + @function SCVLANInterfaceSetPhysicalInterfaceAndTag 810 + @discussion Updates the specified VLAN interface. 811 + @param vlan The SCVLANInterface interface. 812 + @param physical The physical interface to associate with the VLAN. 813 + @param tag The tag to associate with the VLAN. 814 + @result TRUE if the configuration was stored; FALSE if an error was encountered. 815 + 816 + Note: the tag must be in the range (1 <= tag <= 4094) 817 + */ 818 + Boolean 819 + SCVLANInterfaceSetPhysicalInterfaceAndTag (SCVLANInterfaceRef vlan, 820 + SCNetworkInterfaceRef physical, 821 + CFNumberRef tag) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 822 + 823 + /*! 824 + @function SCVLANInterfaceSetLocalizedDisplayName 825 + @discussion Sets the localized display name for the specified VLAN interface. 826 + @param vlan The SCVLANInterface interface. 827 + @param newName The new display name. 828 + @result TRUE if the configuration was stored; FALSE if an error was encountered. 829 + */ 830 + Boolean 831 + SCVLANInterfaceSetLocalizedDisplayName (SCVLANInterfaceRef vlan, 832 + CFStringRef newName) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 833 + 834 + /*! 835 + @function SCVLANInterfaceSetOptions 836 + @discussion Sets the configuration settings for the specified VLAN interface. 837 + @param vlan The SCVLANInterface interface. 838 + @param newOptions The new configuration settings. 839 + @result TRUE if the configuration was stored; FALSE if an error was encountered. 840 + */ 841 + Boolean 842 + SCVLANInterfaceSetOptions (SCVLANInterfaceRef vlan, 843 + CFDictionaryRef newOptions) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 844 + 845 + 846 + /* -------------------------------------------------------------------------------- 847 + * PROTOCOLS 848 + * -------------------------------------------------------------------------------- */ 849 + 850 + /*! 851 + @group Protocol configuration 852 + */ 853 + 854 + #pragma mark - 855 + #pragma mark SCNetworkProtocol configuration (APIs) 856 + 857 + /*! 858 + @function SCNetworkProtocolGetTypeID 859 + @discussion Returns the type identifier of all SCNetworkProtocol instances. 860 + */ 861 + CFTypeID 862 + SCNetworkProtocolGetTypeID (void) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 863 + 864 + /*! 865 + @function SCNetworkProtocolGetConfiguration 866 + @discussion Returns the configuration settings associated with the protocol. 867 + @param protocol The network protocol. 868 + @result The configuration settings associated with the protocol; 869 + NULL if no configuration settings are associated with the protocol 870 + or an error was encountered. 871 + */ 872 + CFDictionaryRef __nullable 873 + SCNetworkProtocolGetConfiguration (SCNetworkProtocolRef protocol) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 874 + 875 + /*! 876 + @function SCNetworkProtocolGetEnabled 877 + @discussion Returns whether this protocol has been enabled. 878 + @param protocol The network protocol. 879 + @result TRUE if the protocol is enabled. 880 + */ 881 + Boolean 882 + SCNetworkProtocolGetEnabled (SCNetworkProtocolRef protocol) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 883 + 884 + /*! 885 + @function SCNetworkProtocolGetProtocolType 886 + @discussion Returns the associated network protocol type. 887 + @param protocol The network protocol. 888 + @result The protocol type. 889 + */ 890 + CFStringRef __nullable 891 + SCNetworkProtocolGetProtocolType (SCNetworkProtocolRef protocol) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 892 + 893 + /*! 894 + @function SCNetworkProtocolSetConfiguration 895 + @discussion Stores the configuration settings for the protocol. 896 + @param protocol The network protocol. 897 + @param config The configuration settings to associate with this protocol. 898 + @result TRUE if the configuration was stored; FALSE if an error was encountered. 899 + */ 900 + Boolean 901 + SCNetworkProtocolSetConfiguration (SCNetworkProtocolRef protocol, 902 + CFDictionaryRef __nullable config) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 903 + 904 + /*! 905 + @function SCNetworkProtocolSetEnabled 906 + @discussion Enables or disables the protocol. 907 + @param protocol The network protocol. 908 + @param enabled TRUE if the protocol should be enabled. 909 + @result TRUE if the enabled status was saved; FALSE if an error was encountered. 910 + */ 911 + Boolean 912 + SCNetworkProtocolSetEnabled (SCNetworkProtocolRef protocol, 913 + Boolean enabled) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 914 + 915 + /* -------------------------------------------------------------------------------- 916 + * SERVICES 917 + * -------------------------------------------------------------------------------- */ 918 + 919 + /*! 920 + @group Service configuration 921 + */ 922 + 923 + #pragma mark - 924 + #pragma mark SCNetworkService configuration (APIs) 925 + 926 + /*! 927 + @function SCNetworkServiceGetTypeID 928 + @discussion Returns the type identifier of all SCNetworkService instances. 929 + */ 930 + CFTypeID 931 + SCNetworkServiceGetTypeID (void) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 932 + 933 + /*! 934 + @function SCNetworkServiceAddProtocolType 935 + @discussion Adds a network protocol of the specified type to the 936 + service. The protocal configuration is set to default values 937 + that are appropriate for the interface associated with the 938 + service. 939 + @param service The network service. 940 + @param protocolType The type of SCNetworkProtocol to be added to the service. 941 + @result TRUE if the protocol was added to the service; FALSE if the 942 + protocol was already present or an error was encountered. 943 + */ 944 + Boolean 945 + SCNetworkServiceAddProtocolType (SCNetworkServiceRef service, 946 + CFStringRef protocolType) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 947 + 948 + /*! 949 + @function SCNetworkServiceCopyAll 950 + @discussion Returns all available network services for the specified preferences. 951 + @param prefs The "preferences" session. 952 + @result The list of SCNetworkService services associated with the preferences. 953 + You must release the returned value. 954 + */ 955 + CFArrayRef /* of SCNetworkServiceRef's */ __nullable 956 + SCNetworkServiceCopyAll (SCPreferencesRef prefs) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 957 + 958 + /*! 959 + @function SCNetworkServiceCopyProtocols 960 + @discussion Returns all network protocols associated with the service. 961 + @param service The network service. 962 + @result The list of SCNetworkProtocol protocols associated with the service. 963 + You must release the returned value. 964 + */ 965 + CFArrayRef /* of SCNetworkProtocolRef's */ __nullable 966 + SCNetworkServiceCopyProtocols (SCNetworkServiceRef service) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 967 + 968 + /*! 969 + @function SCNetworkServiceCreate 970 + @discussion Create a new network service for the specified interface in the 971 + configuration. 972 + @param prefs The "preferences" session. 973 + @result A reference to the new SCNetworkService. 974 + You must release the returned value. 975 + */ 976 + SCNetworkServiceRef __nullable 977 + SCNetworkServiceCreate (SCPreferencesRef prefs, 978 + SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 979 + 980 + /*! 981 + @function SCNetworkServiceCopy 982 + @discussion Returns the network service with the specified identifier. 983 + @param prefs The "preferences" session. 984 + @param serviceID The unique identifier for the service. 985 + @result A reference to the SCNetworkService from the associated preferences; 986 + NULL if the serviceID does not exist in the preferences or if an 987 + error was encountered. 988 + You must release the returned value. 989 + */ 990 + SCNetworkServiceRef __nullable 991 + SCNetworkServiceCopy (SCPreferencesRef prefs, 992 + CFStringRef serviceID) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 993 + 994 + /*! 995 + @function SCNetworkServiceEstablishDefaultConfiguration 996 + @discussion Establishes the "default" configuration for a network 997 + service. This configuration includes the addition of 998 + network protocols for the service (with "default" 999 + configuration options). 1000 + @param service The network service. 1001 + @result TRUE if the configuration was updated; FALSE if an error was encountered. 1002 + */ 1003 + Boolean 1004 + SCNetworkServiceEstablishDefaultConfiguration (SCNetworkServiceRef service) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1005 + 1006 + /*! 1007 + @function SCNetworkServiceGetEnabled 1008 + @discussion Returns whether this service has been enabled. 1009 + @param service The network service. 1010 + @result TRUE if the service is enabled. 1011 + */ 1012 + Boolean 1013 + SCNetworkServiceGetEnabled (SCNetworkServiceRef service) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1014 + 1015 + /*! 1016 + @function SCNetworkServiceGetInterface 1017 + @discussion Returns the network interface associated with the service. 1018 + @param service The network service. 1019 + @result A reference to the SCNetworkInterface associated with the service; 1020 + NULL if an error was encountered. 1021 + */ 1022 + SCNetworkInterfaceRef __nullable 1023 + SCNetworkServiceGetInterface (SCNetworkServiceRef service) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1024 + 1025 + /*! 1026 + @function SCNetworkServiceGetName 1027 + @discussion Returns the [user specified] name associated with the service. 1028 + @param service The network service. 1029 + @result The [user specified] name. 1030 + */ 1031 + CFStringRef __nullable 1032 + SCNetworkServiceGetName (SCNetworkServiceRef service) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1033 + 1034 + /*! 1035 + @function SCNetworkServiceCopyProtocol 1036 + @discussion Returns the network protocol of the specified type for 1037 + the service. 1038 + @param service The network service. 1039 + @result A reference to the SCNetworkProtocol associated with the service; 1040 + NULL if this protocol has not been added or if an error was encountered. 1041 + You must release the returned value. 1042 + */ 1043 + SCNetworkProtocolRef __nullable 1044 + SCNetworkServiceCopyProtocol (SCNetworkServiceRef service, 1045 + CFStringRef protocolType) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1046 + 1047 + /*! 1048 + @function SCNetworkServiceGetServiceID 1049 + @discussion Returns the identifier for the service. 1050 + @param service The network service. 1051 + @result The service identifier. 1052 + */ 1053 + CFStringRef __nullable 1054 + SCNetworkServiceGetServiceID (SCNetworkServiceRef service) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1055 + 1056 + /*! 1057 + @function SCNetworkServiceRemove 1058 + @discussion Removes the network service from the configuration. 1059 + @param service The network service. 1060 + @result TRUE if the service was removed; FALSE if an error was encountered. 1061 + */ 1062 + Boolean 1063 + SCNetworkServiceRemove (SCNetworkServiceRef service) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1064 + 1065 + /*! 1066 + @function SCNetworkServiceRemoveProtocolType 1067 + @discussion Removes the network protocol of the specified type from the service. 1068 + @param service The network service. 1069 + @param protocolType The type of SCNetworkProtocol to be removed from the service. 1070 + @result TRUE if the protocol was removed to the service; FALSE if the 1071 + protocol was not configured or an error was encountered. 1072 + */ 1073 + Boolean 1074 + SCNetworkServiceRemoveProtocolType (SCNetworkServiceRef service, 1075 + CFStringRef protocolType) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1076 + 1077 + /*! 1078 + @function SCNetworkServiceSetEnabled 1079 + @discussion Enables or disables the service. 1080 + @param service The network service. 1081 + @param enabled TRUE if the service should be enabled. 1082 + @result TRUE if the enabled status was saved; FALSE if an error was encountered. 1083 + */ 1084 + Boolean 1085 + SCNetworkServiceSetEnabled (SCNetworkServiceRef service, 1086 + Boolean enabled) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1087 + 1088 + /*! 1089 + @function SCNetworkServiceSetName 1090 + @discussion Stores the [user specified] name for the service. 1091 + @param service The network service. 1092 + @param name The [user defined] name to associate with the service. 1093 + @result TRUE if the name was saved; FALSE if an error was encountered. 1094 + 1095 + Note: although not technically required, the [user specified] names 1096 + for all services within any given set should be unique. As such, an 1097 + error will be returned if you attemp to name two services with the 1098 + same string. 1099 + */ 1100 + Boolean 1101 + SCNetworkServiceSetName (SCNetworkServiceRef service, 1102 + CFStringRef __nullable name) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1103 + 1104 + 1105 + /* -------------------------------------------------------------------------------- 1106 + * SETS 1107 + * -------------------------------------------------------------------------------- */ 1108 + 1109 + /*! 1110 + @group Set configuration 1111 + */ 1112 + 1113 + #pragma mark - 1114 + #pragma mark SCNetworkSet configuration (APIs) 1115 + 1116 + /*! 1117 + @function SCNetworkSetGetTypeID 1118 + @discussion Returns the type identifier of all SCNetworkSet instances. 1119 + */ 1120 + CFTypeID 1121 + SCNetworkSetGetTypeID (void) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1122 + 1123 + /*! 1124 + @function SCNetworkSetAddService 1125 + @discussion Adds the network service to the set. 1126 + @param set The network set. 1127 + @param service The service to be added. 1128 + @result TRUE if the service was added to the set; FALSE if the 1129 + service was already present or an error was encountered. 1130 + 1131 + Note: prior to Mac OS X 10.5, the Network Preferences UI 1132 + did not support having a single service being a member of 1133 + more than one set. An error will be returned if you attempt 1134 + to add a service to more than one set on a pre-10.5 system. 1135 + */ 1136 + Boolean 1137 + SCNetworkSetAddService (SCNetworkSetRef set, 1138 + SCNetworkServiceRef service) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1139 + 1140 + /*! 1141 + @function SCNetworkSetContainsInterface 1142 + @discussion Checks if an interface is represented by at least one 1143 + network service in the specified set. 1144 + @param set The network set. 1145 + @param interface The network interface. 1146 + @result TRUE if the interface is represented in the set; FALSE if not. 1147 + */ 1148 + Boolean 1149 + SCNetworkSetContainsInterface (SCNetworkSetRef set, 1150 + SCNetworkInterfaceRef interface) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1151 + 1152 + /*! 1153 + @function SCNetworkSetCopyAll 1154 + @discussion Returns all available sets for the specified preferences. 1155 + @param prefs The "preferences" session. 1156 + @result The list of SCNetworkSet sets associated with the preferences. 1157 + You must release the returned value. 1158 + */ 1159 + CFArrayRef /* of SCNetworkSetRef's */ __nullable 1160 + SCNetworkSetCopyAll (SCPreferencesRef prefs) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1161 + 1162 + /*! 1163 + @function SCNetworkSetCopyCurrent 1164 + @discussion Returns the "current" set. 1165 + @param prefs The "preferences" session. 1166 + @result The current set; NULL if no current set has been defined. 1167 + */ 1168 + SCNetworkSetRef __nullable 1169 + SCNetworkSetCopyCurrent (SCPreferencesRef prefs) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1170 + 1171 + /*! 1172 + @function SCNetworkSetCopyServices 1173 + @discussion Returns all network services associated with the set. 1174 + @param set The network set. 1175 + @result The list of SCNetworkService services associated with the set. 1176 + You must release the returned value. 1177 + */ 1178 + CFArrayRef /* of SCNetworkServiceRef's */ __nullable 1179 + SCNetworkSetCopyServices (SCNetworkSetRef set) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1180 + 1181 + /*! 1182 + @function SCNetworkSetCreate 1183 + @discussion Create a new set in the configuration. 1184 + @param prefs The "preferences" session. 1185 + @result A reference to the new SCNetworkSet. 1186 + You must release the returned value. 1187 + */ 1188 + SCNetworkSetRef __nullable 1189 + SCNetworkSetCreate (SCPreferencesRef prefs) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1190 + 1191 + /*! 1192 + @function SCNetworkSetCopy 1193 + @discussion Returns the set with the specified identifier. 1194 + @param prefs The "preferences" session. 1195 + @param setID The unique identifier for the set. 1196 + @result A reference to the SCNetworkSet from the associated preferences; 1197 + NULL if the setID does not exist in the preferences or if an 1198 + error was encountered. 1199 + You must release the returned value. 1200 + */ 1201 + SCNetworkSetRef __nullable 1202 + SCNetworkSetCopy (SCPreferencesRef prefs, 1203 + CFStringRef setID) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1204 + 1205 + /*! 1206 + @function SCNetworkSetGetName 1207 + @discussion Returns the [user specified] name associated with the set. 1208 + @param set The network set. 1209 + @result The [user specified] name. 1210 + */ 1211 + CFStringRef __nullable 1212 + SCNetworkSetGetName (SCNetworkSetRef set) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1213 + 1214 + /*! 1215 + @function SCNetworkSetGetSetID 1216 + @discussion Returns the identifier for the set. 1217 + @param set The network set. 1218 + @result The set identifier. 1219 + */ 1220 + CFStringRef __nullable 1221 + SCNetworkSetGetSetID (SCNetworkSetRef set) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1222 + 1223 + /*! 1224 + @function SCNetworkSetGetServiceOrder 1225 + @discussion Returns the [user specified] ordering of network services 1226 + within the set. 1227 + @param set The network set. 1228 + @result The ordered list of CFStringRef service identifiers associated 1229 + with the set; 1230 + NULL if no service order has been specified or if an error 1231 + was encountered. 1232 + */ 1233 + CFArrayRef /* of serviceID CFStringRef's */ __nullable 1234 + SCNetworkSetGetServiceOrder (SCNetworkSetRef set) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1235 + 1236 + /*! 1237 + @function SCNetworkSetRemove 1238 + @discussion Removes the set from the configuration. 1239 + @param set The network set. 1240 + @result TRUE if the set was removed; FALSE if an error was encountered. 1241 + */ 1242 + Boolean 1243 + SCNetworkSetRemove (SCNetworkSetRef set) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1244 + 1245 + /*! 1246 + @function SCNetworkSetRemoveService 1247 + @discussion Removes the network service from the set. 1248 + @param set The network set. 1249 + @param service The service to be removed. 1250 + @result TRUE if the service was removed from the set; FALSE if the 1251 + service was not already present or an error was encountered. 1252 + */ 1253 + Boolean 1254 + SCNetworkSetRemoveService (SCNetworkSetRef set, 1255 + SCNetworkServiceRef service) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1256 + 1257 + /*! 1258 + @function SCNetworkSetSetCurrent 1259 + @discussion Specifies the set that should be the "current" set. 1260 + @param set The network set. 1261 + @result TRUE if the current set was updated; 1262 + FALSE if an error was encountered. 1263 + */ 1264 + Boolean 1265 + SCNetworkSetSetCurrent (SCNetworkSetRef set) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1266 + 1267 + /*! 1268 + @function SCNetworkSetSetName 1269 + @discussion Stores the [user specified] name for the set. 1270 + @param set The network set. 1271 + @param name The [user defined] name to associate with the set. 1272 + @result TRUE if the name was saved; FALSE if an error was encountered. 1273 + 1274 + Note: although not technically required, the [user specified] names 1275 + for all set should be unique. As such, an error will be returned if 1276 + you attemp to name two sets with the same string. 1277 + */ 1278 + Boolean 1279 + SCNetworkSetSetName (SCNetworkSetRef set, 1280 + CFStringRef __nullable name) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1281 + 1282 + /*! 1283 + @function SCNetworkSetSetServiceOrder 1284 + @discussion Stores the [user specified] ordering of network services for the set. 1285 + @param set The network set. 1286 + @param newOrder The ordered list of CFStringRef service identifiers for the set. 1287 + @result TRUE if the new service order was saved; FALSE if an error was encountered. 1288 + */ 1289 + Boolean 1290 + SCNetworkSetSetServiceOrder (SCNetworkSetRef set, 1291 + CFArrayRef newOrder) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); /* serviceID CFStringRef's */ 1292 + 1293 + 1294 + __END_DECLS 1295 + 1296 + CF_ASSUME_NONNULL_END 1297 + CF_IMPLICIT_BRIDGING_DISABLED 1298 + 1299 + #endif /* _SCNETWORKCONFIGURATION_H */
+566
src/SystemConfiguration/include/SystemConfiguration/SCNetworkConnection.h
··· 1 + /* 2 + * Copyright (c) 2003-2006, 2008-2010, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCNETWORKCONNECTION_H 25 + #define _SCNETWORKCONNECTION_H 26 + 27 + #include <Availability.h> 28 + #include <TargetConditionals.h> 29 + #include <sys/cdefs.h> 30 + #include <dispatch/dispatch.h> 31 + #include <sys/types.h> 32 + #include <sys/socket.h> 33 + #include <CoreFoundation/CoreFoundation.h> 34 + #include <SystemConfiguration/SystemConfiguration.h> 35 + 36 + CF_IMPLICIT_BRIDGING_ENABLED 37 + CF_ASSUME_NONNULL_BEGIN 38 + 39 + /*! 40 + @header SCNetworkConnection 41 + @discussion The SCNetworkConnection API contains functions that allow 42 + an application to control connection-oriented services defined 43 + in the system and get connection-status information. 44 + 45 + The functions in the SCNetworkConnection API allow you to 46 + control and get information about existing services only. 47 + If you need to create, change, or remove services, you 48 + should use the SCNetworkConfiguration API instead. 49 + 50 + Note: Currently, only PPP services can be controlled. 51 + */ 52 + 53 + 54 + /*! 55 + @typedef SCNetworkConnectionRef 56 + @discussion This is the handle to manage a connection-oriented service. 57 + */ 58 + typedef const struct CF_BRIDGED_TYPE(id) __SCNetworkConnection * SCNetworkConnectionRef; 59 + 60 + 61 + /*! 62 + @typedef SCNetworkConnectionContext 63 + @discussion Structure containing user-specified data and callbacks 64 + for a SCNetworkConnection. 65 + @field version The version number of the structure type being passed 66 + in as a parameter to the SCNetworkConnectionCreateWithServiceID 67 + function. This structure is version 0. 68 + @field info A C pointer to a user-specified block of data. 69 + @field retain The callback used to add a retain for the info field. 70 + If this parameter is not a pointer to a function of the correct 71 + prototype, the behavior is undefined. The value may be NULL. 72 + @field release The calllback used to remove a retain previously added 73 + for the info field. If this parameter is not a pointer to a 74 + function of the correct prototype, the behavior is undefined. 75 + The value may be NULL. 76 + @field copyDescription The callback used to provide a description of 77 + the info field. 78 + */ 79 + typedef struct { 80 + CFIndex version; 81 + void * __nullable info; 82 + const void * __nonnull (* __nullable retain)(const void *info); 83 + void (* __nullable release)(const void *info); 84 + CFStringRef __nonnull (* __nullable copyDescription)(const void *info); 85 + } SCNetworkConnectionContext; 86 + 87 + 88 + 89 + /*! 90 + @enum SCNetworkConnectionStatus 91 + @discussion Status of the network connection. 92 + This status is intended to be generic and high level. 93 + An extended status, specific to the type of network 94 + connection is also available for applications that 95 + need additonal information. 96 + @constant kSCNetworkConnectionInvalid 97 + The network connection refers to an invalid service. 98 + @constant kSCNetworkConnectionDisconnected 99 + The network connection is disconnected. 100 + @constant kSCNetworkConnectionConnecting 101 + The network connection is connecting. 102 + @constant kSCNetworkConnectionConnected 103 + The network connection is connected. 104 + @constant kSCNetworkConnectionDisconnecting 105 + The network connection is disconnecting. 106 + */ 107 + typedef CF_ENUM(int32_t, SCNetworkConnectionStatus) { 108 + kSCNetworkConnectionInvalid = -1, 109 + kSCNetworkConnectionDisconnected = 0, 110 + kSCNetworkConnectionConnecting = 1, 111 + kSCNetworkConnectionConnected = 2, 112 + kSCNetworkConnectionDisconnecting = 3 113 + }; 114 + 115 + 116 + /*! 117 + @enum SCNetworkConnectionPPPStatus 118 + @discussion PPP-specific status of the network connection. 119 + This status is returned as part of the extended information 120 + for a PPP service. 121 + Note: additional status might be returned in the future. 122 + Your application should be prepared to receive an unknown value. 123 + @constant kSCNetworkConnectionPPPDisconnected 124 + PPP is disconnected. 125 + @constant kSCNetworkConnectionPPPInitializing 126 + PPP is initializing. 127 + @constant kSCNetworkConnectionPPPConnectingLink 128 + PPP is connecting the lower connection layer (for example, 129 + the modem is dialing out). 130 + @constant kSCNetworkConnectionPPPDialOnTraffic 131 + PPP is waiting for networking traffic to automatically 132 + establish the connection. 133 + @constant kSCNetworkConnectionPPPNegotiatingLink 134 + The PPP lower layer is connected and PPP is negotiating the 135 + link layer (LCP protocol). 136 + @constant kSCNetworkConnectionPPPAuthenticating 137 + PPP is authenticating to the server (PAP, CHAP, MS-CHAP or 138 + EAP protocols). 139 + @constant kSCNetworkConnectionPPPWaitingForCallBack 140 + PPP is waiting for the server to call back. 141 + @constant kSCNetworkConnectionPPPNegotiatingNetwork 142 + PPP is now authenticated and negotiating the networking 143 + layer (IPCP or IPv6CP protocols) 144 + @constant kSCNetworkConnectionPPPConnected 145 + PPP is now fully connected for at least one networking layer. 146 + Additional networking protocol might still be negotiating. 147 + @constant kSCNetworkConnectionPPPTerminating 148 + PPP networking and link protocols are terminating. 149 + @constant kSCNetworkConnectionPPPDisconnectingLink 150 + PPP is disconnecting the lower level (for example, the modem 151 + is hanging up). 152 + @constant kSCNetworkConnectionPPPHoldingLinkOff 153 + PPP is disconnected and maintaining the link temporarily off. 154 + @constant kSCNetworkConnectionPPPSuspended 155 + PPP is suspended as a result of the suspend command (for 156 + example, when a V.92 Modem is On Hold). 157 + @constant kSCNetworkConnectionPPPWaitingForRedial 158 + PPP has found a busy server and is waiting for redial. 159 + */ 160 + typedef CF_ENUM(int32_t, SCNetworkConnectionPPPStatus) { 161 + kSCNetworkConnectionPPPDisconnected = 0, 162 + kSCNetworkConnectionPPPInitializing = 1, 163 + kSCNetworkConnectionPPPConnectingLink = 2, 164 + kSCNetworkConnectionPPPDialOnTraffic = 3, 165 + kSCNetworkConnectionPPPNegotiatingLink = 4, 166 + kSCNetworkConnectionPPPAuthenticating = 5, 167 + kSCNetworkConnectionPPPWaitingForCallBack = 6, 168 + kSCNetworkConnectionPPPNegotiatingNetwork = 7, 169 + kSCNetworkConnectionPPPConnected = 8, 170 + kSCNetworkConnectionPPPTerminating = 9, 171 + kSCNetworkConnectionPPPDisconnectingLink = 10, 172 + kSCNetworkConnectionPPPHoldingLinkOff = 11, 173 + kSCNetworkConnectionPPPSuspended = 12, 174 + kSCNetworkConnectionPPPWaitingForRedial = 13 175 + }; 176 + 177 + /*! 178 + @typedef SCNetworkConnectionCallBack 179 + @discussion Type of the callback function used when a 180 + status event is delivered. 181 + @param status The connection status. 182 + @param connection The connection reference. 183 + @param info Application-specific information. 184 + */ 185 + typedef void (*SCNetworkConnectionCallBack) ( 186 + SCNetworkConnectionRef connection, 187 + SCNetworkConnectionStatus status, 188 + void * __nullable info 189 + ); 190 + 191 + 192 + 193 + /* 194 + Keys for the statistics dictionary 195 + */ 196 + 197 + #define kSCNetworkConnectionBytesIn CFSTR("BytesIn") /* CFNumber */ 198 + #define kSCNetworkConnectionBytesOut CFSTR("BytesOut") /* CFNumber */ 199 + #define kSCNetworkConnectionPacketsIn CFSTR("PacketsIn") /* CFNumber */ 200 + #define kSCNetworkConnectionPacketsOut CFSTR("PacketsOut") /* CFNumber */ 201 + #define kSCNetworkConnectionErrorsIn CFSTR("ErrorsIn") /* CFNumber */ 202 + #define kSCNetworkConnectionErrorsOut CFSTR("ErrorsOut") /* CFNumber */ 203 + 204 + 205 + /* 206 + Keys for the SCNetworkConnectionCopyUserPreferences() "selectionOptions" 207 + dictionary 208 + */ 209 + 210 + /*! 211 + @define kSCNetworkConnectionSelectionOptionOnDemandHostName 212 + @discussion A host name that will be used to select the 213 + "best" SCNetworkConnection. 214 + */ 215 + #define kSCNetworkConnectionSelectionOptionOnDemandHostName CFSTR("OnDemandHostName") // CFString 216 + // __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA) 217 + 218 + /*! 219 + @define kSCNetworkConnectionSelectionOptionOnDemandRetry 220 + @discussion A boolean value used to indicate whether a DNS query has 221 + already been issued for the specified OnDemand host name. 222 + */ 223 + #define kSCNetworkConnectionSelectionOptionOnDemandRetry CFSTR("OnDemandRetry") // CFBoolean 224 + // __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA) 225 + 226 + __BEGIN_DECLS 227 + 228 + /*! 229 + @function SCNetworkConnectionGetTypeID 230 + @discussion Returns the type identifier of all SCNetworkConnection 231 + instances. 232 + */ 233 + CFTypeID 234 + SCNetworkConnectionGetTypeID (void) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 235 + 236 + 237 + /*! 238 + @function SCNetworkConnectionCopyUserPreferences 239 + @discussion Provides the default service ID and a dictionary of user 240 + options for the connection. Applications can use the 241 + returned serviceID and userOptions values to open a 242 + connection on the fly. 243 + @param selectionOptions Currently unimplemented. Pass NULL for this 244 + version. 245 + @param serviceID Reference to the default serviceID for starting 246 + connections, this value will be returned by the function. 247 + @param userOptions Reference to default userOptions for starting 248 + connections, this will be returned by the function. 249 + @result Returns TRUE if there is a valid service to dial; 250 + FALSE if the function was unable to retrieve a service to dial. 251 + */ 252 + Boolean 253 + SCNetworkConnectionCopyUserPreferences ( 254 + CFDictionaryRef __nullable selectionOptions, 255 + CFStringRef __nonnull * __nullable serviceID, 256 + CFDictionaryRef __nonnull * __nullable userOptions 257 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 258 + 259 + 260 + /*! 261 + @function SCNetworkConnectionCreateWithServiceID 262 + @discussion Creates a new connection reference to use for getting 263 + the status or for connecting or disconnecting the associated 264 + service. 265 + @param allocator The CFAllocator that should be used to allocate 266 + memory for the connection structure. This parameter may be 267 + NULL in which case the current default CFAllocator is used. 268 + If this reference is not a valid CFAllocator, the behavior 269 + is undefined. 270 + @param serviceID A string that defines the service identifier 271 + of the connection. Service identifiers uniquely identify 272 + services in the system configuration database. 273 + @param callout The function to be called when the status 274 + of the connection changes. If this parameter is NULL, the 275 + application will not receive notifications of status change 276 + and will need to poll for updates. 277 + @param context The SCNetworkConnectionContext associated with the 278 + callout. 279 + @result Returns a reference to the new SCNetworkConnection. 280 + */ 281 + SCNetworkConnectionRef __nullable 282 + SCNetworkConnectionCreateWithServiceID ( 283 + CFAllocatorRef __nullable allocator, 284 + CFStringRef serviceID, 285 + SCNetworkConnectionCallBack __nullable callout, 286 + SCNetworkConnectionContext * __nullable context 287 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 288 + 289 + 290 + /*! 291 + @function SCNetworkConnectionCopyServiceID 292 + @discussion Returns the service ID associated with the SCNetworkConnection. 293 + @param connection The SCNetworkConnection to obtain status from. 294 + @result Returns the service ID associated with the SCNetworkConnection. 295 + */ 296 + CFStringRef __nullable 297 + SCNetworkConnectionCopyServiceID ( 298 + SCNetworkConnectionRef connection 299 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 300 + 301 + 302 + /*! 303 + @function SCNetworkConnectionGetStatus 304 + @discussion Returns the status of the SCNetworkConnection. 305 + A status is one of the following values: 306 + <pre> 307 + @textblock 308 + &#32 309 + kSCNetworkConnectionInvalid 310 + kSCNetworkConnectionDisconnected 311 + kSCNetworkConnectionConnecting 312 + kSCNetworkConnectionDisconnecting 313 + kSCNetworkConnectionConnected 314 + @/textblock 315 + </pre> 316 + @param connection The SCNetworkConnection to obtain status from. 317 + @result Returns the status value. 318 + */ 319 + SCNetworkConnectionStatus 320 + SCNetworkConnectionGetStatus ( 321 + SCNetworkConnectionRef connection 322 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 323 + 324 + 325 + /*! 326 + @function SCNetworkConnectionCopyExtendedStatus 327 + @discussion Returns the extended status of the connection. 328 + An extended status dictionary contains specific dictionaries 329 + describing the status for each subcomponent of the service. 330 + 331 + For example, a status dictionary will contain the following 332 + sub-dictionaries, keys, and values: 333 + <pre> 334 + @textblock 335 + &#32 336 + IPv4 : Addresses : the assigned IP address. 337 + &#32 338 + PPP : Status : the PPP-specific status of type 339 + SCNetworkConnectionPPPStatus. 340 + &#32 341 + LastCause : Available when the status is "Disconnected" 342 + and contains the last error associated with 343 + connecting or disconnecting. 344 + &#32 345 + ConnectTime : the time when the connection was 346 + established. 347 + &#32 348 + Modem : ConnectSpeed : the speed of the modem connection 349 + in bits/second. 350 + &#32 351 + IPSec : Status : the IPSec-specific status of type 352 + SCNetworkConnectionIPSecStatus 353 + &#32 354 + ConnectTime : the time when the connection was 355 + established. 356 + 357 + @/textblock 358 + </pre> 359 + Other dictionaries could be present for PPPoE, PPTP, and L2TP. 360 + 361 + The status dictionary may be extended in the future to contain 362 + additional information. 363 + @param connection The SCNetworkConnection to obtain status from. 364 + @result Returns the status dictionary. 365 + If NULL is returned, the error can be retrieved using the SCError function. 366 + */ 367 + CFDictionaryRef __nullable 368 + SCNetworkConnectionCopyExtendedStatus ( 369 + SCNetworkConnectionRef connection 370 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 371 + 372 + 373 + /*! 374 + @function SCNetworkConnectionCopyStatistics 375 + @discussion Returns the statistics of the SCNetworkConnection. 376 + A statistic dictionary contains specific dictionaries 377 + with statistics for each subcomponent of the service. 378 + 379 + For example, a statistics dictionary will contain the following 380 + sub-dictionaries, keys, and values: 381 + <pre> 382 + @textblock 383 + &#32 384 + PPP : BytesIn : 385 + PPP : BytesOut : Contains the number of bytes going up into 386 + (or coming out of) the network stack for 387 + any networking protocol without the PPP 388 + headers and trailers. 389 + &#32 390 + PPP : PacketsIn : 391 + PPP : PacketsOut : Contains the number of packets going up into 392 + (or coming out of) the network stack for 393 + any networking protocol without the PPP 394 + headers and trailers. 395 + &#32 396 + PPP : ErrorsIn : 397 + PPP : ErrorsOut : Contains the number of errors going up into 398 + (or coming out of) the network stack for 399 + any networking protocol without the PPP 400 + headers and trailers. 401 + @/textblock 402 + </pre> 403 + The statistics dictionary may be extended in the future to 404 + contain additional information. 405 + @param connection The SCNetworkConnection to obtained statistics from. 406 + @result Returns the statistics dictionary. 407 + If NULL is returned, the error can be retrieved using the SCError function. 408 + */ 409 + CFDictionaryRef __nullable 410 + SCNetworkConnectionCopyStatistics ( 411 + SCNetworkConnectionRef connection 412 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 413 + 414 + 415 + /*! 416 + @function SCNetworkConnectionStart 417 + @discussion Starts the connection for the SCNetworkConnection. 418 + The connection process is asynchronous and the function will 419 + return immediately. The connection status can be obtained 420 + by polling or by callback. The connection is made with the 421 + default settings from the administrator. Some of the settings 422 + can be overridden for the duration of the connection. These 423 + are specified in an options dictionary. The options dictionary 424 + uses the same format as a network service defined in the system 425 + configuration preferences schema. 426 + 427 + Note: Starting and stopping of connections is implicitly 428 + arbitrated. Calling SCNetworkConnectionStart on a connection 429 + already started will indicate that the application has 430 + interest in the connection and it shouldn't be stopped by 431 + anyone else. 432 + @param connection The SCNetworkConnection to start. 433 + @param userOptions The options dictionary to start the connection with. 434 + If userOptions is NULL, the default settings will be used. 435 + If userOptions are specified, they must be in the same format 436 + as network services stored in the system configuration 437 + preferences schema. The options will override the default 438 + settings defined for the service. 439 + 440 + For security reasons, not all options can be overridden; the 441 + appropriate merging of all settings will be done before the 442 + connection is established, and inappropriate options will be 443 + ignored. 444 + @param linger This parameter indicates whether or not the connection 445 + can stay around when the application no longer has interest 446 + in it. A typical application should pass FALSE, and the 447 + connection will be automatically stopped when the reference 448 + is released or if the application quits. If the application 449 + passes TRUE, the application can release the reference or 450 + exit and the connection will be maintained until a timeout 451 + event, until a specific stop request occurs, or until an 452 + error is encountered. 453 + @result Returns TRUE if the connection was correctly started (the 454 + actual connection is not established yet, and the connection 455 + status needs to be periodically checked); FALSE if the 456 + connection request was not started. The error must be 457 + retrieved from the SCError function. 458 + */ 459 + Boolean 460 + SCNetworkConnectionStart ( 461 + SCNetworkConnectionRef connection, 462 + CFDictionaryRef __nullable userOptions, 463 + Boolean linger 464 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 465 + 466 + 467 + /*! 468 + @function SCNetworkConnectionStop 469 + @discussion Stops the connection for the SCNetworkConnection. 470 + The disconnection process is asynchronous and the function 471 + will return immediately. The connection status can be 472 + obtained by polling or by callback. This function performs 473 + an arbitrated stop of the connection. If several applications 474 + have marked their interest in the connection, by calling 475 + SCNetworkConnectionStart, the call will succeed but the 476 + actual connection will be maintained until the last interested 477 + application calls SCNetworkConnectionStop. 478 + 479 + In certain cases, you might want to stop the connection anyway. 480 + In these cases, you set the forceDisconnect argument to TRUE. 481 + @param connection The SCNetworkConnection to stop. 482 + @result Returns TRUE if the disconnection request succeeded; 483 + FALSE if the disconnection request failed. 484 + The error must be retrieved from the SCError function. 485 + */ 486 + Boolean 487 + SCNetworkConnectionStop ( 488 + SCNetworkConnectionRef connection, 489 + Boolean forceDisconnect 490 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 491 + 492 + 493 + /*! 494 + @function SCNetworkConnectionCopyUserOptions 495 + @discussion Copies the user options used to start the connection. 496 + This is a mechanism a client can use to retrieve the user options 497 + previously passed to the SCNetworkConnectionStart function. 498 + @param connection The SCNetworkConnection to obtain options from. 499 + @result Returns the service dictionary containing the connection options. 500 + The dictionary can be empty if no user options were used. 501 + If NULL is returned, the error can be retrieved using the SCError function. 502 + */ 503 + CFDictionaryRef __nullable 504 + SCNetworkConnectionCopyUserOptions ( 505 + SCNetworkConnectionRef connection 506 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 507 + 508 + 509 + /*! 510 + @function SCNetworkConnectionScheduleWithRunLoop 511 + @discussion Schedules a connection with the run loop. 512 + @param connection The SCNetworkConnection to schedule. 513 + @param runLoop The run loop to schedule with. 514 + @param runLoopMode The run loop mode. 515 + @result Returns TRUE if the connection is scheduled successfully; 516 + FALSE if the scheduling failed. 517 + The error can be retrieved using the SCError function. 518 + */ 519 + Boolean 520 + SCNetworkConnectionScheduleWithRunLoop ( 521 + SCNetworkConnectionRef connection, 522 + CFRunLoopRef runLoop, 523 + CFStringRef runLoopMode 524 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 525 + 526 + 527 + /*! 528 + @function SCNetworkConnectionUnscheduleFromRunLoop 529 + @discussion Unschedules a connection from the run loop. 530 + @param connection The SCNetworkConnection to unschedule. 531 + @param runLoop The run loop to unschedule from. 532 + @param runLoopMode The run loop mode. 533 + @result Returns TRUE if the connection is unscheduled successfully; 534 + FALSE if the unscheduling failed. 535 + The error can be retrieved using the SCError function. 536 + */ 537 + Boolean 538 + SCNetworkConnectionUnscheduleFromRunLoop ( 539 + SCNetworkConnectionRef connection, 540 + CFRunLoopRef runLoop, 541 + CFStringRef runLoopMode 542 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 543 + 544 + 545 + /*! 546 + @function SCNetworkConnectionSetDispatchQueue 547 + @discussion Caller provides a dispatch queue on which the callback contained in connection will run. 548 + @param connection The SCNetworkConnection to notify. 549 + @param queue The libdispatch queue to run the callback on. 550 + Pass NULL to disable notifications, and release queue. 551 + @result Returns TRUE if the notifications have been enabled/disabled as desired; 552 + FALSE if not. 553 + The error can be retrieved using the SCError function. 554 + */ 555 + Boolean 556 + SCNetworkConnectionSetDispatchQueue ( 557 + SCNetworkConnectionRef connection, 558 + dispatch_queue_t __nullable queue 559 + ) __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 560 + 561 + __END_DECLS 562 + 563 + CF_ASSUME_NONNULL_END 564 + CF_IMPLICIT_BRIDGING_DISABLED 565 + 566 + #endif /* _SCNETWORKCONNECTION_H */
+362
src/SystemConfiguration/include/SystemConfiguration/SCNetworkReachability.h
··· 1 + /* 2 + * Copyright (c) 2003-2005, 2008-2010, 2015-2016 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCNETWORKREACHABILITY_H 25 + #define _SCNETWORKREACHABILITY_H 26 + 27 + #include <Availability.h> 28 + #include <TargetConditionals.h> 29 + #include <sys/cdefs.h> 30 + #include <sys/types.h> 31 + #include <sys/socket.h> 32 + #include <CoreFoundation/CoreFoundation.h> 33 + #include <SystemConfiguration/SCNetwork.h> 34 + #include <dispatch/dispatch.h> 35 + 36 + CF_IMPLICIT_BRIDGING_ENABLED 37 + CF_ASSUME_NONNULL_BEGIN 38 + 39 + /*! 40 + @header SCNetworkReachability 41 + @discussion The SCNetworkReachability API allows an application to 42 + determine the status of a system's current network 43 + configuration and the reachability of a target host. 44 + In addition, reachability can be monitored with notifications 45 + that are sent when the status has changed. 46 + 47 + "Reachability" reflects whether a data packet, sent by 48 + an application into the network stack, can leave the local 49 + computer. 50 + Note that reachability does <i>not</i> guarantee that the data 51 + packet will actually be received by the host. 52 + 53 + When reachability is used without scheduling updates on a runloop 54 + or dispatch queue, the system will not generate DNS traffic and 55 + will be optimistic about its reply - it will assume that the target 56 + is reachable if there is a default route but a DNS query is 57 + needed to learn the address. When scheduled, the first callback 58 + will behave like an unscheduled call but subsequent calls will 59 + leverage DNS results. 60 + 61 + When used on IPv6-only (NAT64+DNS64) networks, reachability checks 62 + for IPv4 address literals (either a struct sockaddr_in * or textual 63 + representations such as "192.0.2.1") will automatically give the 64 + result for the corresponding synthesized IPv6 address. 65 + On those networks, creating a CFSocketStream or NSURLSession 66 + to that address will send packets but trying to connect using 67 + BSD socket APIs will fail. 68 + */ 69 + 70 + /*! 71 + @typedef SCNetworkReachabilityRef 72 + @discussion This is the handle to a network address or name. 73 + */ 74 + typedef const struct CF_BRIDGED_TYPE(id) __SCNetworkReachability * SCNetworkReachabilityRef; 75 + 76 + 77 + /*! 78 + @typedef SCNetworkReachabilityContext 79 + Structure containing user-specified data and callbacks for SCNetworkReachability. 80 + @field version The version number of the structure type being passed 81 + in as a parameter to the SCDynamicStore creation function. 82 + This structure is version 0. 83 + @field info A C pointer to a user-specified block of data. 84 + @field retain The callback used to add a retain for the info field. 85 + If this parameter is not a pointer to a function of the correct 86 + prototype, the behavior is undefined. The value may be NULL. 87 + @field release The calllback used to remove a retain previously added 88 + for the info field. If this parameter is not a pointer to a 89 + function of the correct prototype, the behavior is undefined. 90 + The value may be NULL. 91 + @field copyDescription The callback used to provide a description of 92 + the info field. 93 + */ 94 + typedef struct { 95 + CFIndex version; 96 + void * __nullable info; 97 + const void * __nonnull (* __nullable retain)(const void *info); 98 + void (* __nullable release)(const void *info); 99 + CFStringRef __nonnull (* __nullable copyDescription)(const void *info); 100 + } SCNetworkReachabilityContext; 101 + 102 + /*! 103 + @enum SCNetworkReachabilityFlags 104 + @discussion Flags that indicate whether the specified network 105 + nodename or address is reachable, whether a connection is 106 + required, and whether some user intervention may be required 107 + when establishing a connection. 108 + @constant kSCNetworkReachabilityFlagsTransientConnection 109 + This flag indicates that the specified nodename or address can 110 + be reached via a transient connection, such as PPP. 111 + @constant kSCNetworkReachabilityFlagsReachable 112 + This flag indicates that the specified nodename or address can 113 + be reached using the current network configuration. 114 + @constant kSCNetworkReachabilityFlagsConnectionRequired 115 + This flag indicates that the specified nodename or address can 116 + be reached using the current network configuration, but a 117 + connection must first be established. 118 + 119 + As an example, this status would be returned for a dialup 120 + connection that was not currently active, but could handle 121 + network traffic for the target system. 122 + @constant kSCNetworkReachabilityFlagsConnectionOnTraffic 123 + This flag indicates that the specified nodename or address can 124 + be reached using the current network configuration, but a 125 + connection must first be established. Any traffic directed 126 + to the specified name or address will initiate the connection. 127 + 128 + Note: this flag was previously named kSCNetworkReachabilityFlagsConnectionAutomatic 129 + @constant kSCNetworkReachabilityFlagsInterventionRequired 130 + This flag indicates that the specified nodename or address can 131 + be reached using the current network configuration, but a 132 + connection must first be established. In addition, some 133 + form of user intervention will be required to establish this 134 + connection, such as providing a password, an authentication 135 + token, etc. 136 + 137 + Note: At the present time, this flag will only be returned 138 + in the case where you have a dial-on-traffic configuration 139 + (ConnectionOnTraffic), where an attempt to connect has 140 + already been made, and where some error (e.g. no dial tone, 141 + no answer, bad password, ...) was encountered during the 142 + automatic connection attempt. In this case the PPP controller 143 + will stop attempting to establish a connection until the user 144 + has intervened. 145 + @constant kSCNetworkReachabilityFlagsConnectionOnDemand 146 + This flag indicates that the specified nodename or address can 147 + be reached using the current network configuration, but a 148 + connection must first be established. 149 + The connection will be established "On Demand" by the 150 + CFSocketStream APIs. 151 + Other APIs will not establish the connection. 152 + @constant kSCNetworkReachabilityFlagsIsLocalAddress 153 + This flag indicates that the specified nodename or address 154 + is one associated with a network interface on the current 155 + system. 156 + @constant kSCNetworkReachabilityFlagsIsDirect 157 + This flag indicates that network traffic to the specified 158 + nodename or address will not go through a gateway, but is 159 + routed directly to one of the interfaces in the system. 160 + #if TARGET_OS_IPHONE 161 + @constant kSCNetworkReachabilityFlagsIsWWAN 162 + This flag indicates that the specified nodename or address can 163 + be reached via an EDGE, GPRS, or other "cell" connection. 164 + #endif // TARGET_OS_IPHONE 165 + */ 166 + typedef CF_OPTIONS(uint32_t, SCNetworkReachabilityFlags) { 167 + kSCNetworkReachabilityFlagsTransientConnection = 1<<0, 168 + kSCNetworkReachabilityFlagsReachable = 1<<1, 169 + kSCNetworkReachabilityFlagsConnectionRequired = 1<<2, 170 + kSCNetworkReachabilityFlagsConnectionOnTraffic = 1<<3, 171 + kSCNetworkReachabilityFlagsInterventionRequired = 1<<4, 172 + kSCNetworkReachabilityFlagsConnectionOnDemand = 1<<5, // __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_3_0) 173 + kSCNetworkReachabilityFlagsIsLocalAddress = 1<<16, 174 + kSCNetworkReachabilityFlagsIsDirect = 1<<17, 175 + #if TARGET_OS_IPHONE 176 + kSCNetworkReachabilityFlagsIsWWAN = 1<<18, 177 + #endif // TARGET_OS_IPHONE 178 + 179 + kSCNetworkReachabilityFlagsConnectionAutomatic = kSCNetworkReachabilityFlagsConnectionOnTraffic 180 + }; 181 + 182 + /*! 183 + @typedef SCNetworkReachabilityCallBack 184 + @discussion Type of the callback function used when the 185 + reachability of a network address or name changes. 186 + @param target The SCNetworkReachability reference being monitored 187 + for changes. 188 + @param flags The new SCNetworkReachabilityFlags representing the 189 + reachability status of the network address/name. 190 + @param info A C pointer to a user-specified block of data. 191 + */ 192 + typedef void (*SCNetworkReachabilityCallBack) ( 193 + SCNetworkReachabilityRef target, 194 + SCNetworkReachabilityFlags flags, 195 + void * __nullable info 196 + ); 197 + 198 + __BEGIN_DECLS 199 + 200 + /*! 201 + @function SCNetworkReachabilityCreateWithAddress 202 + @discussion Creates a reference to the specified network 203 + address. This reference can be used later to monitor the 204 + reachability of the target host. 205 + @param address The address of the desired host. 206 + @result Returns a reference to the new immutable SCNetworkReachabilityRef. 207 + 208 + You must release the returned value. 209 + */ 210 + SCNetworkReachabilityRef __nullable 211 + SCNetworkReachabilityCreateWithAddress ( 212 + CFAllocatorRef __nullable allocator, 213 + const struct sockaddr *address 214 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_2_0); 215 + 216 + /*! 217 + @function SCNetworkReachabilityCreateWithAddressPair 218 + @discussion Creates a reference to the specified network 219 + address. This reference can be used later to monitor the 220 + reachability of the target host. 221 + @param localAddress The local address associated with a network 222 + connection. If NULL, only the remote address is of interest. 223 + @param remoteAddress The remote address associated with a network 224 + connection. If NULL, only the local address is of interest. 225 + @result Returns a reference to the new immutable SCNetworkReachabilityRef. 226 + 227 + You must release the returned value. 228 + */ 229 + SCNetworkReachabilityRef __nullable 230 + SCNetworkReachabilityCreateWithAddressPair ( 231 + CFAllocatorRef __nullable allocator, 232 + const struct sockaddr * __nullable localAddress, 233 + const struct sockaddr * __nullable remoteAddress 234 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_2_0); 235 + 236 + /*! 237 + @function SCNetworkReachabilityCreateWithName 238 + @discussion Creates a reference to the specified network host or node 239 + name. This reference can be used later to monitor the 240 + reachability of the target host. 241 + @param nodename The node name of the desired host. 242 + This name would be the same as that passed to the 243 + gethostbyname(3) or getaddrinfo(3) functions. 244 + @result Returns a reference to the new immutable SCNetworkReachabilityRef. 245 + 246 + You must release the returned value. 247 + */ 248 + SCNetworkReachabilityRef __nullable 249 + SCNetworkReachabilityCreateWithName ( 250 + CFAllocatorRef __nullable allocator, 251 + const char *nodename 252 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_2_0); 253 + 254 + /*! 255 + @function SCNetworkReachabilityGetTypeID 256 + @discussion Returns the type identifier of all SCNetworkReachability 257 + instances. 258 + */ 259 + CFTypeID 260 + SCNetworkReachabilityGetTypeID (void) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_2_0); 261 + 262 + 263 + /*! 264 + @function SCNetworkReachabilityGetFlags 265 + @discussion Determines if the given target is reachable using the 266 + current network configuration. 267 + @param target The network reference associated with the address or name 268 + to be checked for reachability. 269 + @param flags A pointer to memory that will be filled with the 270 + SCNetworkReachabilityFlags detailing the reachability 271 + of the specified target. 272 + @result Returns TRUE if the network connection flags are valid; 273 + FALSE if the status could not be determined. 274 + */ 275 + Boolean 276 + SCNetworkReachabilityGetFlags ( 277 + SCNetworkReachabilityRef target, 278 + SCNetworkReachabilityFlags *flags 279 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_2_0); 280 + 281 + /*! 282 + @function SCNetworkReachabilitySetCallback 283 + @discussion Assigns a client to a target, which receives callbacks 284 + when the reachability of the target changes. 285 + @param target The network reference associated with the address or 286 + name to be checked for reachability. 287 + @param callout The function to be called when the reachability of the 288 + target changes. If NULL, the current client for the target 289 + is removed. 290 + @param context The SCNetworkReachabilityContext associated with 291 + the callout. The value may be NULL. 292 + @result Returns TRUE if the notification client was successfully set. 293 + */ 294 + Boolean 295 + SCNetworkReachabilitySetCallback ( 296 + SCNetworkReachabilityRef target, 297 + SCNetworkReachabilityCallBack __nullable callout, 298 + SCNetworkReachabilityContext * __nullable context 299 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_2_0); 300 + 301 + /*! 302 + @function SCNetworkReachabilityScheduleWithRunLoop 303 + @discussion Schedules the given target with the given run loop and mode. 304 + @param target The address or name that is set up for asynchronous 305 + notifications. Must be non-NULL. 306 + @param runLoop A reference to a run loop on which the target should 307 + be scheduled. Must be non-NULL. 308 + @param runLoopMode The mode on which to schedule the target. 309 + Must be non-NULL. 310 + @result Returns TRUE if the target is scheduled successfully; 311 + FALSE otherwise. 312 + */ 313 + Boolean 314 + SCNetworkReachabilityScheduleWithRunLoop ( 315 + SCNetworkReachabilityRef target, 316 + CFRunLoopRef runLoop, 317 + CFStringRef runLoopMode 318 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_2_0); 319 + 320 + /*! 321 + @function SCNetworkReachabilityUnscheduleFromRunLoop 322 + @discussion Unschedules the given target from the given run loop 323 + and mode. 324 + @param target The address or name that is set up for asynchronous 325 + notifications. Must be non-NULL. 326 + @param runLoop A reference to a run loop from which the target 327 + should be unscheduled. Must be non-NULL. 328 + @param runLoopMode The mode on which to unschedule the target. 329 + Must be non-NULL. 330 + @result Returns TRUE if the target is unscheduled successfully; 331 + FALSE otherwise. 332 + */ 333 + Boolean 334 + SCNetworkReachabilityUnscheduleFromRunLoop ( 335 + SCNetworkReachabilityRef target, 336 + CFRunLoopRef runLoop, 337 + CFStringRef runLoopMode 338 + ) __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_2_0); 339 + 340 + /*! 341 + @function SCNetworkReachabilitySetDispatchQueue 342 + @discussion Schedule or unschedule callbacks for the given target on the given 343 + dispatch queue. 344 + @param target The address or name that is set up for asynchronous 345 + notifications. Must be non-NULL. 346 + @param queue A libdispatch queue to run the callback on. 347 + Pass NULL to unschedule callbacks. 348 + @result Returns TRUE if the target is scheduled or unscheduled successfully; 349 + FALSE otherwise. 350 + */ 351 + Boolean 352 + SCNetworkReachabilitySetDispatchQueue ( 353 + SCNetworkReachabilityRef target, 354 + dispatch_queue_t __nullable queue 355 + ) __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_0); 356 + 357 + __END_DECLS 358 + 359 + CF_ASSUME_NONNULL_END 360 + CF_IMPLICIT_BRIDGING_DISABLED 361 + 362 + #endif /* _SCNETWORKREACHABILITY_H */
+469
src/SystemConfiguration/include/SystemConfiguration/SCPreferences.h
··· 1 + /* 2 + * Copyright (c) 2000, 2001, 2004, 2005, 2007-2010, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCPREFERENCES_H 25 + #define _SCPREFERENCES_H 26 + 27 + #include <Availability.h> 28 + #include <TargetConditionals.h> 29 + #include <sys/cdefs.h> 30 + #include <dispatch/dispatch.h> 31 + #include <CoreFoundation/CoreFoundation.h> 32 + #include <SystemConfiguration/SCDynamicStore.h> 33 + 34 + //#if !TARGET_OS_IPHONE 35 + //#include <Security/Security.h> 36 + //#else // !TARGET_OS_IPHONE 37 + typedef const struct AuthorizationOpaqueRef * AuthorizationRef; 38 + //#endif // !TARGET_OS_IPHONE 39 + 40 + CF_IMPLICIT_BRIDGING_ENABLED 41 + CF_ASSUME_NONNULL_BEGIN 42 + 43 + /*! 44 + @header SCPreferences 45 + @discussion The SCPreferences API allows an application to load and 46 + store XML configuration data in a controlled manner and provide 47 + the necessary notifications to other applications that need to 48 + be aware of configuration changes. 49 + 50 + To access configuration preferences, you must first establish a 51 + preferences session using the SCPreferencesCreate function. 52 + To identify a specific set of preferences to access, you pass a 53 + value in the prefsID parameter. 54 + A NULL value indicates that the default system preferences are 55 + to be accessed. 56 + A string that starts with a leading "/" character specifies 57 + the absolute path to the file containing the preferences to 58 + be accessed. 59 + A string that does not start with a leading "/" character 60 + specifies a file relative to the default system preferences 61 + directory. 62 + 63 + When you are finished with the preferences session, use 64 + CFRelease to close it. 65 + */ 66 + 67 + 68 + /*! 69 + @typedef SCPreferencesRef 70 + @discussion This is the handle to an open preferences session for 71 + accessing system configuration preferences. 72 + */ 73 + typedef const struct CF_BRIDGED_TYPE(id) __SCPreferences * SCPreferencesRef; 74 + 75 + /*! 76 + @enum SCPreferencesNotification 77 + @discussion Used with the SCPreferencesCallBack callback 78 + to describe the type of notification. 79 + @constant kSCPreferencesNotificationCommit Indicates when new 80 + preferences have been saved. 81 + @constant kSCPreferencesNotificationApply Key Indicates when a 82 + request has been made to apply the currently saved 83 + preferences to the active system configuration. 84 + */ 85 + typedef CF_OPTIONS(uint32_t, SCPreferencesNotification) { 86 + kSCPreferencesNotificationCommit = 1<<0, // __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA) 87 + kSCPreferencesNotificationApply = 1<<1 // __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA) 88 + }; 89 + 90 + /*! 91 + @typedef SCPreferencesContext 92 + Structure containing user-specified data and callbacks for SCPreferences. 93 + @field version The version number of the structure type being passed 94 + in as a parameter to the SCPreferencesSetCallback function. 95 + This structure is version 0. 96 + @field info A C pointer to a user-specified block of data. 97 + @field retain The callback used to add a retain for the info field. 98 + If this parameter is not a pointer to a function of the correct 99 + prototype, the behavior is undefined. 100 + The value may be NULL. 101 + @field release The calllback used to remove a retain previously added 102 + for the info field. 103 + If this parameter is not a pointer to a function of the 104 + correct prototype, the behavior is undefined. 105 + The value may be NULL. 106 + @field copyDescription The callback used to provide a description of 107 + the info field. 108 + */ 109 + typedef struct { 110 + CFIndex version; 111 + void * __nullable info; 112 + const void * __nonnull (* __nullable retain)(const void *info); 113 + void (* __nullable release)(const void *info); 114 + CFStringRef __nonnull (* __nullable copyDescription)(const void *info); 115 + } SCPreferencesContext; 116 + 117 + /*! 118 + @typedef SCPreferencesCallBack 119 + @discussion Type of the callback function used when the 120 + preferences have been updated and/or applied. 121 + @param prefs The preferences session. 122 + @param notificationType The type of notification, such as changes 123 + committed, changes applied, etc. 124 + @param info A C pointer to a user-specified block of data. 125 + */ 126 + typedef void (*SCPreferencesCallBack) ( 127 + SCPreferencesRef prefs, 128 + SCPreferencesNotification notificationType, 129 + void * __nullable info 130 + ); 131 + 132 + 133 + __BEGIN_DECLS 134 + 135 + /*! 136 + @function SCPreferencesGetTypeID 137 + @discussion Returns the type identifier of all SCPreferences instances. 138 + */ 139 + CFTypeID 140 + SCPreferencesGetTypeID (void) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 141 + 142 + /*! 143 + @function SCPreferencesCreate 144 + @discussion Initiates access to the per-system set of configuration 145 + preferences. 146 + @param allocator The CFAllocator that should be used to allocate 147 + memory for this preferences session. 148 + This parameter may be NULL in which case the current 149 + default CFAllocator is used. 150 + If this reference is not a valid CFAllocator, the behavior 151 + is undefined. 152 + @param name A string that describes the name of the calling 153 + process. 154 + @param prefsID A string that identifies the name of the 155 + group of preferences to be accessed or updated. 156 + @result Returns a reference to the new SCPreferences. 157 + You must release the returned value. 158 + */ 159 + SCPreferencesRef __nullable 160 + SCPreferencesCreate ( 161 + CFAllocatorRef __nullable allocator, 162 + CFStringRef name, 163 + CFStringRef __nullable prefsID 164 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 165 + 166 + 167 + /*! 168 + @function SCPreferencesCreateWithAuthorization 169 + @discussion Initiates access to the per-system set of configuration 170 + preferences. 171 + @param allocator The CFAllocator that should be used to allocate 172 + memory for this preferences session. 173 + This parameter may be NULL in which case the current 174 + default CFAllocator is used. 175 + If this reference is not a valid CFAllocator, the behavior 176 + is undefined. 177 + @param name A string that describes the name of the calling 178 + process. 179 + @param prefsID A string that identifies the name of the 180 + group of preferences to be accessed or updated. 181 + @param authorization An authorization reference that is used to 182 + authorize any access to the enhanced privileges needed 183 + to manage the preferences session. 184 + @result Returns a reference to the new SCPreferences. 185 + You must release the returned value. 186 + */ 187 + SCPreferencesRef __nullable 188 + SCPreferencesCreateWithAuthorization ( 189 + CFAllocatorRef __nullable allocator, 190 + CFStringRef name, 191 + CFStringRef __nullable prefsID, 192 + AuthorizationRef __nullable authorization 193 + ) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 194 + 195 + /*! 196 + @function SCPreferencesLock 197 + @discussion Locks access to the configuration preferences. 198 + 199 + This function obtains exclusive access to the configuration 200 + preferences. Clients attempting to obtain exclusive access 201 + to the preferences will either receive a kSCStatusPrefsBusy 202 + error or block waiting for the lock to be released. 203 + @param prefs The preferences session. 204 + @param wait A boolean flag indicating whether the calling process 205 + should block waiting for another process to complete its update 206 + operation and release its lock. 207 + @result Returns TRUE if the lock was obtained; 208 + FALSE if an error occurred. 209 + */ 210 + Boolean 211 + SCPreferencesLock ( 212 + SCPreferencesRef prefs, 213 + Boolean wait 214 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 215 + 216 + /*! 217 + @function SCPreferencesCommitChanges 218 + @discussion Commits changes made to the configuration preferences to 219 + persistent storage. 220 + 221 + This function commits any changes to permanent storage. 222 + Implicit calls to the SCPreferencesLock and SCPreferencesUnlock 223 + functions will be made if exclusive access has not already been 224 + established. 225 + 226 + Note: This routine commits changes to persistent storage. 227 + Call the SCPreferencesApplyChanges function to apply the 228 + changes to the running system. 229 + @param prefs The preferences session. 230 + @result Returns TRUE if the lock was obtained; 231 + FALSE if an error occurred. 232 + */ 233 + Boolean 234 + SCPreferencesCommitChanges ( 235 + SCPreferencesRef prefs 236 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 237 + 238 + /*! 239 + @function SCPreferencesApplyChanges 240 + @discussion Requests that the currently stored configuration 241 + preferences be applied to the active configuration. 242 + @param prefs The preferences session. 243 + @result Returns TRUE if the lock was obtained; 244 + FALSE if an error occurred. 245 + */ 246 + Boolean 247 + SCPreferencesApplyChanges ( 248 + SCPreferencesRef prefs 249 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 250 + 251 + /*! 252 + @function SCPreferencesUnlock 253 + @discussion Releases exclusive access to the configuration preferences. 254 + 255 + This function releases the exclusive access lock to the 256 + preferences. Other clients will be now be able to establish 257 + exclusive access to the preferences. 258 + @param prefs The preferences session. 259 + @result Returns TRUE if the lock was obtained; 260 + FALSE if an error occurred. 261 + */ 262 + Boolean 263 + SCPreferencesUnlock ( 264 + SCPreferencesRef prefs 265 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 266 + 267 + /*! 268 + @function SCPreferencesGetSignature 269 + @discussion Returns a sequence of bytes that can be used to determine 270 + if the saved configuration preferences have changed. 271 + @param prefs The preferences session. 272 + @result Returns a CFDataRef that reflects the signature of the configuration 273 + preferences at the time of the call to the SCPreferencesCreate function. 274 + */ 275 + CFDataRef __nullable 276 + SCPreferencesGetSignature ( 277 + SCPreferencesRef prefs 278 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 279 + 280 + /*! 281 + @function SCPreferencesCopyKeyList 282 + @discussion Returns an array of currently defined preference keys. 283 + @param prefs The preferences session. 284 + @result Returns the list of keys. 285 + You must release the returned value. 286 + */ 287 + CFArrayRef __nullable 288 + SCPreferencesCopyKeyList ( 289 + SCPreferencesRef prefs 290 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 291 + 292 + /*! 293 + @function SCPreferencesGetValue 294 + @discussion Returns the data associated with a preference key. 295 + 296 + This function retrieves data associated with the specified 297 + key. 298 + 299 + Note: To avoid inadvertantly reading stale data, first call 300 + the SCPreferencesLock function. 301 + @param prefs The preferences session. 302 + @param key The preference key to be returned. 303 + @result Returns the value associated with the specified preference key; 304 + NULL if no value was located. 305 + */ 306 + CFPropertyListRef __nullable 307 + SCPreferencesGetValue ( 308 + SCPreferencesRef prefs, 309 + CFStringRef key 310 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 311 + 312 + /*! 313 + @function SCPreferencesAddValue 314 + @discussion Adds data for a preference key. 315 + 316 + This function associates new data with the specified key. 317 + To commit these changes to permanent storage, a call must 318 + be made to the SCPreferencesCommitChanges function. 319 + @param prefs The preferences session. 320 + @param key The preference key to be updated. 321 + @param value The CFPropertyListRef object containing the 322 + value to be associated with the specified preference key. 323 + @result Returns TRUE if the value was added; 324 + FALSE if the key already exists or 325 + if an error occurred. 326 + */ 327 + Boolean 328 + SCPreferencesAddValue ( 329 + SCPreferencesRef prefs, 330 + CFStringRef key, 331 + CFPropertyListRef value 332 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 333 + 334 + /*! 335 + @function SCPreferencesSetValue 336 + @discussion Updates the data associated with a preference key. 337 + 338 + This function adds or replaces the value associated with the 339 + specified key. To commit these changes to permanent storage 340 + a call must be made to the SCPreferencesCommitChanges function. 341 + @param prefs The preferences session. 342 + @param key The preference key to be updated. 343 + @param value The CFPropertyListRef object containing the 344 + data to be associated with the specified preference key. 345 + @result Returns TRUE if the value was set; 346 + FALSE if an error occurred. 347 + */ 348 + Boolean 349 + SCPreferencesSetValue ( 350 + SCPreferencesRef prefs, 351 + CFStringRef key, 352 + CFPropertyListRef value 353 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 354 + 355 + /*! 356 + @function SCPreferencesRemoveValue 357 + @discussion Removes the data associated with a preference key. 358 + 359 + This function removes the data associated with the specified 360 + key. To commit these changes to permanent storage a call must 361 + be made to the SCPreferencesCommitChanges function. 362 + @param prefs The preferences session. 363 + @param key The preference key to be removed. 364 + @result Returns TRUE if the value was removed; 365 + FALSE if the key did not exist or if an error occurred. 366 + */ 367 + Boolean 368 + SCPreferencesRemoveValue ( 369 + SCPreferencesRef prefs, 370 + CFStringRef key 371 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 372 + 373 + /*! 374 + @function SCPreferencesSetCallback 375 + @discussion Assigns a callback to a preferences session. The function 376 + is called when the changes to the preferences have been 377 + committed or applied. 378 + @param prefs The preferences session. 379 + @param callout The function to be called when the preferences have 380 + been changed or applied. 381 + If NULL, the current callback is removed. 382 + @param context The SCPreferencesContext associated with 383 + the callout. 384 + @result Returns TRUE if the notification client was successfully set. 385 + */ 386 + Boolean 387 + SCPreferencesSetCallback ( 388 + SCPreferencesRef prefs, 389 + SCPreferencesCallBack __nullable callout, 390 + SCPreferencesContext * __nullable context 391 + ) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 392 + 393 + /*! 394 + @function SCPreferencesScheduleWithRunLoop 395 + @discussion Schedule commit and apply notifications for the specified 396 + preferences session using the specified run loop and mode. 397 + @param prefs The preferences session. 398 + @param runLoop A reference to a run loop on which the notification 399 + should be scheduled. 400 + Must be non-NULL. 401 + @param runLoopMode The mode on which to schedule the notification. 402 + Must be non-NULL. 403 + @result Returns TRUE if the notifications are successfully scheduled; 404 + FALSE otherwise. 405 + */ 406 + Boolean 407 + SCPreferencesScheduleWithRunLoop ( 408 + SCPreferencesRef prefs, 409 + CFRunLoopRef runLoop, 410 + CFStringRef runLoopMode 411 + ) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 412 + 413 + /*! 414 + @function SCPreferencesUnscheduleFromRunLoop 415 + @discussion Unschedule commit and apply notifications for the specified 416 + preferences session from the specified run loop and mode. 417 + @param prefs The preferences session. 418 + @param runLoop A reference to a run loop from which the notification 419 + should be unscheduled. 420 + Must be non-NULL. 421 + @param runLoopMode The mode on which to unschedule the notification. 422 + Must be non-NULL. 423 + @result Returns TRUE if the notifications are successfully unscheduled; 424 + FALSE otherwise. 425 + */ 426 + Boolean 427 + SCPreferencesUnscheduleFromRunLoop ( 428 + SCPreferencesRef prefs, 429 + CFRunLoopRef runLoop, 430 + CFStringRef runLoopMode 431 + ) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 432 + 433 + /*! 434 + @function SCPreferencesSetDispatchQueue 435 + @discussion Schedule commit and apply notifications for the specified 436 + preferences session. 437 + @param prefs The preferences session. 438 + @param queue The dispatch queue to run the callback function on. 439 + @result Returns TRUE if the notifications are successfully scheduled; 440 + FALSE otherwise. 441 + */ 442 + Boolean 443 + SCPreferencesSetDispatchQueue ( 444 + SCPreferencesRef prefs, 445 + dispatch_queue_t __nullable queue 446 + ) __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 447 + 448 + /*! 449 + @function SCPreferencesSynchronize 450 + @discussion Synchronizes accessed preferences with committed changes. 451 + 452 + Any references to preference values returned by calls to the 453 + SCPreferencesGetValue function are no longer valid unless they 454 + were explicitly retained or copied. Any preference values 455 + that were updated (add, set, remove) but not committed will 456 + be discarded. 457 + @param prefs The preferences session. 458 + */ 459 + void 460 + SCPreferencesSynchronize ( 461 + SCPreferencesRef prefs 462 + ) __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 463 + 464 + __END_DECLS 465 + 466 + CF_ASSUME_NONNULL_END 467 + CF_IMPLICIT_BRIDGING_DISABLED 468 + 469 + #endif /* _SCPREFERENCES_H */
+179
src/SystemConfiguration/include/SystemConfiguration/SCPreferencesPath.h
··· 1 + /* 2 + * Copyright (c) 2000, 2001, 2004, 2005, 2008, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCPREFERENCESPATH_H 25 + #define _SCPREFERENCESPATH_H 26 + 27 + #include <Availability.h> 28 + #include <sys/cdefs.h> 29 + #include <CoreFoundation/CoreFoundation.h> 30 + #include <SystemConfiguration/SCPreferences.h> 31 + 32 + CF_IMPLICIT_BRIDGING_ENABLED 33 + CF_ASSUME_NONNULL_BEGIN 34 + 35 + /*! 36 + @header SCPreferencesPath 37 + @discussion The SCPreferencesPath API allows an application to 38 + load and store XML configuration data in a controlled 39 + manner and provide the necessary notifications to other 40 + applications that need to be aware of configuration 41 + changes. 42 + 43 + The functions in the SCPreferencesPath API make certain 44 + assumptions about the layout of the preferences data. 45 + These functions view the data as a collection of dictionaries 46 + of key-value pairs and an associated path name. 47 + The root path ("/") identifies the top-level dictionary. 48 + Additional path components specify the keys for subdictionaries. 49 + 50 + For example, the following dictionary can be accessed via 51 + two paths. The root ("/") path would return a dictionary 52 + with all keys and values. The path "/path1" would only 53 + return the dictionary with the "key3" and "key4" properties. 54 + 55 + <pre> 56 + @textblock 57 + <dict> 58 + <key>key1</key> 59 + <string>val1</string> 60 + <key>key2</key> 61 + <string>val2</string> 62 + <key>path1</key> 63 + <dict> 64 + <key>key3</key> 65 + <string>val3</string> 66 + <key>key4</key> 67 + <string>val4</string> 68 + </dict> 69 + </dict> 70 + @/textblock 71 + </pre> 72 + 73 + Each dictionary can also include the kSCResvLink ("__LINK__") key. 74 + The value associated with this key is interpreted as a link to 75 + another path. If this key is present, a call to the 76 + SCPreferencesPathGetValue function returns the dictionary 77 + specified by the link. 78 + */ 79 + 80 + 81 + __BEGIN_DECLS 82 + 83 + /*! 84 + @function SCPreferencesPathCreateUniqueChild 85 + @discussion Creates a new path component within the dictionary 86 + hierarchy. 87 + @param prefs The preferences session. 88 + @param prefix A string that represents the parent path. 89 + @result Returns a string representing the new (unique) child path; NULL 90 + if the specified path does not exist. 91 + */ 92 + CFStringRef __nullable 93 + SCPreferencesPathCreateUniqueChild ( 94 + SCPreferencesRef prefs, 95 + CFStringRef prefix 96 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 97 + 98 + /*! 99 + @function SCPreferencesPathGetValue 100 + @discussion Returns the dictionary associated with the specified 101 + path. 102 + @param prefs The preferences session. 103 + @param path A string that represents the path to be returned. 104 + @result Returns the dictionary associated with the specified path; NULL 105 + if the path does not exist. 106 + */ 107 + CFDictionaryRef __nullable 108 + SCPreferencesPathGetValue ( 109 + SCPreferencesRef prefs, 110 + CFStringRef path 111 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 112 + 113 + /*! 114 + @function SCPreferencesPathGetLink 115 + @discussion Returns the link (if one exists) associated with the 116 + specified path. 117 + @param prefs The preferences session. 118 + @param path A string that represents the path to be returned. 119 + @result Returns the dictionary associated with the specified path; NULL 120 + if the path is not a link or does not exist. 121 + */ 122 + CFStringRef __nullable 123 + SCPreferencesPathGetLink ( 124 + SCPreferencesRef prefs, 125 + CFStringRef path 126 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 127 + 128 + /*! 129 + @function SCPreferencesPathSetValue 130 + @discussion Associates a dictionary with the specified path. 131 + @param prefs The preferences session. 132 + @param path A string that represents the path to be updated. 133 + @param value A dictionary that represents the data to be 134 + stored at the specified path. 135 + @result Returns TRUE if successful; FALSE otherwise. 136 + */ 137 + Boolean 138 + SCPreferencesPathSetValue ( 139 + SCPreferencesRef prefs, 140 + CFStringRef path, 141 + CFDictionaryRef value 142 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 143 + 144 + /*! 145 + @function SCPreferencesPathSetLink 146 + @discussion Associates a link to a second dictionary at the 147 + specified path. 148 + @param prefs The preferences session. 149 + @param path A string that represents the path to be updated. 150 + @param link A string that represents the link to be stored 151 + at the specified path. 152 + @result Returns TRUE if successful; FALSE otherwise. 153 + */ 154 + Boolean 155 + SCPreferencesPathSetLink ( 156 + SCPreferencesRef prefs, 157 + CFStringRef path, 158 + CFStringRef link 159 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 160 + 161 + /*! 162 + @function SCPreferencesPathRemoveValue 163 + @discussion Removes the data associated with the specified path. 164 + @param prefs The preferences session. 165 + @param path A string that represents the path to be returned. 166 + @result Returns TRUE if successful; FALSE otherwise. 167 + */ 168 + Boolean 169 + SCPreferencesPathRemoveValue ( 170 + SCPreferencesRef prefs, 171 + CFStringRef path 172 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 173 + 174 + __END_DECLS 175 + 176 + CF_ASSUME_NONNULL_END 177 + CF_IMPLICIT_BRIDGING_DISABLED 178 + 179 + #endif /* _SCPREFERENCESPATH_H */
+95
src/SystemConfiguration/include/SystemConfiguration/SCPreferencesSetSpecific.h
··· 1 + /* 2 + * Copyright (c) 2000-2002, 2004, 2005, 2008, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SCPREFERENCESSETSPECIFIC_H 25 + #define _SCPREFERENCESSETSPECIFIC_H 26 + 27 + #include <Availability.h> 28 + #include <sys/cdefs.h> 29 + #include <CoreFoundation/CoreFoundation.h> 30 + #include <SystemConfiguration/SCPreferences.h> 31 + 32 + CF_IMPLICIT_BRIDGING_ENABLED 33 + CF_ASSUME_NONNULL_BEGIN 34 + 35 + /*! 36 + @header SCPreferencesSetSpecific 37 + @discussion The functions in the SCPreferencesSetSpecific API allow 38 + an application to set specific configuration information 39 + about the current system (for example, the computer or 40 + sharing name). 41 + 42 + To access configuration preferences, you must first establish 43 + a preferences session using the SCPreferencesCreate function. 44 + */ 45 + 46 + 47 + __BEGIN_DECLS 48 + 49 + /*! 50 + @function SCPreferencesSetComputerName 51 + @discussion Updates the computer name preference. 52 + 53 + Note: To commit these changes to permanent storage you must 54 + call the SCPreferencesCommitChanges function. 55 + In addition, you must call the SCPreferencesApplyChanges 56 + function for the new name to become active. 57 + @param prefs The preferences session. 58 + @param name The computer name to be set. 59 + @param nameEncoding The encoding associated with the computer name. 60 + @result Returns TRUE if successful; FALSE otherwise. 61 + */ 62 + Boolean 63 + SCPreferencesSetComputerName ( 64 + SCPreferencesRef prefs, 65 + CFStringRef __nullable name, 66 + CFStringEncoding nameEncoding 67 + ) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 68 + 69 + /*! 70 + @function SCPreferencesSetLocalHostName 71 + @discussion Updates the local host name. 72 + 73 + Note: To commit these changes to permanent storage you must 74 + call the SCPreferencesCommitChanges function. 75 + In addition, you must call the SCPreferencesApplyChanges 76 + function for the new name to become active. 77 + @param prefs The preferences session. 78 + @param name The local host name to be set. 79 + 80 + Note: this string must conform to the naming conventions of a DNS host 81 + name as specified in RFC 1034 (section 3.5). 82 + @result Returns TRUE if successful; FALSE otherwise. 83 + */ 84 + Boolean 85 + SCPreferencesSetLocalHostName ( 86 + SCPreferencesRef prefs, 87 + CFStringRef __nullable name 88 + ) __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 89 + 90 + __END_DECLS 91 + 92 + CF_ASSUME_NONNULL_END 93 + CF_IMPLICIT_BRIDGING_DISABLED 94 + 95 + #endif /* _SCPREFERENCESSETSPECIFIC_H */
+2350
src/SystemConfiguration/include/SystemConfiguration/SCSchemaDefinitions.h
··· 1 + /* 2 + * Copyright (c) 2000-2017 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + /* 25 + * This file is automatically generated 26 + * DO NOT EDIT! 27 + */ 28 + 29 + /* 30 + * Reserved Keys 31 + * 32 + * kSCResvLink "__LINK__" CFString 33 + * kSCResvInactive "__INACTIVE__" 34 + * 35 + * Generic Keys 36 + * 37 + * kSCPropInterfaceName "InterfaceName" CFString 38 + * kSCPropMACAddress "MACAddress" CFString 39 + * kSCPropUserDefinedName "UserDefinedName" CFString 40 + * kSCPropVersion "Version" CFString 41 + * 42 + * Preference Keys 43 + * 44 + * kSCPrefCurrentSet "CurrentSet" CFString 45 + * kSCPrefNetworkServices "NetworkServices" CFDictionary 46 + * kSCPrefSets "Sets" CFDictionary 47 + * kSCPrefSystem "System" CFDictionary 48 + * 49 + * Component Keys 50 + * 51 + * kSCCompNetwork "Network" 52 + * kSCCompService "Service" 53 + * kSCCompGlobal "Global" 54 + * kSCCompHostNames "HostNames" 55 + * kSCCompInterface "Interface" 56 + * kSCCompSystem "System" 57 + * kSCCompUsers "Users" 58 + * 59 + * --- Regex pattern which matches any component --- 60 + * kSCCompAnyRegex "[^/]+" 61 + * 62 + * Network Entity Keys 63 + * 64 + * kSCEntNetAirPort "AirPort" CFDictionary 65 + * kSCEntNetDHCP "DHCP" CFDictionary 66 + * kSCEntNetDNS "DNS" CFDictionary 67 + * kSCEntNetEthernet "Ethernet" CFDictionary 68 + * kSCEntNetFireWire "FireWire" CFDictionary 69 + * kSCEntNetInterface "Interface" CFDictionary 70 + * kSCEntNetIPSec "IPSec" CFDictionary 71 + * kSCEntNetIPv4 "IPv4" CFDictionary 72 + * kSCEntNetIPv6 "IPv6" CFDictionary 73 + * kSCEntNetL2TP "L2TP" CFDictionary 74 + * kSCEntNetLink "Link" CFDictionary 75 + * kSCEntNetModem "Modem" CFDictionary 76 + * kSCEntNetPPP "PPP" CFDictionary 77 + * kSCEntNetPPPoE "PPPoE" CFDictionary 78 + * kSCEntNetPPPSerial "PPPSerial" CFDictionary 79 + * kSCEntNetPPTP "PPTP" CFDictionary 80 + * kSCEntNetProxies "Proxies" CFDictionary 81 + * kSCEntNetSMB "SMB" CFDictionary 82 + * kSCEntNet6to4 "6to4" CFDictionary 83 + * 84 + * kSCCompNetwork Properties 85 + * 86 + * kSCPropNetOverridePrimary "OverridePrimary" CFNumber (0 or 1) 87 + * kSCPropNetServiceOrder "ServiceOrder" CFArray[CFString] 88 + * kSCPropNetPPPOverridePrimary "PPPOverridePrimary" CFNumber (0 or 1) 89 + * 90 + * kSCCompNetworkInterface Properties 91 + * 92 + * kSCPropNetInterfaces "Interfaces" CFArray[CFString] 93 + * 94 + * kSCCompNetworkHostNames Properties 95 + * 96 + * kSCPropNetLocalHostName "LocalHostName" CFString 97 + * 98 + * kSCEntNetDNS Entity Keys 99 + * 100 + * kSCPropNetDNSDomainName "DomainName" CFString 101 + * kSCPropNetDNSOptions "Options" CFString 102 + * kSCPropNetDNSSearchDomains "SearchDomains" CFArray[CFString] 103 + * kSCPropNetDNSSearchOrder "SearchOrder" CFNumber 104 + * kSCPropNetDNSServerAddresses "ServerAddresses" CFArray[CFString] 105 + * kSCPropNetDNSServerPort "ServerPort" CFNumber 106 + * kSCPropNetDNSServerTimeout "ServerTimeout" CFNumber 107 + * kSCPropNetDNSSortList "SortList" CFArray[CFString] 108 + * kSCPropNetDNSSupplementalMatchDomains "SupplementalMatchDomains" CFArray[CFString] 109 + * kSCPropNetDNSSupplementalMatchOrders "SupplementalMatchOrders" CFArray[CFNumber] 110 + * 111 + * kSCEntNetEthernet (Hardware) Entity Keys 112 + * 113 + * kSCPropNetEthernetMediaSubType "MediaSubType" CFString 114 + * kSCPropNetEthernetMediaOptions "MediaOptions" CFArray[CFString] 115 + * kSCPropNetEthernetMTU "MTU" CFNumber 116 + * 117 + * kSCEntNetFireWire (Hardware) Entity Keys 118 + * 119 + * * RESERVED FOR FUTURE USE * 120 + * 121 + * kSCEntNetInterface Entity Keys 122 + * 123 + * kSCPropNetInterfaceDeviceName "DeviceName" CFString 124 + * kSCPropNetInterfaceHardware "Hardware" CFString 125 + * kSCPropNetInterfaceType "Type" CFString 126 + * kSCPropNetInterfaceSubType "SubType" CFString 127 + * kSCPropNetInterfaceSupportsModemOnHold "SupportsModemOnHold" CFNumber (0 or 1) 128 + * 129 + * --- kSCPropNetInterfaceType values --- 130 + * kSCValNetInterfaceTypeEthernet "Ethernet" 131 + * kSCValNetInterfaceTypeFireWire "FireWire" 132 + * kSCValNetInterfaceTypePPP "PPP" 133 + * kSCValNetInterfaceType6to4 "6to4" 134 + * kSCValNetInterfaceTypeIPSec "IPSec" 135 + * 136 + * --- kSCPropNetServiceSubType values (for PPP) --- 137 + * kSCValNetInterfaceSubTypePPPoE "PPPoE" 138 + * kSCValNetInterfaceSubTypePPPSerial "PPPSerial" 139 + * kSCValNetInterfaceSubTypePPTP "PPTP" 140 + * kSCValNetInterfaceSubTypeL2TP "L2TP" 141 + * 142 + * kSCEntNetIPSec Entity Keys 143 + * 144 + * kSCPropNetIPSecAuthenticationMethod "AuthenticationMethod" CFString 145 + * kSCPropNetIPSecLocalCertificate "LocalCertificate" CFData 146 + * kSCPropNetIPSecLocalIdentifier "LocalIdentifier" CFString 147 + * kSCPropNetIPSecLocalIdentifierType "LocalIdentifierType" CFString 148 + * kSCPropNetIPSecSharedSecret "SharedSecret" CFString 149 + * kSCPropNetIPSecSharedSecretEncryption "SharedSecretEncryption" CFString 150 + * kSCPropNetIPSecConnectTime "ConnectTime" CFNumber 151 + * kSCPropNetIPSecRemoteAddress "RemoteAddress" CFString 152 + * kSCPropNetIPSecStatus "Status" CFNumber 153 + * kSCPropNetIPSecXAuthEnabled "XAuthEnabled" CFNumber (0 or 1) 154 + * kSCPropNetIPSecXAuthName "XAuthName" CFString 155 + * kSCPropNetIPSecXAuthPassword "XAuthPassword" CFString 156 + * kSCPropNetIPSecXAuthPasswordEncryption "XAuthPasswordEncryption" CFString 157 + * 158 + * --- kSCPropNetIPSecAuthenticationMethod values --- 159 + * kSCValNetIPSecAuthenticationMethodSharedSecret "SharedSecret" 160 + * kSCValNetIPSecAuthenticationMethodCertificate "Certificate" 161 + * kSCValNetIPSecAuthenticationMethodHybrid "Hybrid" 162 + * 163 + * --- kSCPropNetIPSecLocalIdentifierType values --- 164 + * kSCValNetIPSecLocalIdentifierTypeKeyID "KeyID" 165 + * 166 + * --- kSCPropNetIPSecSharedSecretEncryption values --- 167 + * kSCValNetIPSecSharedSecretEncryptionKeychain "Keychain" 168 + * 169 + * --- kSCPropNetIPSecXAuthPasswordEncryption values --- 170 + * kSCValNetIPSecXAuthPasswordEncryptionKeychain "Keychain" 171 + * kSCValNetIPSecXAuthPasswordEncryptionPrompt "Prompt" 172 + * 173 + * kSCEntNetIPv4 Entity Keys 174 + * 175 + * kSCPropNetIPv4Addresses "Addresses" CFArray[CFString] 176 + * kSCPropNetIPv4ConfigMethod "ConfigMethod" CFString 177 + * kSCPropNetIPv4DHCPClientID "DHCPClientID" CFString 178 + * kSCPropNetIPv4Router "Router" CFString 179 + * kSCPropNetIPv4SubnetMasks "SubnetMasks" CFArray[CFString] 180 + * kSCPropNetIPv4DestAddresses "DestAddresses" CFArray[CFString] 181 + * kSCPropNetIPv4BroadcastAddresses "BroadcastAddresses" CFArray[CFString] 182 + * 183 + * --- kSCPropNetIPv4ConfigMethod values --- 184 + * kSCValNetIPv4ConfigMethodAutomatic "Automatic" 185 + * kSCValNetIPv4ConfigMethodBOOTP "BOOTP" 186 + * kSCValNetIPv4ConfigMethodDHCP "DHCP" 187 + * kSCValNetIPv4ConfigMethodINFORM "INFORM" 188 + * kSCValNetIPv4ConfigMethodLinkLocal "LinkLocal" 189 + * kSCValNetIPv4ConfigMethodManual "Manual" 190 + * kSCValNetIPv4ConfigMethodPPP "PPP" 191 + * 192 + * kSCEntNetIPv6 Entity Keys 193 + * 194 + * kSCPropNetIPv6Addresses "Addresses" CFArray[CFString] 195 + * kSCPropNetIPv6ConfigMethod "ConfigMethod" CFString 196 + * kSCPropNetIPv6DestAddresses "DestAddresses" CFArray[CFString] 197 + * kSCPropNetIPv6Flags "Flags" CFNumber 198 + * kSCPropNetIPv6PrefixLength "PrefixLength" CFArray[CFNumber] 199 + * kSCPropNetIPv6Router "Router" CFString 200 + * 201 + * --- kSCPropNetIPv6ConfigMethod values --- 202 + * kSCValNetIPv6ConfigMethodAutomatic "Automatic" 203 + * kSCValNetIPv6ConfigMethodLinkLocal "LinkLocal" 204 + * kSCValNetIPv6ConfigMethodManual "Manual" 205 + * kSCValNetIPv6ConfigMethodRouterAdvertisement "RouterAdvertisement" 206 + * kSCValNetIPv6ConfigMethod6to4 "6to4" 207 + * 208 + * kSCEntNet6to4 Entity Keys 209 + * 210 + * kSCPropNet6to4Relay "Relay" CFString 211 + * 212 + * kSCEntNetLink Entity Keys 213 + * 214 + * kSCPropNetLinkActive "Active" CFBoolean 215 + * kSCPropNetLinkDetaching "Detaching" CFBoolean 216 + * 217 + * kSCEntNetModem (Hardware) Entity Keys 218 + * 219 + * kSCPropNetModemAccessPointName "AccessPointName" CFString 220 + * kSCPropNetModemConnectionPersonality "ConnectionPersonality" CFString 221 + * kSCPropNetModemConnectionScript "ConnectionScript" CFString 222 + * kSCPropNetModemConnectSpeed "ConnectSpeed" CFNumber 223 + * kSCPropNetModemDataCompression "DataCompression" CFNumber (0 or 1) 224 + * kSCPropNetModemDeviceContextID "DeviceContextID" CFString 225 + * kSCPropNetModemDeviceModel "DeviceModel" CFString 226 + * kSCPropNetModemDeviceVendor "DeviceVendor" CFString 227 + * kSCPropNetModemDialMode "DialMode" CFString 228 + * kSCPropNetModemErrorCorrection "ErrorCorrection" CFNumber (0 or 1) 229 + * kSCPropNetModemHoldCallWaitingAudibleAlert "HoldCallWaitingAudibleAlert" CFNumber (0 or 1) 230 + * kSCPropNetModemHoldDisconnectOnAnswer "HoldDisconnectOnAnswer" CFNumber (0 or 1) 231 + * kSCPropNetModemHoldEnabled "HoldEnabled" CFNumber (0 or 1) 232 + * kSCPropNetModemHoldReminder "HoldReminder" CFNumber (0 or 1) 233 + * kSCPropNetModemHoldReminderTime "HoldReminderTime" CFNumber 234 + * kSCPropNetModemNote "Note" CFString 235 + * kSCPropNetModemPulseDial "PulseDial" CFNumber (0 or 1) 236 + * kSCPropNetModemSpeaker "Speaker" CFNumber (0 or 1) 237 + * kSCPropNetModemSpeed "Speed" CFNumber 238 + * 239 + * --- kSCPropNetModemDialMode values --- 240 + * kSCValNetModemDialModeIgnoreDialTone "IgnoreDialTone" 241 + * kSCValNetModemDialModeManual "Manual" 242 + * kSCValNetModemDialModeWaitForDialTone "WaitForDialTone" 243 + * 244 + * kSCEntNetPPP Entity Keys 245 + * 246 + * kSCPropNetPPPACSPEnabled "ACSPEnabled" CFNumber (0 or 1) 247 + * kSCPropNetPPPConnectTime "ConnectTime" CFNumber 248 + * kSCPropNetPPPDeviceLastCause "DeviceLastCause" CFNumber 249 + * kSCPropNetPPPDialOnDemand "DialOnDemand" CFNumber (0 or 1) 250 + * kSCPropNetPPPDisconnectOnFastUserSwitch "DisconnectOnFastUserSwitch" CFNumber (0 or 1) 251 + * kSCPropNetPPPDisconnectOnIdle "DisconnectOnIdle" CFNumber (0 or 1) 252 + * kSCPropNetPPPDisconnectOnIdleTimer "DisconnectOnIdleTimer" CFNumber 253 + * kSCPropNetPPPDisconnectOnLogout "DisconnectOnLogout" CFNumber (0 or 1) 254 + * kSCPropNetPPPDisconnectOnSleep "DisconnectOnSleep" CFNumber (0 or 1) 255 + * kSCPropNetPPPDisconnectTime "DisconnectTime" CFNumber 256 + * kSCPropNetPPPIdleReminderTimer "IdleReminderTimer" CFNumber 257 + * kSCPropNetPPPIdleReminder "IdleReminder" CFNumber (0 or 1) 258 + * kSCPropNetPPPLastCause "LastCause" CFNumber 259 + * kSCPropNetPPPLogfile "Logfile" CFString 260 + * kSCPropNetPPPPlugins "Plugins" CFArray[CFString] 261 + * kSCPropNetPPPRetryConnectTime "RetryConnectTime" CFNumber 262 + * kSCPropNetPPPSessionTimer "SessionTimer" CFNumber 263 + * kSCPropNetPPPStatus "Status" CFNumber 264 + * kSCPropNetPPPUseSessionTimer "UseSessionTimer" CFNumber (0 or 1) 265 + * kSCPropNetPPPVerboseLogging "VerboseLogging" CFNumber (0 or 1) 266 + * 267 + * --- Auth: --- 268 + * kSCPropNetPPPAuthEAPPlugins "AuthEAPPlugins" CFArray[CFString] 269 + * kSCPropNetPPPAuthName "AuthName" CFString 270 + * kSCPropNetPPPAuthPassword "AuthPassword" CFString 271 + * kSCPropNetPPPAuthPasswordEncryption "AuthPasswordEncryption" CFString 272 + * kSCPropNetPPPAuthPrompt "AuthPrompt" CFString 273 + * kSCPropNetPPPAuthProtocol "AuthProtocol" CFArray[CFString] 274 + * 275 + * --- kSCPropNetPPPAuthPasswordEncryption values --- 276 + * kSCValNetPPPAuthPasswordEncryptionKeychain "Keychain" 277 + * kSCValNetPPPAuthPasswordEncryptionToken "Token" 278 + * 279 + * --- kSCPropNetPPPAuthPrompt values --- 280 + * kSCValNetPPPAuthPromptBefore "Before" CFString 281 + * kSCValNetPPPAuthPromptAfter "After" CFString 282 + * 283 + * --- kSCPropNetPPPAuthProtocol values --- 284 + * kSCValNetPPPAuthProtocolCHAP "CHAP" CFString 285 + * kSCValNetPPPAuthProtocolEAP "EAP" CFString 286 + * kSCValNetPPPAuthProtocolMSCHAP1 "MSCHAP1" CFString 287 + * kSCValNetPPPAuthProtocolMSCHAP2 "MSCHAP2" CFString 288 + * kSCValNetPPPAuthProtocolPAP "PAP" CFString 289 + * 290 + * --- Comm: --- 291 + * kSCPropNetPPPCommAlternateRemoteAddress "CommAlternateRemoteAddress" CFString 292 + * kSCPropNetPPPCommConnectDelay "CommConnectDelay" CFNumber 293 + * kSCPropNetPPPCommDisplayTerminalWindow "CommDisplayTerminalWindow" CFNumber (0 or 1) 294 + * kSCPropNetPPPCommRedialCount "CommRedialCount" CFNumber 295 + * kSCPropNetPPPCommRedialEnabled "CommRedialEnabled" CFNumber (0 or 1) 296 + * kSCPropNetPPPCommRedialInterval "CommRedialInterval" CFNumber 297 + * kSCPropNetPPPCommRemoteAddress "CommRemoteAddress" CFString 298 + * kSCPropNetPPPCommTerminalScript "CommTerminalScript" CFString 299 + * kSCPropNetPPPCommUseTerminalScript "CommUseTerminalScript" CFNumber (0 or 1) 300 + * 301 + * --- CCP: --- 302 + * kSCPropNetPPPCCPEnabled "CCPEnabled" CFNumber (0 or 1) 303 + * kSCPropNetPPPCCPMPPE40Enabled "CCPMPPE40Enabled" CFNumber (0 or 1) 304 + * kSCPropNetPPPCCPMPPE128Enabled "CCPMPPE128Enabled" CFNumber (0 or 1) 305 + * 306 + * --- IPCP: --- 307 + * kSCPropNetPPPIPCPCompressionVJ "IPCPCompressionVJ" CFNumber (0 or 1) 308 + * kSCPropNetPPPIPCPUsePeerDNS "IPCPUsePeerDNS" CFNumber (0 or 1) 309 + * 310 + * --- LCP: --- 311 + * kSCPropNetPPPLCPEchoEnabled "LCPEchoEnabled" CFNumber (0 or 1) 312 + * kSCPropNetPPPLCPEchoFailure "LCPEchoFailure" CFNumber 313 + * kSCPropNetPPPLCPEchoInterval "LCPEchoInterval" CFNumber 314 + * kSCPropNetPPPLCPCompressionACField "LCPCompressionACField" CFNumber (0 or 1) 315 + * kSCPropNetPPPLCPCompressionPField "LCPCompressionPField" CFNumber (0 or 1) 316 + * kSCPropNetPPPLCPMRU "LCPMRU" CFNumber 317 + * kSCPropNetPPPLCPMTU "LCPMTU" CFNumber 318 + * kSCPropNetPPPLCPReceiveACCM "LCPReceiveACCM" CFNumber 319 + * kSCPropNetPPPLCPTransmitACCM "LCPTransmitACCM" CFNumber 320 + * 321 + * kSCEntNetPPPoE Entity Keys 322 + * 323 + * * RESERVED FOR FUTURE USE * 324 + * 325 + * kSCEntNetPPPSerial Entity Keys 326 + * 327 + * * RESERVED FOR FUTURE USE * 328 + * 329 + * kSCEntNetL2TP Entity Keys 330 + * 331 + * kSCPropNetL2TPIPSecSharedSecret "IPSecSharedSecret" CFString 332 + * kSCPropNetL2TPIPSecSharedSecretEncryption "IPSecSharedSecretEncryption" CFString 333 + * kSCPropNetL2TPTransport "Transport" CFString 334 + * 335 + * --- kSCPropNetL2TPIPSecSharedSecretEncryption values --- 336 + * kSCValNetL2TPIPSecSharedSecretEncryptionKeychain "Keychain" 337 + * 338 + * --- kSCPropNetL2TPTransport values --- 339 + * kSCValNetL2TPTransportIP "IP" 340 + * kSCValNetL2TPTransportIPSec "IPSec" 341 + * 342 + * kSCEntNetProxies Entity Keys 343 + * 344 + * kSCPropNetProxiesExceptionsList "ExceptionsList" CFArray[CFString] 345 + * kSCPropNetProxiesExcludeSimpleHostnames "ExcludeSimpleHostnames" CFNumber (0 or 1) 346 + * kSCPropNetProxiesFTPEnable "FTPEnable" CFNumber (0 or 1) 347 + * kSCPropNetProxiesFTPPassive "FTPPassive" CFNumber (0 or 1) 348 + * kSCPropNetProxiesFTPPort "FTPPort" CFNumber 349 + * kSCPropNetProxiesFTPProxy "FTPProxy" CFString 350 + * kSCPropNetProxiesGopherEnable "GopherEnable" CFNumber (0 or 1) 351 + * kSCPropNetProxiesGopherPort "GopherPort" CFNumber 352 + * kSCPropNetProxiesGopherProxy "GopherProxy" CFString 353 + * kSCPropNetProxiesHTTPEnable "HTTPEnable" CFNumber (0 or 1) 354 + * kSCPropNetProxiesHTTPPort "HTTPPort" CFNumber 355 + * kSCPropNetProxiesHTTPProxy "HTTPProxy" CFString 356 + * kSCPropNetProxiesHTTPSEnable "HTTPSEnable" CFNumber (0 or 1) 357 + * kSCPropNetProxiesHTTPSPort "HTTPSPort" CFNumber 358 + * kSCPropNetProxiesHTTPSProxy "HTTPSProxy" CFString 359 + * kSCPropNetProxiesRTSPEnable "RTSPEnable" CFNumber (0 or 1) 360 + * kSCPropNetProxiesRTSPPort "RTSPPort" CFNumber 361 + * kSCPropNetProxiesRTSPProxy "RTSPProxy" CFString 362 + * kSCPropNetProxiesSOCKSEnable "SOCKSEnable" CFNumber (0 or 1) 363 + * kSCPropNetProxiesSOCKSPort "SOCKSPort" CFNumber 364 + * kSCPropNetProxiesSOCKSProxy "SOCKSProxy" CFString 365 + * kSCPropNetProxiesProxyAutoConfigEnable "ProxyAutoConfigEnable" CFNumber (0 or 1) 366 + * kSCPropNetProxiesProxyAutoConfigJavaScript "ProxyAutoConfigJavaScript" CFString 367 + * kSCPropNetProxiesProxyAutoConfigURLString "ProxyAutoConfigURLString" CFString 368 + * kSCPropNetProxiesProxyAutoDiscoveryEnable "ProxyAutoDiscoveryEnable" CFNumber (0 or 1) 369 + * 370 + * kSCEntNetSMB Entity Keys 371 + * 372 + * kSCPropNetSMBNetBIOSName "NetBIOSName" CFString 373 + * kSCPropNetSMBNetBIOSNodeType "NetBIOSNodeType" CFString 374 + * kSCPropNetSMBNetBIOSScope "NetBIOSScope" CFString 375 + * kSCPropNetSMBWINSAddresses "WINSAddresses" CFArray[CFString] 376 + * kSCPropNetSMBWorkgroup "Workgroup" CFString 377 + * 378 + * --- kSCPropNetSMBNetBIOSNodeType values --- 379 + * kSCValNetSMBNetBIOSNodeTypeBroadcast "Broadcast" 380 + * kSCValNetSMBNetBIOSNodeTypePeer "Peer" 381 + * kSCValNetSMBNetBIOSNodeTypeMixed "Mixed" 382 + * kSCValNetSMBNetBIOSNodeTypeHybrid "Hybrid" 383 + * 384 + * kSCCompUsers Entity Keys 385 + * 386 + * kSCEntUsersConsoleUser "ConsoleUser" 387 + * 388 + * kSCCompSystem Properties 389 + * 390 + * kSCPropSystemComputerName "ComputerName" CFString 391 + * kSCPropSystemComputerNameEncoding "ComputerNameEncoding" CFNumber 392 + * 393 + * SCDynamicStore "domain" prefixes 394 + * 395 + * kSCDynamicStoreDomainFile "File:" 396 + * kSCDynamicStoreDomainPlugin "Plugin:" 397 + * kSCDynamicStoreDomainSetup "Setup:" 398 + * kSCDynamicStoreDomainState "State:" 399 + * kSCDynamicStoreDomainPrefs "Prefs:" 400 + * 401 + * Preference ("location") Keys 402 + * 403 + * kSCDynamicStorePropSetupCurrentSet "CurrentSet" CFString 404 + * kSCDynamicStorePropSetupLastUpdated "LastUpdated" 405 + * 406 + * Common/shared Keys 407 + * 408 + * kSCDynamicStorePropNetInterfaces "Interfaces" CFArray[CFString] 409 + * kSCDynamicStorePropNetPrimaryInterface "PrimaryInterface" CFString 410 + * kSCDynamicStorePropNetPrimaryService "PrimaryService" CFString 411 + * kSCDynamicStorePropNetServiceIDs "ServiceIDs" CFArray[CFString] 412 + */ 413 + 414 + 415 + #ifndef _SCSCHEMADEFINITIONS_H 416 + #define _SCSCHEMADEFINITIONS_H 417 + 418 + #include <Availability.h> 419 + #include <TargetConditionals.h> 420 + #include <CoreFoundation/CFString.h> 421 + 422 + /*! 423 + * @header SCSchemaDefinitions 424 + */ 425 + 426 + 427 + CF_ASSUME_NONNULL_BEGIN 428 + 429 + /*! 430 + @const kSCResvLink 431 + @discussion Value is a CFString 432 + */ 433 + extern const CFStringRef kSCResvLink __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 434 + #define kSCResvLink kSCResvLink 435 + 436 + /*! 437 + @const kSCResvInactive 438 + */ 439 + extern const CFStringRef kSCResvInactive __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 440 + #define kSCResvInactive kSCResvInactive 441 + 442 + /*! 443 + @const kSCPropInterfaceName 444 + @discussion Value is a CFString 445 + */ 446 + extern const CFStringRef kSCPropInterfaceName __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 447 + #define kSCPropInterfaceName kSCPropInterfaceName 448 + 449 + /*! 450 + @const kSCPropMACAddress 451 + @discussion Value is a CFString 452 + */ 453 + extern const CFStringRef kSCPropMACAddress __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 454 + #define kSCPropMACAddress kSCPropMACAddress 455 + 456 + /*! 457 + @const kSCPropUserDefinedName 458 + @discussion Value is a CFString 459 + */ 460 + extern const CFStringRef kSCPropUserDefinedName __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 461 + #define kSCPropUserDefinedName kSCPropUserDefinedName 462 + 463 + /*! 464 + @const kSCPropVersion 465 + @discussion Value is a CFString 466 + */ 467 + extern const CFStringRef kSCPropVersion __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 468 + #define kSCPropVersion kSCPropVersion 469 + 470 + /*! 471 + @group Preference Keys 472 + */ 473 + 474 + /*! 475 + @const kSCPrefCurrentSet 476 + @discussion Value is a CFString 477 + */ 478 + extern const CFStringRef kSCPrefCurrentSet __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 479 + #define kSCPrefCurrentSet kSCPrefCurrentSet 480 + 481 + /*! 482 + @const kSCPrefNetworkServices 483 + @discussion Value is a CFDictionary 484 + */ 485 + extern const CFStringRef kSCPrefNetworkServices __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 486 + #define kSCPrefNetworkServices kSCPrefNetworkServices 487 + 488 + /*! 489 + @const kSCPrefSets 490 + @discussion Value is a CFDictionary 491 + */ 492 + extern const CFStringRef kSCPrefSets __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 493 + #define kSCPrefSets kSCPrefSets 494 + 495 + /*! 496 + @const kSCPrefSystem 497 + @discussion Value is a CFDictionary 498 + */ 499 + extern const CFStringRef kSCPrefSystem __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 500 + #define kSCPrefSystem kSCPrefSystem 501 + 502 + /*! 503 + @group Component Keys 504 + */ 505 + 506 + /*! 507 + @const kSCCompNetwork 508 + */ 509 + extern const CFStringRef kSCCompNetwork __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 510 + #define kSCCompNetwork kSCCompNetwork 511 + 512 + /*! 513 + @const kSCCompService 514 + */ 515 + extern const CFStringRef kSCCompService __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 516 + #define kSCCompService kSCCompService 517 + 518 + /*! 519 + @const kSCCompGlobal 520 + */ 521 + extern const CFStringRef kSCCompGlobal __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 522 + #define kSCCompGlobal kSCCompGlobal 523 + 524 + /*! 525 + @const kSCCompHostNames 526 + */ 527 + extern const CFStringRef kSCCompHostNames __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 528 + #define kSCCompHostNames kSCCompHostNames 529 + 530 + /*! 531 + @const kSCCompInterface 532 + */ 533 + extern const CFStringRef kSCCompInterface __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 534 + #define kSCCompInterface kSCCompInterface 535 + 536 + /*! 537 + @const kSCCompSystem 538 + */ 539 + extern const CFStringRef kSCCompSystem __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 540 + #define kSCCompSystem kSCCompSystem 541 + 542 + /*! 543 + @const kSCCompUsers 544 + */ 545 + extern const CFStringRef kSCCompUsers __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 546 + #define kSCCompUsers kSCCompUsers 547 + 548 + /*! 549 + @const kSCCompAnyRegex 550 + */ 551 + extern const CFStringRef kSCCompAnyRegex __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 552 + #define kSCCompAnyRegex kSCCompAnyRegex 553 + 554 + /*! 555 + @group Network Entity Keys 556 + */ 557 + 558 + /*! 559 + @const kSCEntNetAirPort 560 + @discussion Value is a CFDictionary 561 + */ 562 + extern const CFStringRef kSCEntNetAirPort __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 563 + #define kSCEntNetAirPort kSCEntNetAirPort 564 + 565 + /*! 566 + @const kSCEntNetDHCP 567 + @discussion Value is a CFDictionary 568 + */ 569 + extern const CFStringRef kSCEntNetDHCP __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 570 + #define kSCEntNetDHCP kSCEntNetDHCP 571 + 572 + /*! 573 + @const kSCEntNetDNS 574 + @discussion Value is a CFDictionary 575 + */ 576 + extern const CFStringRef kSCEntNetDNS __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 577 + #define kSCEntNetDNS kSCEntNetDNS 578 + 579 + /*! 580 + @const kSCEntNetEthernet 581 + @discussion Value is a CFDictionary 582 + */ 583 + extern const CFStringRef kSCEntNetEthernet __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 584 + #define kSCEntNetEthernet kSCEntNetEthernet 585 + 586 + /*! 587 + @const kSCEntNetFireWire 588 + @discussion Value is a CFDictionary 589 + */ 590 + extern const CFStringRef kSCEntNetFireWire __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 591 + #define kSCEntNetFireWire kSCEntNetFireWire 592 + 593 + /*! 594 + @const kSCEntNetInterface 595 + @discussion Value is a CFDictionary 596 + */ 597 + extern const CFStringRef kSCEntNetInterface __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 598 + #define kSCEntNetInterface kSCEntNetInterface 599 + 600 + /*! 601 + @const kSCEntNetIPSec 602 + @discussion Value is a CFDictionary 603 + */ 604 + extern const CFStringRef kSCEntNetIPSec __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 605 + #define kSCEntNetIPSec kSCEntNetIPSec 606 + 607 + /*! 608 + @const kSCEntNetIPv4 609 + @discussion Value is a CFDictionary 610 + */ 611 + extern const CFStringRef kSCEntNetIPv4 __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 612 + #define kSCEntNetIPv4 kSCEntNetIPv4 613 + 614 + /*! 615 + @const kSCEntNetIPv6 616 + @discussion Value is a CFDictionary 617 + */ 618 + extern const CFStringRef kSCEntNetIPv6 __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 619 + #define kSCEntNetIPv6 kSCEntNetIPv6 620 + 621 + /*! 622 + @const kSCEntNetL2TP 623 + @discussion Value is a CFDictionary 624 + */ 625 + extern const CFStringRef kSCEntNetL2TP __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 626 + #define kSCEntNetL2TP kSCEntNetL2TP 627 + 628 + /*! 629 + @const kSCEntNetLink 630 + @discussion Value is a CFDictionary 631 + */ 632 + extern const CFStringRef kSCEntNetLink __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 633 + #define kSCEntNetLink kSCEntNetLink 634 + 635 + /*! 636 + @const kSCEntNetModem 637 + @discussion Value is a CFDictionary 638 + */ 639 + extern const CFStringRef kSCEntNetModem __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 640 + #define kSCEntNetModem kSCEntNetModem 641 + 642 + /*! 643 + @const kSCEntNetPPP 644 + @discussion Value is a CFDictionary 645 + */ 646 + extern const CFStringRef kSCEntNetPPP __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 647 + #define kSCEntNetPPP kSCEntNetPPP 648 + 649 + /*! 650 + @const kSCEntNetPPPoE 651 + @discussion Value is a CFDictionary 652 + */ 653 + extern const CFStringRef kSCEntNetPPPoE __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 654 + #define kSCEntNetPPPoE kSCEntNetPPPoE 655 + 656 + /*! 657 + @const kSCEntNetPPPSerial 658 + @discussion Value is a CFDictionary 659 + */ 660 + extern const CFStringRef kSCEntNetPPPSerial __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 661 + #define kSCEntNetPPPSerial kSCEntNetPPPSerial 662 + 663 + /*! 664 + @const kSCEntNetPPTP 665 + @discussion Value is a CFDictionary 666 + */ 667 + extern const CFStringRef kSCEntNetPPTP __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3,__MAC_10_12,__IPHONE_NA,__IPHONE_NA); 668 + #define kSCEntNetPPTP kSCEntNetPPTP 669 + 670 + /*! 671 + @const kSCEntNetProxies 672 + @discussion Value is a CFDictionary 673 + */ 674 + extern const CFStringRef kSCEntNetProxies __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 675 + #define kSCEntNetProxies kSCEntNetProxies 676 + 677 + /*! 678 + @const kSCEntNetSMB 679 + @discussion Value is a CFDictionary 680 + */ 681 + extern const CFStringRef kSCEntNetSMB __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 682 + #define kSCEntNetSMB kSCEntNetSMB 683 + 684 + /*! 685 + @const kSCEntNet6to4 686 + @discussion Value is a CFDictionary 687 + */ 688 + extern const CFStringRef kSCEntNet6to4 __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 689 + #define kSCEntNet6to4 kSCEntNet6to4 690 + 691 + /*! 692 + @group kSCCompNetwork Properties 693 + */ 694 + 695 + /*! 696 + @const kSCPropNetOverridePrimary 697 + @discussion Value is a CFNumber (0 or 1) 698 + */ 699 + extern const CFStringRef kSCPropNetOverridePrimary __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 700 + #define kSCPropNetOverridePrimary kSCPropNetOverridePrimary 701 + 702 + /*! 703 + @const kSCPropNetServiceOrder 704 + @discussion Value is a CFArray[CFString] 705 + */ 706 + extern const CFStringRef kSCPropNetServiceOrder __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 707 + #define kSCPropNetServiceOrder kSCPropNetServiceOrder 708 + 709 + /*! 710 + @const kSCPropNetPPPOverridePrimary 711 + @discussion Value is a CFNumber (0 or 1) 712 + */ 713 + extern const CFStringRef kSCPropNetPPPOverridePrimary __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 714 + #define kSCPropNetPPPOverridePrimary kSCPropNetPPPOverridePrimary 715 + 716 + /*! 717 + @group kSCCompNetworkInterface Properties 718 + */ 719 + 720 + /*! 721 + @const kSCPropNetInterfaces 722 + @discussion Value is a CFArray[CFString] 723 + */ 724 + extern const CFStringRef kSCPropNetInterfaces __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 725 + #define kSCPropNetInterfaces kSCPropNetInterfaces 726 + 727 + /*! 728 + @group kSCCompNetworkHostNames Properties 729 + */ 730 + 731 + /*! 732 + @const kSCPropNetLocalHostName 733 + @discussion Value is a CFString 734 + */ 735 + extern const CFStringRef kSCPropNetLocalHostName __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 736 + #define kSCPropNetLocalHostName kSCPropNetLocalHostName 737 + 738 + /*! 739 + @group kSCEntNetAirPort (Hardware) Entity Keys 740 + */ 741 + 742 + /*! 743 + @const kSCPropNetAirPortAllowNetCreation 744 + @discussion Value is a CFNumber (0 or 1) 745 + */ 746 + extern const CFStringRef kSCPropNetAirPortAllowNetCreation __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 747 + #define kSCPropNetAirPortAllowNetCreation kSCPropNetAirPortAllowNetCreation 748 + 749 + /*! 750 + @const kSCPropNetAirPortAuthPassword 751 + @discussion Value is a CFData 752 + */ 753 + extern const CFStringRef kSCPropNetAirPortAuthPassword __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 754 + #define kSCPropNetAirPortAuthPassword kSCPropNetAirPortAuthPassword 755 + 756 + /*! 757 + @const kSCPropNetAirPortAuthPasswordEncryption 758 + @discussion Value is a CFString 759 + */ 760 + extern const CFStringRef kSCPropNetAirPortAuthPasswordEncryption __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 761 + #define kSCPropNetAirPortAuthPasswordEncryption kSCPropNetAirPortAuthPasswordEncryption 762 + 763 + /*! 764 + @const kSCPropNetAirPortJoinMode 765 + @discussion Value is a CFString 766 + */ 767 + extern const CFStringRef kSCPropNetAirPortJoinMode __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 768 + #define kSCPropNetAirPortJoinMode kSCPropNetAirPortJoinMode 769 + 770 + /*! 771 + @const kSCPropNetAirPortPowerEnabled 772 + @discussion Value is a CFNumber (0 or 1) 773 + */ 774 + extern const CFStringRef kSCPropNetAirPortPowerEnabled __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 775 + #define kSCPropNetAirPortPowerEnabled kSCPropNetAirPortPowerEnabled 776 + 777 + /*! 778 + @const kSCPropNetAirPortPreferredNetwork 779 + @discussion Value is a CFString 780 + */ 781 + extern const CFStringRef kSCPropNetAirPortPreferredNetwork __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 782 + #define kSCPropNetAirPortPreferredNetwork kSCPropNetAirPortPreferredNetwork 783 + 784 + /*! 785 + @const kSCPropNetAirPortSavePasswords 786 + @discussion Value is a CFNumber (0 or 1) 787 + */ 788 + extern const CFStringRef kSCPropNetAirPortSavePasswords __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 789 + #define kSCPropNetAirPortSavePasswords kSCPropNetAirPortSavePasswords 790 + 791 + /*! 792 + @const kSCValNetAirPortJoinModeAutomatic 793 + */ 794 + extern const CFStringRef kSCValNetAirPortJoinModeAutomatic __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 795 + #define kSCValNetAirPortJoinModeAutomatic kSCValNetAirPortJoinModeAutomatic 796 + 797 + /*! 798 + @const kSCValNetAirPortJoinModePreferred 799 + */ 800 + extern const CFStringRef kSCValNetAirPortJoinModePreferred __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 801 + #define kSCValNetAirPortJoinModePreferred kSCValNetAirPortJoinModePreferred 802 + 803 + /*! 804 + @const kSCValNetAirPortJoinModeRanked 805 + */ 806 + extern const CFStringRef kSCValNetAirPortJoinModeRanked __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 807 + #define kSCValNetAirPortJoinModeRanked kSCValNetAirPortJoinModeRanked 808 + 809 + /*! 810 + @const kSCValNetAirPortJoinModeRecent 811 + */ 812 + extern const CFStringRef kSCValNetAirPortJoinModeRecent __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 813 + #define kSCValNetAirPortJoinModeRecent kSCValNetAirPortJoinModeRecent 814 + 815 + /*! 816 + @const kSCValNetAirPortJoinModeStrongest 817 + */ 818 + extern const CFStringRef kSCValNetAirPortJoinModeStrongest __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 819 + #define kSCValNetAirPortJoinModeStrongest kSCValNetAirPortJoinModeStrongest 820 + 821 + /*! 822 + @const kSCValNetAirPortAuthPasswordEncryptionKeychain 823 + */ 824 + extern const CFStringRef kSCValNetAirPortAuthPasswordEncryptionKeychain __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3,__MAC_10_9,__IPHONE_NA,__IPHONE_NA); 825 + #define kSCValNetAirPortAuthPasswordEncryptionKeychain kSCValNetAirPortAuthPasswordEncryptionKeychain 826 + 827 + /*! 828 + @group kSCEntNetDNS Entity Keys 829 + */ 830 + 831 + /*! 832 + @const kSCPropNetDNSDomainName 833 + @discussion Value is a CFString 834 + */ 835 + extern const CFStringRef kSCPropNetDNSDomainName __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 836 + #define kSCPropNetDNSDomainName kSCPropNetDNSDomainName 837 + 838 + /*! 839 + @const kSCPropNetDNSOptions 840 + @discussion Value is a CFString 841 + */ 842 + extern const CFStringRef kSCPropNetDNSOptions __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 843 + #define kSCPropNetDNSOptions kSCPropNetDNSOptions 844 + 845 + /*! 846 + @const kSCPropNetDNSSearchDomains 847 + @discussion Value is a CFArray[CFString] 848 + */ 849 + extern const CFStringRef kSCPropNetDNSSearchDomains __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 850 + #define kSCPropNetDNSSearchDomains kSCPropNetDNSSearchDomains 851 + 852 + /*! 853 + @const kSCPropNetDNSSearchOrder 854 + @discussion Value is a CFNumber 855 + */ 856 + extern const CFStringRef kSCPropNetDNSSearchOrder __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 857 + #define kSCPropNetDNSSearchOrder kSCPropNetDNSSearchOrder 858 + 859 + /*! 860 + @const kSCPropNetDNSServerAddresses 861 + @discussion Value is a CFArray[CFString] 862 + */ 863 + extern const CFStringRef kSCPropNetDNSServerAddresses __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 864 + #define kSCPropNetDNSServerAddresses kSCPropNetDNSServerAddresses 865 + 866 + /*! 867 + @const kSCPropNetDNSServerPort 868 + @discussion Value is a CFNumber 869 + */ 870 + extern const CFStringRef kSCPropNetDNSServerPort __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 871 + #define kSCPropNetDNSServerPort kSCPropNetDNSServerPort 872 + 873 + /*! 874 + @const kSCPropNetDNSServerTimeout 875 + @discussion Value is a CFNumber 876 + */ 877 + extern const CFStringRef kSCPropNetDNSServerTimeout __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 878 + #define kSCPropNetDNSServerTimeout kSCPropNetDNSServerTimeout 879 + 880 + /*! 881 + @const kSCPropNetDNSSortList 882 + @discussion Value is a CFArray[CFString] 883 + */ 884 + extern const CFStringRef kSCPropNetDNSSortList __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 885 + #define kSCPropNetDNSSortList kSCPropNetDNSSortList 886 + 887 + /*! 888 + @const kSCPropNetDNSSupplementalMatchDomains 889 + @discussion Value is a CFArray[CFString] 890 + */ 891 + extern const CFStringRef kSCPropNetDNSSupplementalMatchDomains __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 892 + #define kSCPropNetDNSSupplementalMatchDomains kSCPropNetDNSSupplementalMatchDomains 893 + 894 + /*! 895 + @const kSCPropNetDNSSupplementalMatchOrders 896 + @discussion Value is a CFArray[CFNumber] 897 + */ 898 + extern const CFStringRef kSCPropNetDNSSupplementalMatchOrders __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 899 + #define kSCPropNetDNSSupplementalMatchOrders kSCPropNetDNSSupplementalMatchOrders 900 + 901 + /*! 902 + @group kSCEntNetEthernet (Hardware) Entity Keys 903 + */ 904 + 905 + /*! 906 + @const kSCPropNetEthernetMediaSubType 907 + @discussion Value is a CFString 908 + */ 909 + extern const CFStringRef kSCPropNetEthernetMediaSubType __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 910 + #define kSCPropNetEthernetMediaSubType kSCPropNetEthernetMediaSubType 911 + 912 + /*! 913 + @const kSCPropNetEthernetMediaOptions 914 + @discussion Value is a CFArray[CFString] 915 + */ 916 + extern const CFStringRef kSCPropNetEthernetMediaOptions __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 917 + #define kSCPropNetEthernetMediaOptions kSCPropNetEthernetMediaOptions 918 + 919 + /*! 920 + @const kSCPropNetEthernetMTU 921 + @discussion Value is a CFNumber 922 + */ 923 + extern const CFStringRef kSCPropNetEthernetMTU __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 924 + #define kSCPropNetEthernetMTU kSCPropNetEthernetMTU 925 + 926 + /*! 927 + @group kSCEntNetFireWire (Hardware) Entity Keys 928 + */ 929 + 930 + /*! 931 + @group kSCEntNetInterface Entity Keys 932 + */ 933 + 934 + /*! 935 + @const kSCPropNetInterfaceDeviceName 936 + @discussion Value is a CFString 937 + */ 938 + extern const CFStringRef kSCPropNetInterfaceDeviceName __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 939 + #define kSCPropNetInterfaceDeviceName kSCPropNetInterfaceDeviceName 940 + 941 + /*! 942 + @const kSCPropNetInterfaceHardware 943 + @discussion Value is a CFString 944 + */ 945 + extern const CFStringRef kSCPropNetInterfaceHardware __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 946 + #define kSCPropNetInterfaceHardware kSCPropNetInterfaceHardware 947 + 948 + /*! 949 + @const kSCPropNetInterfaceType 950 + @discussion Value is a CFString 951 + */ 952 + extern const CFStringRef kSCPropNetInterfaceType __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 953 + #define kSCPropNetInterfaceType kSCPropNetInterfaceType 954 + 955 + /*! 956 + @const kSCPropNetInterfaceSubType 957 + @discussion Value is a CFString 958 + */ 959 + extern const CFStringRef kSCPropNetInterfaceSubType __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 960 + #define kSCPropNetInterfaceSubType kSCPropNetInterfaceSubType 961 + 962 + /*! 963 + @const kSCPropNetInterfaceSupportsModemOnHold 964 + @discussion Value is a CFNumber (0 or 1) 965 + */ 966 + extern const CFStringRef kSCPropNetInterfaceSupportsModemOnHold __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 967 + #define kSCPropNetInterfaceSupportsModemOnHold kSCPropNetInterfaceSupportsModemOnHold 968 + 969 + /*! 970 + @const kSCValNetInterfaceTypeEthernet 971 + */ 972 + extern const CFStringRef kSCValNetInterfaceTypeEthernet __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 973 + #define kSCValNetInterfaceTypeEthernet kSCValNetInterfaceTypeEthernet 974 + 975 + /*! 976 + @const kSCValNetInterfaceTypeFireWire 977 + */ 978 + extern const CFStringRef kSCValNetInterfaceTypeFireWire __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 979 + #define kSCValNetInterfaceTypeFireWire kSCValNetInterfaceTypeFireWire 980 + 981 + /*! 982 + @const kSCValNetInterfaceTypePPP 983 + */ 984 + extern const CFStringRef kSCValNetInterfaceTypePPP __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 985 + #define kSCValNetInterfaceTypePPP kSCValNetInterfaceTypePPP 986 + 987 + /*! 988 + @const kSCValNetInterfaceType6to4 989 + */ 990 + extern const CFStringRef kSCValNetInterfaceType6to4 __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 991 + #define kSCValNetInterfaceType6to4 kSCValNetInterfaceType6to4 992 + 993 + /*! 994 + @const kSCValNetInterfaceTypeIPSec 995 + */ 996 + extern const CFStringRef kSCValNetInterfaceTypeIPSec __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 997 + #define kSCValNetInterfaceTypeIPSec kSCValNetInterfaceTypeIPSec 998 + 999 + /*! 1000 + @const kSCValNetInterfaceSubTypePPPoE 1001 + */ 1002 + extern const CFStringRef kSCValNetInterfaceSubTypePPPoE __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1003 + #define kSCValNetInterfaceSubTypePPPoE kSCValNetInterfaceSubTypePPPoE 1004 + 1005 + /*! 1006 + @const kSCValNetInterfaceSubTypePPPSerial 1007 + */ 1008 + extern const CFStringRef kSCValNetInterfaceSubTypePPPSerial __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1009 + #define kSCValNetInterfaceSubTypePPPSerial kSCValNetInterfaceSubTypePPPSerial 1010 + 1011 + /*! 1012 + @const kSCValNetInterfaceSubTypePPTP 1013 + */ 1014 + extern const CFStringRef kSCValNetInterfaceSubTypePPTP __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2,__MAC_10_12,__IPHONE_NA,__IPHONE_NA); 1015 + #define kSCValNetInterfaceSubTypePPTP kSCValNetInterfaceSubTypePPTP 1016 + 1017 + /*! 1018 + @const kSCValNetInterfaceSubTypeL2TP 1019 + */ 1020 + extern const CFStringRef kSCValNetInterfaceSubTypeL2TP __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1021 + #define kSCValNetInterfaceSubTypeL2TP kSCValNetInterfaceSubTypeL2TP 1022 + 1023 + /*! 1024 + @group kSCEntNetIPSec Entity Keys 1025 + */ 1026 + 1027 + /*! 1028 + @const kSCPropNetIPSecAuthenticationMethod 1029 + @discussion Value is a CFString 1030 + */ 1031 + extern const CFStringRef kSCPropNetIPSecAuthenticationMethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1032 + #define kSCPropNetIPSecAuthenticationMethod kSCPropNetIPSecAuthenticationMethod 1033 + 1034 + /*! 1035 + @const kSCPropNetIPSecLocalCertificate 1036 + @discussion Value is a CFData 1037 + */ 1038 + extern const CFStringRef kSCPropNetIPSecLocalCertificate __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1039 + #define kSCPropNetIPSecLocalCertificate kSCPropNetIPSecLocalCertificate 1040 + 1041 + /*! 1042 + @const kSCPropNetIPSecLocalIdentifier 1043 + @discussion Value is a CFString 1044 + */ 1045 + extern const CFStringRef kSCPropNetIPSecLocalIdentifier __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1046 + #define kSCPropNetIPSecLocalIdentifier kSCPropNetIPSecLocalIdentifier 1047 + 1048 + /*! 1049 + @const kSCPropNetIPSecLocalIdentifierType 1050 + @discussion Value is a CFString 1051 + */ 1052 + extern const CFStringRef kSCPropNetIPSecLocalIdentifierType __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1053 + #define kSCPropNetIPSecLocalIdentifierType kSCPropNetIPSecLocalIdentifierType 1054 + 1055 + /*! 1056 + @const kSCPropNetIPSecSharedSecret 1057 + @discussion Value is a CFString 1058 + */ 1059 + extern const CFStringRef kSCPropNetIPSecSharedSecret __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1060 + #define kSCPropNetIPSecSharedSecret kSCPropNetIPSecSharedSecret 1061 + 1062 + /*! 1063 + @const kSCPropNetIPSecSharedSecretEncryption 1064 + @discussion Value is a CFString 1065 + */ 1066 + extern const CFStringRef kSCPropNetIPSecSharedSecretEncryption __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1067 + #define kSCPropNetIPSecSharedSecretEncryption kSCPropNetIPSecSharedSecretEncryption 1068 + 1069 + /*! 1070 + @const kSCPropNetIPSecConnectTime 1071 + @discussion Value is a CFNumber 1072 + */ 1073 + extern const CFStringRef kSCPropNetIPSecConnectTime __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 1074 + #define kSCPropNetIPSecConnectTime kSCPropNetIPSecConnectTime 1075 + 1076 + /*! 1077 + @const kSCPropNetIPSecRemoteAddress 1078 + @discussion Value is a CFString 1079 + */ 1080 + extern const CFStringRef kSCPropNetIPSecRemoteAddress __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 1081 + #define kSCPropNetIPSecRemoteAddress kSCPropNetIPSecRemoteAddress 1082 + 1083 + /*! 1084 + @const kSCPropNetIPSecStatus 1085 + @discussion Value is a CFNumber 1086 + */ 1087 + extern const CFStringRef kSCPropNetIPSecStatus __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 1088 + #define kSCPropNetIPSecStatus kSCPropNetIPSecStatus 1089 + 1090 + /*! 1091 + @const kSCPropNetIPSecXAuthEnabled 1092 + @discussion Value is a CFNumber (0 or 1) 1093 + */ 1094 + extern const CFStringRef kSCPropNetIPSecXAuthEnabled __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 1095 + #define kSCPropNetIPSecXAuthEnabled kSCPropNetIPSecXAuthEnabled 1096 + 1097 + /*! 1098 + @const kSCPropNetIPSecXAuthName 1099 + @discussion Value is a CFString 1100 + */ 1101 + extern const CFStringRef kSCPropNetIPSecXAuthName __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 1102 + #define kSCPropNetIPSecXAuthName kSCPropNetIPSecXAuthName 1103 + 1104 + /*! 1105 + @const kSCPropNetIPSecXAuthPassword 1106 + @discussion Value is a CFString 1107 + */ 1108 + extern const CFStringRef kSCPropNetIPSecXAuthPassword __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 1109 + #define kSCPropNetIPSecXAuthPassword kSCPropNetIPSecXAuthPassword 1110 + 1111 + /*! 1112 + @const kSCPropNetIPSecXAuthPasswordEncryption 1113 + @discussion Value is a CFString 1114 + */ 1115 + extern const CFStringRef kSCPropNetIPSecXAuthPasswordEncryption __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 1116 + #define kSCPropNetIPSecXAuthPasswordEncryption kSCPropNetIPSecXAuthPasswordEncryption 1117 + 1118 + /*! 1119 + @const kSCValNetIPSecAuthenticationMethodSharedSecret 1120 + */ 1121 + extern const CFStringRef kSCValNetIPSecAuthenticationMethodSharedSecret __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1122 + #define kSCValNetIPSecAuthenticationMethodSharedSecret kSCValNetIPSecAuthenticationMethodSharedSecret 1123 + 1124 + /*! 1125 + @const kSCValNetIPSecAuthenticationMethodCertificate 1126 + */ 1127 + extern const CFStringRef kSCValNetIPSecAuthenticationMethodCertificate __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1128 + #define kSCValNetIPSecAuthenticationMethodCertificate kSCValNetIPSecAuthenticationMethodCertificate 1129 + 1130 + /*! 1131 + @const kSCValNetIPSecAuthenticationMethodHybrid 1132 + */ 1133 + extern const CFStringRef kSCValNetIPSecAuthenticationMethodHybrid __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1134 + #define kSCValNetIPSecAuthenticationMethodHybrid kSCValNetIPSecAuthenticationMethodHybrid 1135 + 1136 + /*! 1137 + @const kSCValNetIPSecLocalIdentifierTypeKeyID 1138 + */ 1139 + extern const CFStringRef kSCValNetIPSecLocalIdentifierTypeKeyID __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1140 + #define kSCValNetIPSecLocalIdentifierTypeKeyID kSCValNetIPSecLocalIdentifierTypeKeyID 1141 + 1142 + /*! 1143 + @const kSCValNetIPSecSharedSecretEncryptionKeychain 1144 + */ 1145 + extern const CFStringRef kSCValNetIPSecSharedSecretEncryptionKeychain __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1146 + #define kSCValNetIPSecSharedSecretEncryptionKeychain kSCValNetIPSecSharedSecretEncryptionKeychain 1147 + 1148 + /*! 1149 + @const kSCValNetIPSecXAuthPasswordEncryptionKeychain 1150 + */ 1151 + extern const CFStringRef kSCValNetIPSecXAuthPasswordEncryptionKeychain __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 1152 + #define kSCValNetIPSecXAuthPasswordEncryptionKeychain kSCValNetIPSecXAuthPasswordEncryptionKeychain 1153 + 1154 + /*! 1155 + @const kSCValNetIPSecXAuthPasswordEncryptionPrompt 1156 + */ 1157 + extern const CFStringRef kSCValNetIPSecXAuthPasswordEncryptionPrompt __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 1158 + #define kSCValNetIPSecXAuthPasswordEncryptionPrompt kSCValNetIPSecXAuthPasswordEncryptionPrompt 1159 + 1160 + /*! 1161 + @group kSCEntNetIPv4 Entity Keys 1162 + */ 1163 + 1164 + /*! 1165 + @const kSCPropNetIPv4Addresses 1166 + @discussion Value is a CFArray[CFString] 1167 + */ 1168 + extern const CFStringRef kSCPropNetIPv4Addresses __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1169 + #define kSCPropNetIPv4Addresses kSCPropNetIPv4Addresses 1170 + 1171 + /*! 1172 + @const kSCPropNetIPv4ConfigMethod 1173 + @discussion Value is a CFString 1174 + */ 1175 + extern const CFStringRef kSCPropNetIPv4ConfigMethod __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1176 + #define kSCPropNetIPv4ConfigMethod kSCPropNetIPv4ConfigMethod 1177 + 1178 + /*! 1179 + @const kSCPropNetIPv4DHCPClientID 1180 + @discussion Value is a CFString 1181 + */ 1182 + extern const CFStringRef kSCPropNetIPv4DHCPClientID __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1183 + #define kSCPropNetIPv4DHCPClientID kSCPropNetIPv4DHCPClientID 1184 + 1185 + /*! 1186 + @const kSCPropNetIPv4Router 1187 + @discussion Value is a CFString 1188 + */ 1189 + extern const CFStringRef kSCPropNetIPv4Router __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1190 + #define kSCPropNetIPv4Router kSCPropNetIPv4Router 1191 + 1192 + /*! 1193 + @const kSCPropNetIPv4SubnetMasks 1194 + @discussion Value is a CFArray[CFString] 1195 + */ 1196 + extern const CFStringRef kSCPropNetIPv4SubnetMasks __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1197 + #define kSCPropNetIPv4SubnetMasks kSCPropNetIPv4SubnetMasks 1198 + 1199 + /*! 1200 + @const kSCPropNetIPv4DestAddresses 1201 + @discussion Value is a CFArray[CFString] 1202 + */ 1203 + extern const CFStringRef kSCPropNetIPv4DestAddresses __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1204 + #define kSCPropNetIPv4DestAddresses kSCPropNetIPv4DestAddresses 1205 + 1206 + /*! 1207 + @const kSCPropNetIPv4BroadcastAddresses 1208 + @discussion Value is a CFArray[CFString] 1209 + */ 1210 + extern const CFStringRef kSCPropNetIPv4BroadcastAddresses __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1211 + #define kSCPropNetIPv4BroadcastAddresses kSCPropNetIPv4BroadcastAddresses 1212 + 1213 + /*! 1214 + @const kSCValNetIPv4ConfigMethodAutomatic 1215 + */ 1216 + extern const CFStringRef kSCValNetIPv4ConfigMethodAutomatic __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_NA); 1217 + #define kSCValNetIPv4ConfigMethodAutomatic kSCValNetIPv4ConfigMethodAutomatic 1218 + 1219 + /*! 1220 + @const kSCValNetIPv4ConfigMethodBOOTP 1221 + */ 1222 + extern const CFStringRef kSCValNetIPv4ConfigMethodBOOTP __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1223 + #define kSCValNetIPv4ConfigMethodBOOTP kSCValNetIPv4ConfigMethodBOOTP 1224 + 1225 + /*! 1226 + @const kSCValNetIPv4ConfigMethodDHCP 1227 + */ 1228 + extern const CFStringRef kSCValNetIPv4ConfigMethodDHCP __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1229 + #define kSCValNetIPv4ConfigMethodDHCP kSCValNetIPv4ConfigMethodDHCP 1230 + 1231 + /*! 1232 + @const kSCValNetIPv4ConfigMethodINFORM 1233 + */ 1234 + extern const CFStringRef kSCValNetIPv4ConfigMethodINFORM __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1235 + #define kSCValNetIPv4ConfigMethodINFORM kSCValNetIPv4ConfigMethodINFORM 1236 + 1237 + /*! 1238 + @const kSCValNetIPv4ConfigMethodLinkLocal 1239 + */ 1240 + extern const CFStringRef kSCValNetIPv4ConfigMethodLinkLocal __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1241 + #define kSCValNetIPv4ConfigMethodLinkLocal kSCValNetIPv4ConfigMethodLinkLocal 1242 + 1243 + /*! 1244 + @const kSCValNetIPv4ConfigMethodManual 1245 + */ 1246 + extern const CFStringRef kSCValNetIPv4ConfigMethodManual __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1247 + #define kSCValNetIPv4ConfigMethodManual kSCValNetIPv4ConfigMethodManual 1248 + 1249 + /*! 1250 + @const kSCValNetIPv4ConfigMethodPPP 1251 + */ 1252 + extern const CFStringRef kSCValNetIPv4ConfigMethodPPP __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1253 + #define kSCValNetIPv4ConfigMethodPPP kSCValNetIPv4ConfigMethodPPP 1254 + 1255 + /*! 1256 + @group kSCEntNetIPv6 Entity Keys 1257 + */ 1258 + 1259 + /*! 1260 + @const kSCPropNetIPv6Addresses 1261 + @discussion Value is a CFArray[CFString] 1262 + */ 1263 + extern const CFStringRef kSCPropNetIPv6Addresses __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1264 + #define kSCPropNetIPv6Addresses kSCPropNetIPv6Addresses 1265 + 1266 + /*! 1267 + @const kSCPropNetIPv6ConfigMethod 1268 + @discussion Value is a CFString 1269 + */ 1270 + extern const CFStringRef kSCPropNetIPv6ConfigMethod __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1271 + #define kSCPropNetIPv6ConfigMethod kSCPropNetIPv6ConfigMethod 1272 + 1273 + /*! 1274 + @const kSCPropNetIPv6DestAddresses 1275 + @discussion Value is a CFArray[CFString] 1276 + */ 1277 + extern const CFStringRef kSCPropNetIPv6DestAddresses __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1278 + #define kSCPropNetIPv6DestAddresses kSCPropNetIPv6DestAddresses 1279 + 1280 + /*! 1281 + @const kSCPropNetIPv6Flags 1282 + @discussion Value is a CFNumber 1283 + */ 1284 + extern const CFStringRef kSCPropNetIPv6Flags __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1285 + #define kSCPropNetIPv6Flags kSCPropNetIPv6Flags 1286 + 1287 + /*! 1288 + @const kSCPropNetIPv6PrefixLength 1289 + @discussion Value is a CFArray[CFNumber] 1290 + */ 1291 + extern const CFStringRef kSCPropNetIPv6PrefixLength __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1292 + #define kSCPropNetIPv6PrefixLength kSCPropNetIPv6PrefixLength 1293 + 1294 + /*! 1295 + @const kSCPropNetIPv6Router 1296 + @discussion Value is a CFString 1297 + */ 1298 + extern const CFStringRef kSCPropNetIPv6Router __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1299 + #define kSCPropNetIPv6Router kSCPropNetIPv6Router 1300 + 1301 + /*! 1302 + @const kSCValNetIPv6ConfigMethodAutomatic 1303 + */ 1304 + extern const CFStringRef kSCValNetIPv6ConfigMethodAutomatic __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1305 + #define kSCValNetIPv6ConfigMethodAutomatic kSCValNetIPv6ConfigMethodAutomatic 1306 + 1307 + /*! 1308 + @const kSCValNetIPv6ConfigMethodLinkLocal 1309 + */ 1310 + extern const CFStringRef kSCValNetIPv6ConfigMethodLinkLocal __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_NA); 1311 + #define kSCValNetIPv6ConfigMethodLinkLocal kSCValNetIPv6ConfigMethodLinkLocal 1312 + 1313 + /*! 1314 + @const kSCValNetIPv6ConfigMethodManual 1315 + */ 1316 + extern const CFStringRef kSCValNetIPv6ConfigMethodManual __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1317 + #define kSCValNetIPv6ConfigMethodManual kSCValNetIPv6ConfigMethodManual 1318 + 1319 + /*! 1320 + @const kSCValNetIPv6ConfigMethodRouterAdvertisement 1321 + */ 1322 + extern const CFStringRef kSCValNetIPv6ConfigMethodRouterAdvertisement __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1323 + #define kSCValNetIPv6ConfigMethodRouterAdvertisement kSCValNetIPv6ConfigMethodRouterAdvertisement 1324 + 1325 + /*! 1326 + @const kSCValNetIPv6ConfigMethod6to4 1327 + */ 1328 + extern const CFStringRef kSCValNetIPv6ConfigMethod6to4 __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1329 + #define kSCValNetIPv6ConfigMethod6to4 kSCValNetIPv6ConfigMethod6to4 1330 + 1331 + /*! 1332 + @group kSCEntNet6to4 Entity Keys 1333 + */ 1334 + 1335 + /*! 1336 + @const kSCPropNet6to4Relay 1337 + @discussion Value is a CFString 1338 + */ 1339 + extern const CFStringRef kSCPropNet6to4Relay __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1340 + #define kSCPropNet6to4Relay kSCPropNet6to4Relay 1341 + 1342 + /*! 1343 + @group kSCEntNetLink Entity Keys 1344 + */ 1345 + 1346 + /*! 1347 + @const kSCPropNetLinkActive 1348 + @discussion Value is a CFBoolean 1349 + */ 1350 + extern const CFStringRef kSCPropNetLinkActive __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1351 + #define kSCPropNetLinkActive kSCPropNetLinkActive 1352 + 1353 + /*! 1354 + @const kSCPropNetLinkDetaching 1355 + @discussion Value is a CFBoolean 1356 + */ 1357 + extern const CFStringRef kSCPropNetLinkDetaching __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1358 + #define kSCPropNetLinkDetaching kSCPropNetLinkDetaching 1359 + 1360 + /*! 1361 + @group kSCEntNetModem (Hardware) Entity Keys 1362 + */ 1363 + 1364 + /*! 1365 + @const kSCPropNetModemAccessPointName 1366 + @discussion Value is a CFString 1367 + */ 1368 + extern const CFStringRef kSCPropNetModemAccessPointName __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1369 + #define kSCPropNetModemAccessPointName kSCPropNetModemAccessPointName 1370 + 1371 + /*! 1372 + @const kSCPropNetModemConnectionPersonality 1373 + @discussion Value is a CFString 1374 + */ 1375 + extern const CFStringRef kSCPropNetModemConnectionPersonality __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1376 + #define kSCPropNetModemConnectionPersonality kSCPropNetModemConnectionPersonality 1377 + 1378 + /*! 1379 + @const kSCPropNetModemConnectionScript 1380 + @discussion Value is a CFString 1381 + */ 1382 + extern const CFStringRef kSCPropNetModemConnectionScript __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1383 + #define kSCPropNetModemConnectionScript kSCPropNetModemConnectionScript 1384 + 1385 + /*! 1386 + @const kSCPropNetModemConnectSpeed 1387 + @discussion Value is a CFNumber 1388 + */ 1389 + extern const CFStringRef kSCPropNetModemConnectSpeed __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1390 + #define kSCPropNetModemConnectSpeed kSCPropNetModemConnectSpeed 1391 + 1392 + /*! 1393 + @const kSCPropNetModemDataCompression 1394 + @discussion Value is a CFNumber (0 or 1) 1395 + */ 1396 + extern const CFStringRef kSCPropNetModemDataCompression __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1397 + #define kSCPropNetModemDataCompression kSCPropNetModemDataCompression 1398 + 1399 + /*! 1400 + @const kSCPropNetModemDeviceContextID 1401 + @discussion Value is a CFString 1402 + */ 1403 + extern const CFStringRef kSCPropNetModemDeviceContextID __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1404 + #define kSCPropNetModemDeviceContextID kSCPropNetModemDeviceContextID 1405 + 1406 + /*! 1407 + @const kSCPropNetModemDeviceModel 1408 + @discussion Value is a CFString 1409 + */ 1410 + extern const CFStringRef kSCPropNetModemDeviceModel __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1411 + #define kSCPropNetModemDeviceModel kSCPropNetModemDeviceModel 1412 + 1413 + /*! 1414 + @const kSCPropNetModemDeviceVendor 1415 + @discussion Value is a CFString 1416 + */ 1417 + extern const CFStringRef kSCPropNetModemDeviceVendor __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1418 + #define kSCPropNetModemDeviceVendor kSCPropNetModemDeviceVendor 1419 + 1420 + /*! 1421 + @const kSCPropNetModemDialMode 1422 + @discussion Value is a CFString 1423 + */ 1424 + extern const CFStringRef kSCPropNetModemDialMode __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1425 + #define kSCPropNetModemDialMode kSCPropNetModemDialMode 1426 + 1427 + /*! 1428 + @const kSCPropNetModemErrorCorrection 1429 + @discussion Value is a CFNumber (0 or 1) 1430 + */ 1431 + extern const CFStringRef kSCPropNetModemErrorCorrection __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1432 + #define kSCPropNetModemErrorCorrection kSCPropNetModemErrorCorrection 1433 + 1434 + /*! 1435 + @const kSCPropNetModemHoldCallWaitingAudibleAlert 1436 + @discussion Value is a CFNumber (0 or 1) 1437 + */ 1438 + extern const CFStringRef kSCPropNetModemHoldCallWaitingAudibleAlert __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1439 + #define kSCPropNetModemHoldCallWaitingAudibleAlert kSCPropNetModemHoldCallWaitingAudibleAlert 1440 + 1441 + /*! 1442 + @const kSCPropNetModemHoldDisconnectOnAnswer 1443 + @discussion Value is a CFNumber (0 or 1) 1444 + */ 1445 + extern const CFStringRef kSCPropNetModemHoldDisconnectOnAnswer __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1446 + #define kSCPropNetModemHoldDisconnectOnAnswer kSCPropNetModemHoldDisconnectOnAnswer 1447 + 1448 + /*! 1449 + @const kSCPropNetModemHoldEnabled 1450 + @discussion Value is a CFNumber (0 or 1) 1451 + */ 1452 + extern const CFStringRef kSCPropNetModemHoldEnabled __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1453 + #define kSCPropNetModemHoldEnabled kSCPropNetModemHoldEnabled 1454 + 1455 + /*! 1456 + @const kSCPropNetModemHoldReminder 1457 + @discussion Value is a CFNumber (0 or 1) 1458 + */ 1459 + extern const CFStringRef kSCPropNetModemHoldReminder __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1460 + #define kSCPropNetModemHoldReminder kSCPropNetModemHoldReminder 1461 + 1462 + /*! 1463 + @const kSCPropNetModemHoldReminderTime 1464 + @discussion Value is a CFNumber 1465 + */ 1466 + extern const CFStringRef kSCPropNetModemHoldReminderTime __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1467 + #define kSCPropNetModemHoldReminderTime kSCPropNetModemHoldReminderTime 1468 + 1469 + /*! 1470 + @const kSCPropNetModemNote 1471 + @discussion Value is a CFString 1472 + */ 1473 + extern const CFStringRef kSCPropNetModemNote __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1474 + #define kSCPropNetModemNote kSCPropNetModemNote 1475 + 1476 + /*! 1477 + @const kSCPropNetModemPulseDial 1478 + @discussion Value is a CFNumber (0 or 1) 1479 + */ 1480 + extern const CFStringRef kSCPropNetModemPulseDial __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1481 + #define kSCPropNetModemPulseDial kSCPropNetModemPulseDial 1482 + 1483 + /*! 1484 + @const kSCPropNetModemSpeaker 1485 + @discussion Value is a CFNumber (0 or 1) 1486 + */ 1487 + extern const CFStringRef kSCPropNetModemSpeaker __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1488 + #define kSCPropNetModemSpeaker kSCPropNetModemSpeaker 1489 + 1490 + /*! 1491 + @const kSCPropNetModemSpeed 1492 + @discussion Value is a CFNumber 1493 + */ 1494 + extern const CFStringRef kSCPropNetModemSpeed __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1495 + #define kSCPropNetModemSpeed kSCPropNetModemSpeed 1496 + 1497 + /*! 1498 + @const kSCValNetModemDialModeIgnoreDialTone 1499 + */ 1500 + extern const CFStringRef kSCValNetModemDialModeIgnoreDialTone __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1501 + #define kSCValNetModemDialModeIgnoreDialTone kSCValNetModemDialModeIgnoreDialTone 1502 + 1503 + /*! 1504 + @const kSCValNetModemDialModeManual 1505 + */ 1506 + extern const CFStringRef kSCValNetModemDialModeManual __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1507 + #define kSCValNetModemDialModeManual kSCValNetModemDialModeManual 1508 + 1509 + /*! 1510 + @const kSCValNetModemDialModeWaitForDialTone 1511 + */ 1512 + extern const CFStringRef kSCValNetModemDialModeWaitForDialTone __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1513 + #define kSCValNetModemDialModeWaitForDialTone kSCValNetModemDialModeWaitForDialTone 1514 + 1515 + /*! 1516 + @group kSCEntNetPPP Entity Keys 1517 + */ 1518 + 1519 + /*! 1520 + @const kSCPropNetPPPACSPEnabled 1521 + @discussion Value is a CFNumber (0 or 1) 1522 + */ 1523 + extern const CFStringRef kSCPropNetPPPACSPEnabled __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1524 + #define kSCPropNetPPPACSPEnabled kSCPropNetPPPACSPEnabled 1525 + 1526 + /*! 1527 + @const kSCPropNetPPPConnectTime 1528 + @discussion Value is a CFNumber 1529 + */ 1530 + extern const CFStringRef kSCPropNetPPPConnectTime __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1531 + #define kSCPropNetPPPConnectTime kSCPropNetPPPConnectTime 1532 + 1533 + /*! 1534 + @const kSCPropNetPPPDeviceLastCause 1535 + @discussion Value is a CFNumber 1536 + */ 1537 + extern const CFStringRef kSCPropNetPPPDeviceLastCause __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1538 + #define kSCPropNetPPPDeviceLastCause kSCPropNetPPPDeviceLastCause 1539 + 1540 + /*! 1541 + @const kSCPropNetPPPDialOnDemand 1542 + @discussion Value is a CFNumber (0 or 1) 1543 + */ 1544 + extern const CFStringRef kSCPropNetPPPDialOnDemand __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1545 + #define kSCPropNetPPPDialOnDemand kSCPropNetPPPDialOnDemand 1546 + 1547 + /*! 1548 + @const kSCPropNetPPPDisconnectOnFastUserSwitch 1549 + @discussion Value is a CFNumber (0 or 1) 1550 + */ 1551 + extern const CFStringRef kSCPropNetPPPDisconnectOnFastUserSwitch __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1552 + #define kSCPropNetPPPDisconnectOnFastUserSwitch kSCPropNetPPPDisconnectOnFastUserSwitch 1553 + 1554 + /*! 1555 + @const kSCPropNetPPPDisconnectOnIdle 1556 + @discussion Value is a CFNumber (0 or 1) 1557 + */ 1558 + extern const CFStringRef kSCPropNetPPPDisconnectOnIdle __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1559 + #define kSCPropNetPPPDisconnectOnIdle kSCPropNetPPPDisconnectOnIdle 1560 + 1561 + /*! 1562 + @const kSCPropNetPPPDisconnectOnIdleTimer 1563 + @discussion Value is a CFNumber 1564 + */ 1565 + extern const CFStringRef kSCPropNetPPPDisconnectOnIdleTimer __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1566 + #define kSCPropNetPPPDisconnectOnIdleTimer kSCPropNetPPPDisconnectOnIdleTimer 1567 + 1568 + /*! 1569 + @const kSCPropNetPPPDisconnectOnLogout 1570 + @discussion Value is a CFNumber (0 or 1) 1571 + */ 1572 + extern const CFStringRef kSCPropNetPPPDisconnectOnLogout __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1573 + #define kSCPropNetPPPDisconnectOnLogout kSCPropNetPPPDisconnectOnLogout 1574 + 1575 + /*! 1576 + @const kSCPropNetPPPDisconnectOnSleep 1577 + @discussion Value is a CFNumber (0 or 1) 1578 + */ 1579 + extern const CFStringRef kSCPropNetPPPDisconnectOnSleep __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1580 + #define kSCPropNetPPPDisconnectOnSleep kSCPropNetPPPDisconnectOnSleep 1581 + 1582 + /*! 1583 + @const kSCPropNetPPPDisconnectTime 1584 + @discussion Value is a CFNumber 1585 + */ 1586 + extern const CFStringRef kSCPropNetPPPDisconnectTime __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1587 + #define kSCPropNetPPPDisconnectTime kSCPropNetPPPDisconnectTime 1588 + 1589 + /*! 1590 + @const kSCPropNetPPPIdleReminderTimer 1591 + @discussion Value is a CFNumber 1592 + */ 1593 + extern const CFStringRef kSCPropNetPPPIdleReminderTimer __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1594 + #define kSCPropNetPPPIdleReminderTimer kSCPropNetPPPIdleReminderTimer 1595 + 1596 + /*! 1597 + @const kSCPropNetPPPIdleReminder 1598 + @discussion Value is a CFNumber (0 or 1) 1599 + */ 1600 + extern const CFStringRef kSCPropNetPPPIdleReminder __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1601 + #define kSCPropNetPPPIdleReminder kSCPropNetPPPIdleReminder 1602 + 1603 + /*! 1604 + @const kSCPropNetPPPLastCause 1605 + @discussion Value is a CFNumber 1606 + */ 1607 + extern const CFStringRef kSCPropNetPPPLastCause __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1608 + #define kSCPropNetPPPLastCause kSCPropNetPPPLastCause 1609 + 1610 + /*! 1611 + @const kSCPropNetPPPLogfile 1612 + @discussion Value is a CFString 1613 + */ 1614 + extern const CFStringRef kSCPropNetPPPLogfile __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1615 + #define kSCPropNetPPPLogfile kSCPropNetPPPLogfile 1616 + 1617 + /*! 1618 + @const kSCPropNetPPPPlugins 1619 + @discussion Value is a CFArray[CFString] 1620 + */ 1621 + extern const CFStringRef kSCPropNetPPPPlugins __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1622 + #define kSCPropNetPPPPlugins kSCPropNetPPPPlugins 1623 + 1624 + /*! 1625 + @const kSCPropNetPPPRetryConnectTime 1626 + @discussion Value is a CFNumber 1627 + */ 1628 + extern const CFStringRef kSCPropNetPPPRetryConnectTime __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1629 + #define kSCPropNetPPPRetryConnectTime kSCPropNetPPPRetryConnectTime 1630 + 1631 + /*! 1632 + @const kSCPropNetPPPSessionTimer 1633 + @discussion Value is a CFNumber 1634 + */ 1635 + extern const CFStringRef kSCPropNetPPPSessionTimer __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1636 + #define kSCPropNetPPPSessionTimer kSCPropNetPPPSessionTimer 1637 + 1638 + /*! 1639 + @const kSCPropNetPPPStatus 1640 + @discussion Value is a CFNumber 1641 + */ 1642 + extern const CFStringRef kSCPropNetPPPStatus __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1643 + #define kSCPropNetPPPStatus kSCPropNetPPPStatus 1644 + 1645 + /*! 1646 + @const kSCPropNetPPPUseSessionTimer 1647 + @discussion Value is a CFNumber (0 or 1) 1648 + */ 1649 + extern const CFStringRef kSCPropNetPPPUseSessionTimer __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1650 + #define kSCPropNetPPPUseSessionTimer kSCPropNetPPPUseSessionTimer 1651 + 1652 + /*! 1653 + @const kSCPropNetPPPVerboseLogging 1654 + @discussion Value is a CFNumber (0 or 1) 1655 + */ 1656 + extern const CFStringRef kSCPropNetPPPVerboseLogging __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1657 + #define kSCPropNetPPPVerboseLogging kSCPropNetPPPVerboseLogging 1658 + 1659 + /*! 1660 + @const kSCPropNetPPPAuthEAPPlugins 1661 + @discussion Value is a CFArray[CFString] 1662 + */ 1663 + extern const CFStringRef kSCPropNetPPPAuthEAPPlugins __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1664 + #define kSCPropNetPPPAuthEAPPlugins kSCPropNetPPPAuthEAPPlugins 1665 + 1666 + /*! 1667 + @const kSCPropNetPPPAuthName 1668 + @discussion Value is a CFString 1669 + */ 1670 + extern const CFStringRef kSCPropNetPPPAuthName __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1671 + #define kSCPropNetPPPAuthName kSCPropNetPPPAuthName 1672 + 1673 + /*! 1674 + @const kSCPropNetPPPAuthPassword 1675 + @discussion Value is a CFString 1676 + */ 1677 + extern const CFStringRef kSCPropNetPPPAuthPassword __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1678 + #define kSCPropNetPPPAuthPassword kSCPropNetPPPAuthPassword 1679 + 1680 + /*! 1681 + @const kSCPropNetPPPAuthPasswordEncryption 1682 + @discussion Value is a CFString 1683 + */ 1684 + extern const CFStringRef kSCPropNetPPPAuthPasswordEncryption __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1685 + #define kSCPropNetPPPAuthPasswordEncryption kSCPropNetPPPAuthPasswordEncryption 1686 + 1687 + /*! 1688 + @const kSCPropNetPPPAuthPrompt 1689 + @discussion Value is a CFString 1690 + */ 1691 + extern const CFStringRef kSCPropNetPPPAuthPrompt __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1692 + #define kSCPropNetPPPAuthPrompt kSCPropNetPPPAuthPrompt 1693 + 1694 + /*! 1695 + @const kSCPropNetPPPAuthProtocol 1696 + @discussion Value is a CFArray[CFString] 1697 + */ 1698 + extern const CFStringRef kSCPropNetPPPAuthProtocol __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1699 + #define kSCPropNetPPPAuthProtocol kSCPropNetPPPAuthProtocol 1700 + 1701 + /*! 1702 + @const kSCValNetPPPAuthPasswordEncryptionKeychain 1703 + */ 1704 + extern const CFStringRef kSCValNetPPPAuthPasswordEncryptionKeychain __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1705 + #define kSCValNetPPPAuthPasswordEncryptionKeychain kSCValNetPPPAuthPasswordEncryptionKeychain 1706 + 1707 + /*! 1708 + @const kSCValNetPPPAuthPasswordEncryptionToken 1709 + */ 1710 + extern const CFStringRef kSCValNetPPPAuthPasswordEncryptionToken __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 1711 + #define kSCValNetPPPAuthPasswordEncryptionToken kSCValNetPPPAuthPasswordEncryptionToken 1712 + 1713 + /*! 1714 + @const kSCValNetPPPAuthPromptBefore 1715 + @discussion Value is a CFString 1716 + */ 1717 + extern const CFStringRef kSCValNetPPPAuthPromptBefore __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1718 + #define kSCValNetPPPAuthPromptBefore kSCValNetPPPAuthPromptBefore 1719 + 1720 + /*! 1721 + @const kSCValNetPPPAuthPromptAfter 1722 + @discussion Value is a CFString 1723 + */ 1724 + extern const CFStringRef kSCValNetPPPAuthPromptAfter __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1725 + #define kSCValNetPPPAuthPromptAfter kSCValNetPPPAuthPromptAfter 1726 + 1727 + /*! 1728 + @const kSCValNetPPPAuthProtocolCHAP 1729 + @discussion Value is a CFString 1730 + */ 1731 + extern const CFStringRef kSCValNetPPPAuthProtocolCHAP __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1732 + #define kSCValNetPPPAuthProtocolCHAP kSCValNetPPPAuthProtocolCHAP 1733 + 1734 + /*! 1735 + @const kSCValNetPPPAuthProtocolEAP 1736 + @discussion Value is a CFString 1737 + */ 1738 + extern const CFStringRef kSCValNetPPPAuthProtocolEAP __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1739 + #define kSCValNetPPPAuthProtocolEAP kSCValNetPPPAuthProtocolEAP 1740 + 1741 + /*! 1742 + @const kSCValNetPPPAuthProtocolMSCHAP1 1743 + @discussion Value is a CFString 1744 + */ 1745 + extern const CFStringRef kSCValNetPPPAuthProtocolMSCHAP1 __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1746 + #define kSCValNetPPPAuthProtocolMSCHAP1 kSCValNetPPPAuthProtocolMSCHAP1 1747 + 1748 + /*! 1749 + @const kSCValNetPPPAuthProtocolMSCHAP2 1750 + @discussion Value is a CFString 1751 + */ 1752 + extern const CFStringRef kSCValNetPPPAuthProtocolMSCHAP2 __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1753 + #define kSCValNetPPPAuthProtocolMSCHAP2 kSCValNetPPPAuthProtocolMSCHAP2 1754 + 1755 + /*! 1756 + @const kSCValNetPPPAuthProtocolPAP 1757 + @discussion Value is a CFString 1758 + */ 1759 + extern const CFStringRef kSCValNetPPPAuthProtocolPAP __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1760 + #define kSCValNetPPPAuthProtocolPAP kSCValNetPPPAuthProtocolPAP 1761 + 1762 + /*! 1763 + @const kSCPropNetPPPCommAlternateRemoteAddress 1764 + @discussion Value is a CFString 1765 + */ 1766 + extern const CFStringRef kSCPropNetPPPCommAlternateRemoteAddress __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1767 + #define kSCPropNetPPPCommAlternateRemoteAddress kSCPropNetPPPCommAlternateRemoteAddress 1768 + 1769 + /*! 1770 + @const kSCPropNetPPPCommConnectDelay 1771 + @discussion Value is a CFNumber 1772 + */ 1773 + extern const CFStringRef kSCPropNetPPPCommConnectDelay __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1774 + #define kSCPropNetPPPCommConnectDelay kSCPropNetPPPCommConnectDelay 1775 + 1776 + /*! 1777 + @const kSCPropNetPPPCommDisplayTerminalWindow 1778 + @discussion Value is a CFNumber (0 or 1) 1779 + */ 1780 + extern const CFStringRef kSCPropNetPPPCommDisplayTerminalWindow __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1781 + #define kSCPropNetPPPCommDisplayTerminalWindow kSCPropNetPPPCommDisplayTerminalWindow 1782 + 1783 + /*! 1784 + @const kSCPropNetPPPCommRedialCount 1785 + @discussion Value is a CFNumber 1786 + */ 1787 + extern const CFStringRef kSCPropNetPPPCommRedialCount __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1788 + #define kSCPropNetPPPCommRedialCount kSCPropNetPPPCommRedialCount 1789 + 1790 + /*! 1791 + @const kSCPropNetPPPCommRedialEnabled 1792 + @discussion Value is a CFNumber (0 or 1) 1793 + */ 1794 + extern const CFStringRef kSCPropNetPPPCommRedialEnabled __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1795 + #define kSCPropNetPPPCommRedialEnabled kSCPropNetPPPCommRedialEnabled 1796 + 1797 + /*! 1798 + @const kSCPropNetPPPCommRedialInterval 1799 + @discussion Value is a CFNumber 1800 + */ 1801 + extern const CFStringRef kSCPropNetPPPCommRedialInterval __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1802 + #define kSCPropNetPPPCommRedialInterval kSCPropNetPPPCommRedialInterval 1803 + 1804 + /*! 1805 + @const kSCPropNetPPPCommRemoteAddress 1806 + @discussion Value is a CFString 1807 + */ 1808 + extern const CFStringRef kSCPropNetPPPCommRemoteAddress __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1809 + #define kSCPropNetPPPCommRemoteAddress kSCPropNetPPPCommRemoteAddress 1810 + 1811 + /*! 1812 + @const kSCPropNetPPPCommTerminalScript 1813 + @discussion Value is a CFString 1814 + */ 1815 + extern const CFStringRef kSCPropNetPPPCommTerminalScript __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1816 + #define kSCPropNetPPPCommTerminalScript kSCPropNetPPPCommTerminalScript 1817 + 1818 + /*! 1819 + @const kSCPropNetPPPCommUseTerminalScript 1820 + @discussion Value is a CFNumber (0 or 1) 1821 + */ 1822 + extern const CFStringRef kSCPropNetPPPCommUseTerminalScript __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1823 + #define kSCPropNetPPPCommUseTerminalScript kSCPropNetPPPCommUseTerminalScript 1824 + 1825 + /*! 1826 + @const kSCPropNetPPPCCPEnabled 1827 + @discussion Value is a CFNumber (0 or 1) 1828 + */ 1829 + extern const CFStringRef kSCPropNetPPPCCPEnabled __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_NA); 1830 + #define kSCPropNetPPPCCPEnabled kSCPropNetPPPCCPEnabled 1831 + 1832 + /*! 1833 + @const kSCPropNetPPPCCPMPPE40Enabled 1834 + @discussion Value is a CFNumber (0 or 1) 1835 + */ 1836 + extern const CFStringRef kSCPropNetPPPCCPMPPE40Enabled __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1837 + #define kSCPropNetPPPCCPMPPE40Enabled kSCPropNetPPPCCPMPPE40Enabled 1838 + 1839 + /*! 1840 + @const kSCPropNetPPPCCPMPPE128Enabled 1841 + @discussion Value is a CFNumber (0 or 1) 1842 + */ 1843 + extern const CFStringRef kSCPropNetPPPCCPMPPE128Enabled __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1844 + #define kSCPropNetPPPCCPMPPE128Enabled kSCPropNetPPPCCPMPPE128Enabled 1845 + 1846 + /*! 1847 + @const kSCPropNetPPPIPCPCompressionVJ 1848 + @discussion Value is a CFNumber (0 or 1) 1849 + */ 1850 + extern const CFStringRef kSCPropNetPPPIPCPCompressionVJ __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1851 + #define kSCPropNetPPPIPCPCompressionVJ kSCPropNetPPPIPCPCompressionVJ 1852 + 1853 + /*! 1854 + @const kSCPropNetPPPIPCPUsePeerDNS 1855 + @discussion Value is a CFNumber (0 or 1) 1856 + */ 1857 + extern const CFStringRef kSCPropNetPPPIPCPUsePeerDNS __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1858 + #define kSCPropNetPPPIPCPUsePeerDNS kSCPropNetPPPIPCPUsePeerDNS 1859 + 1860 + /*! 1861 + @const kSCPropNetPPPLCPEchoEnabled 1862 + @discussion Value is a CFNumber (0 or 1) 1863 + */ 1864 + extern const CFStringRef kSCPropNetPPPLCPEchoEnabled __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1865 + #define kSCPropNetPPPLCPEchoEnabled kSCPropNetPPPLCPEchoEnabled 1866 + 1867 + /*! 1868 + @const kSCPropNetPPPLCPEchoFailure 1869 + @discussion Value is a CFNumber 1870 + */ 1871 + extern const CFStringRef kSCPropNetPPPLCPEchoFailure __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1872 + #define kSCPropNetPPPLCPEchoFailure kSCPropNetPPPLCPEchoFailure 1873 + 1874 + /*! 1875 + @const kSCPropNetPPPLCPEchoInterval 1876 + @discussion Value is a CFNumber 1877 + */ 1878 + extern const CFStringRef kSCPropNetPPPLCPEchoInterval __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1879 + #define kSCPropNetPPPLCPEchoInterval kSCPropNetPPPLCPEchoInterval 1880 + 1881 + /*! 1882 + @const kSCPropNetPPPLCPCompressionACField 1883 + @discussion Value is a CFNumber (0 or 1) 1884 + */ 1885 + extern const CFStringRef kSCPropNetPPPLCPCompressionACField __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1886 + #define kSCPropNetPPPLCPCompressionACField kSCPropNetPPPLCPCompressionACField 1887 + 1888 + /*! 1889 + @const kSCPropNetPPPLCPCompressionPField 1890 + @discussion Value is a CFNumber (0 or 1) 1891 + */ 1892 + extern const CFStringRef kSCPropNetPPPLCPCompressionPField __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1893 + #define kSCPropNetPPPLCPCompressionPField kSCPropNetPPPLCPCompressionPField 1894 + 1895 + /*! 1896 + @const kSCPropNetPPPLCPMRU 1897 + @discussion Value is a CFNumber 1898 + */ 1899 + extern const CFStringRef kSCPropNetPPPLCPMRU __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1900 + #define kSCPropNetPPPLCPMRU kSCPropNetPPPLCPMRU 1901 + 1902 + /*! 1903 + @const kSCPropNetPPPLCPMTU 1904 + @discussion Value is a CFNumber 1905 + */ 1906 + extern const CFStringRef kSCPropNetPPPLCPMTU __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1907 + #define kSCPropNetPPPLCPMTU kSCPropNetPPPLCPMTU 1908 + 1909 + /*! 1910 + @const kSCPropNetPPPLCPReceiveACCM 1911 + @discussion Value is a CFNumber 1912 + */ 1913 + extern const CFStringRef kSCPropNetPPPLCPReceiveACCM __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1914 + #define kSCPropNetPPPLCPReceiveACCM kSCPropNetPPPLCPReceiveACCM 1915 + 1916 + /*! 1917 + @const kSCPropNetPPPLCPTransmitACCM 1918 + @discussion Value is a CFNumber 1919 + */ 1920 + extern const CFStringRef kSCPropNetPPPLCPTransmitACCM __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1921 + #define kSCPropNetPPPLCPTransmitACCM kSCPropNetPPPLCPTransmitACCM 1922 + 1923 + /*! 1924 + @group kSCEntNetPPPoE Entity Keys 1925 + */ 1926 + 1927 + /*! 1928 + @group kSCEntNetPPPSerial Entity Keys 1929 + */ 1930 + 1931 + /*! 1932 + @group kSCEntNetL2TP Entity Keys 1933 + */ 1934 + 1935 + /*! 1936 + @const kSCPropNetL2TPIPSecSharedSecret 1937 + @discussion Value is a CFString 1938 + */ 1939 + extern const CFStringRef kSCPropNetL2TPIPSecSharedSecret __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1940 + #define kSCPropNetL2TPIPSecSharedSecret kSCPropNetL2TPIPSecSharedSecret 1941 + 1942 + /*! 1943 + @const kSCPropNetL2TPIPSecSharedSecretEncryption 1944 + @discussion Value is a CFString 1945 + */ 1946 + extern const CFStringRef kSCPropNetL2TPIPSecSharedSecretEncryption __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1947 + #define kSCPropNetL2TPIPSecSharedSecretEncryption kSCPropNetL2TPIPSecSharedSecretEncryption 1948 + 1949 + /*! 1950 + @const kSCPropNetL2TPTransport 1951 + @discussion Value is a CFString 1952 + */ 1953 + extern const CFStringRef kSCPropNetL2TPTransport __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1954 + #define kSCPropNetL2TPTransport kSCPropNetL2TPTransport 1955 + 1956 + /*! 1957 + @const kSCValNetL2TPIPSecSharedSecretEncryptionKeychain 1958 + */ 1959 + extern const CFStringRef kSCValNetL2TPIPSecSharedSecretEncryptionKeychain __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1960 + #define kSCValNetL2TPIPSecSharedSecretEncryptionKeychain kSCValNetL2TPIPSecSharedSecretEncryptionKeychain 1961 + 1962 + /*! 1963 + @const kSCValNetL2TPTransportIP 1964 + */ 1965 + extern const CFStringRef kSCValNetL2TPTransportIP __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1966 + #define kSCValNetL2TPTransportIP kSCValNetL2TPTransportIP 1967 + 1968 + /*! 1969 + @const kSCValNetL2TPTransportIPSec 1970 + */ 1971 + extern const CFStringRef kSCValNetL2TPTransportIPSec __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA); 1972 + #define kSCValNetL2TPTransportIPSec kSCValNetL2TPTransportIPSec 1973 + 1974 + /*! 1975 + @group kSCEntNetProxies Entity Keys 1976 + */ 1977 + 1978 + /*! 1979 + @const kSCPropNetProxiesExceptionsList 1980 + @discussion Value is a CFArray[CFString] 1981 + */ 1982 + extern const CFStringRef kSCPropNetProxiesExceptionsList __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1983 + #define kSCPropNetProxiesExceptionsList kSCPropNetProxiesExceptionsList 1984 + 1985 + /*! 1986 + @const kSCPropNetProxiesExcludeSimpleHostnames 1987 + @discussion Value is a CFNumber (0 or 1) 1988 + */ 1989 + extern const CFStringRef kSCPropNetProxiesExcludeSimpleHostnames __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 1990 + #define kSCPropNetProxiesExcludeSimpleHostnames kSCPropNetProxiesExcludeSimpleHostnames 1991 + 1992 + /*! 1993 + @const kSCPropNetProxiesFTPEnable 1994 + @discussion Value is a CFNumber (0 or 1) 1995 + */ 1996 + extern const CFStringRef kSCPropNetProxiesFTPEnable __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 1997 + #define kSCPropNetProxiesFTPEnable kSCPropNetProxiesFTPEnable 1998 + 1999 + /*! 2000 + @const kSCPropNetProxiesFTPPassive 2001 + @discussion Value is a CFNumber (0 or 1) 2002 + */ 2003 + extern const CFStringRef kSCPropNetProxiesFTPPassive __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2004 + #define kSCPropNetProxiesFTPPassive kSCPropNetProxiesFTPPassive 2005 + 2006 + /*! 2007 + @const kSCPropNetProxiesFTPPort 2008 + @discussion Value is a CFNumber 2009 + */ 2010 + extern const CFStringRef kSCPropNetProxiesFTPPort __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2011 + #define kSCPropNetProxiesFTPPort kSCPropNetProxiesFTPPort 2012 + 2013 + /*! 2014 + @const kSCPropNetProxiesFTPProxy 2015 + @discussion Value is a CFString 2016 + */ 2017 + extern const CFStringRef kSCPropNetProxiesFTPProxy __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2018 + #define kSCPropNetProxiesFTPProxy kSCPropNetProxiesFTPProxy 2019 + 2020 + /*! 2021 + @const kSCPropNetProxiesGopherEnable 2022 + @discussion Value is a CFNumber (0 or 1) 2023 + */ 2024 + extern const CFStringRef kSCPropNetProxiesGopherEnable __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2025 + #define kSCPropNetProxiesGopherEnable kSCPropNetProxiesGopherEnable 2026 + 2027 + /*! 2028 + @const kSCPropNetProxiesGopherPort 2029 + @discussion Value is a CFNumber 2030 + */ 2031 + extern const CFStringRef kSCPropNetProxiesGopherPort __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2032 + #define kSCPropNetProxiesGopherPort kSCPropNetProxiesGopherPort 2033 + 2034 + /*! 2035 + @const kSCPropNetProxiesGopherProxy 2036 + @discussion Value is a CFString 2037 + */ 2038 + extern const CFStringRef kSCPropNetProxiesGopherProxy __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2039 + #define kSCPropNetProxiesGopherProxy kSCPropNetProxiesGopherProxy 2040 + 2041 + /*! 2042 + @const kSCPropNetProxiesHTTPEnable 2043 + @discussion Value is a CFNumber (0 or 1) 2044 + */ 2045 + extern const CFStringRef kSCPropNetProxiesHTTPEnable __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2046 + #define kSCPropNetProxiesHTTPEnable kSCPropNetProxiesHTTPEnable 2047 + 2048 + /*! 2049 + @const kSCPropNetProxiesHTTPPort 2050 + @discussion Value is a CFNumber 2051 + */ 2052 + extern const CFStringRef kSCPropNetProxiesHTTPPort __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2053 + #define kSCPropNetProxiesHTTPPort kSCPropNetProxiesHTTPPort 2054 + 2055 + /*! 2056 + @const kSCPropNetProxiesHTTPProxy 2057 + @discussion Value is a CFString 2058 + */ 2059 + extern const CFStringRef kSCPropNetProxiesHTTPProxy __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2060 + #define kSCPropNetProxiesHTTPProxy kSCPropNetProxiesHTTPProxy 2061 + 2062 + /*! 2063 + @const kSCPropNetProxiesHTTPSEnable 2064 + @discussion Value is a CFNumber (0 or 1) 2065 + */ 2066 + extern const CFStringRef kSCPropNetProxiesHTTPSEnable __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2067 + #define kSCPropNetProxiesHTTPSEnable kSCPropNetProxiesHTTPSEnable 2068 + 2069 + /*! 2070 + @const kSCPropNetProxiesHTTPSPort 2071 + @discussion Value is a CFNumber 2072 + */ 2073 + extern const CFStringRef kSCPropNetProxiesHTTPSPort __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2074 + #define kSCPropNetProxiesHTTPSPort kSCPropNetProxiesHTTPSPort 2075 + 2076 + /*! 2077 + @const kSCPropNetProxiesHTTPSProxy 2078 + @discussion Value is a CFString 2079 + */ 2080 + extern const CFStringRef kSCPropNetProxiesHTTPSProxy __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2081 + #define kSCPropNetProxiesHTTPSProxy kSCPropNetProxiesHTTPSProxy 2082 + 2083 + /*! 2084 + @const kSCPropNetProxiesRTSPEnable 2085 + @discussion Value is a CFNumber (0 or 1) 2086 + */ 2087 + extern const CFStringRef kSCPropNetProxiesRTSPEnable __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2088 + #define kSCPropNetProxiesRTSPEnable kSCPropNetProxiesRTSPEnable 2089 + 2090 + /*! 2091 + @const kSCPropNetProxiesRTSPPort 2092 + @discussion Value is a CFNumber 2093 + */ 2094 + extern const CFStringRef kSCPropNetProxiesRTSPPort __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2095 + #define kSCPropNetProxiesRTSPPort kSCPropNetProxiesRTSPPort 2096 + 2097 + /*! 2098 + @const kSCPropNetProxiesRTSPProxy 2099 + @discussion Value is a CFString 2100 + */ 2101 + extern const CFStringRef kSCPropNetProxiesRTSPProxy __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2102 + #define kSCPropNetProxiesRTSPProxy kSCPropNetProxiesRTSPProxy 2103 + 2104 + /*! 2105 + @const kSCPropNetProxiesSOCKSEnable 2106 + @discussion Value is a CFNumber (0 or 1) 2107 + */ 2108 + extern const CFStringRef kSCPropNetProxiesSOCKSEnable __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2109 + #define kSCPropNetProxiesSOCKSEnable kSCPropNetProxiesSOCKSEnable 2110 + 2111 + /*! 2112 + @const kSCPropNetProxiesSOCKSPort 2113 + @discussion Value is a CFNumber 2114 + */ 2115 + extern const CFStringRef kSCPropNetProxiesSOCKSPort __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2116 + #define kSCPropNetProxiesSOCKSPort kSCPropNetProxiesSOCKSPort 2117 + 2118 + /*! 2119 + @const kSCPropNetProxiesSOCKSProxy 2120 + @discussion Value is a CFString 2121 + */ 2122 + extern const CFStringRef kSCPropNetProxiesSOCKSProxy __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2123 + #define kSCPropNetProxiesSOCKSProxy kSCPropNetProxiesSOCKSProxy 2124 + 2125 + /*! 2126 + @const kSCPropNetProxiesProxyAutoConfigEnable 2127 + @discussion Value is a CFNumber (0 or 1) 2128 + */ 2129 + extern const CFStringRef kSCPropNetProxiesProxyAutoConfigEnable __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 2130 + #define kSCPropNetProxiesProxyAutoConfigEnable kSCPropNetProxiesProxyAutoConfigEnable 2131 + 2132 + /*! 2133 + @const kSCPropNetProxiesProxyAutoConfigJavaScript 2134 + @discussion Value is a CFString 2135 + */ 2136 + extern const CFStringRef kSCPropNetProxiesProxyAutoConfigJavaScript __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_NA); 2137 + #define kSCPropNetProxiesProxyAutoConfigJavaScript kSCPropNetProxiesProxyAutoConfigJavaScript 2138 + 2139 + /*! 2140 + @const kSCPropNetProxiesProxyAutoConfigURLString 2141 + @discussion Value is a CFString 2142 + */ 2143 + extern const CFStringRef kSCPropNetProxiesProxyAutoConfigURLString __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 2144 + #define kSCPropNetProxiesProxyAutoConfigURLString kSCPropNetProxiesProxyAutoConfigURLString 2145 + 2146 + /*! 2147 + @const kSCPropNetProxiesProxyAutoDiscoveryEnable 2148 + @discussion Value is a CFNumber (0 or 1) 2149 + */ 2150 + extern const CFStringRef kSCPropNetProxiesProxyAutoDiscoveryEnable __OSX_AVAILABLE_STARTING(__MAC_10_4,__IPHONE_NA); 2151 + #define kSCPropNetProxiesProxyAutoDiscoveryEnable kSCPropNetProxiesProxyAutoDiscoveryEnable 2152 + 2153 + /*! 2154 + @group kSCEntNetSMB Entity Keys 2155 + */ 2156 + 2157 + /*! 2158 + @const kSCPropNetSMBNetBIOSName 2159 + @discussion Value is a CFString 2160 + */ 2161 + extern const CFStringRef kSCPropNetSMBNetBIOSName __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 2162 + #define kSCPropNetSMBNetBIOSName kSCPropNetSMBNetBIOSName 2163 + 2164 + /*! 2165 + @const kSCPropNetSMBNetBIOSNodeType 2166 + @discussion Value is a CFString 2167 + */ 2168 + extern const CFStringRef kSCPropNetSMBNetBIOSNodeType __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 2169 + #define kSCPropNetSMBNetBIOSNodeType kSCPropNetSMBNetBIOSNodeType 2170 + 2171 + /*! 2172 + @const kSCPropNetSMBNetBIOSScope 2173 + @discussion Value is a CFString 2174 + */ 2175 + extern const CFStringRef kSCPropNetSMBNetBIOSScope __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5,__MAC_10_7,__IPHONE_NA,__IPHONE_NA); 2176 + #define kSCPropNetSMBNetBIOSScope kSCPropNetSMBNetBIOSScope 2177 + 2178 + /*! 2179 + @const kSCPropNetSMBWINSAddresses 2180 + @discussion Value is a CFArray[CFString] 2181 + */ 2182 + extern const CFStringRef kSCPropNetSMBWINSAddresses __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 2183 + #define kSCPropNetSMBWINSAddresses kSCPropNetSMBWINSAddresses 2184 + 2185 + /*! 2186 + @const kSCPropNetSMBWorkgroup 2187 + @discussion Value is a CFString 2188 + */ 2189 + extern const CFStringRef kSCPropNetSMBWorkgroup __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 2190 + #define kSCPropNetSMBWorkgroup kSCPropNetSMBWorkgroup 2191 + 2192 + /*! 2193 + @const kSCValNetSMBNetBIOSNodeTypeBroadcast 2194 + */ 2195 + extern const CFStringRef kSCValNetSMBNetBIOSNodeTypeBroadcast __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 2196 + #define kSCValNetSMBNetBIOSNodeTypeBroadcast kSCValNetSMBNetBIOSNodeTypeBroadcast 2197 + 2198 + /*! 2199 + @const kSCValNetSMBNetBIOSNodeTypePeer 2200 + */ 2201 + extern const CFStringRef kSCValNetSMBNetBIOSNodeTypePeer __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 2202 + #define kSCValNetSMBNetBIOSNodeTypePeer kSCValNetSMBNetBIOSNodeTypePeer 2203 + 2204 + /*! 2205 + @const kSCValNetSMBNetBIOSNodeTypeMixed 2206 + */ 2207 + extern const CFStringRef kSCValNetSMBNetBIOSNodeTypeMixed __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 2208 + #define kSCValNetSMBNetBIOSNodeTypeMixed kSCValNetSMBNetBIOSNodeTypeMixed 2209 + 2210 + /*! 2211 + @const kSCValNetSMBNetBIOSNodeTypeHybrid 2212 + */ 2213 + extern const CFStringRef kSCValNetSMBNetBIOSNodeTypeHybrid __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA); 2214 + #define kSCValNetSMBNetBIOSNodeTypeHybrid kSCValNetSMBNetBIOSNodeTypeHybrid 2215 + 2216 + /*! 2217 + @group kSCCompUsers Entity Keys 2218 + */ 2219 + 2220 + /*! 2221 + @const kSCEntUsersConsoleUser 2222 + */ 2223 + extern const CFStringRef kSCEntUsersConsoleUser __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2224 + #define kSCEntUsersConsoleUser kSCEntUsersConsoleUser 2225 + 2226 + /*! 2227 + @group kSCCompSystem Properties 2228 + */ 2229 + 2230 + /*! 2231 + @const kSCPropSystemComputerName 2232 + @discussion Value is a CFString 2233 + */ 2234 + extern const CFStringRef kSCPropSystemComputerName __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2235 + #define kSCPropSystemComputerName kSCPropSystemComputerName 2236 + 2237 + /*! 2238 + @const kSCPropSystemComputerNameEncoding 2239 + @discussion Value is a CFNumber 2240 + */ 2241 + extern const CFStringRef kSCPropSystemComputerNameEncoding __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2242 + #define kSCPropSystemComputerNameEncoding kSCPropSystemComputerNameEncoding 2243 + 2244 + /*! 2245 + @group SCDynamicStore "domain" prefixes 2246 + */ 2247 + 2248 + /*! 2249 + @const kSCDynamicStoreDomainFile 2250 + */ 2251 + extern const CFStringRef kSCDynamicStoreDomainFile __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2252 + #define kSCDynamicStoreDomainFile kSCDynamicStoreDomainFile 2253 + 2254 + /*! 2255 + @const kSCDynamicStoreDomainPlugin 2256 + */ 2257 + extern const CFStringRef kSCDynamicStoreDomainPlugin __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2258 + #define kSCDynamicStoreDomainPlugin kSCDynamicStoreDomainPlugin 2259 + 2260 + /*! 2261 + @const kSCDynamicStoreDomainSetup 2262 + */ 2263 + extern const CFStringRef kSCDynamicStoreDomainSetup __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2264 + #define kSCDynamicStoreDomainSetup kSCDynamicStoreDomainSetup 2265 + 2266 + /*! 2267 + @const kSCDynamicStoreDomainState 2268 + */ 2269 + extern const CFStringRef kSCDynamicStoreDomainState __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2270 + #define kSCDynamicStoreDomainState kSCDynamicStoreDomainState 2271 + 2272 + /*! 2273 + @const kSCDynamicStoreDomainPrefs 2274 + */ 2275 + extern const CFStringRef kSCDynamicStoreDomainPrefs __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2276 + #define kSCDynamicStoreDomainPrefs kSCDynamicStoreDomainPrefs 2277 + 2278 + /*! 2279 + @group Preference ("location") Keys 2280 + */ 2281 + 2282 + /*! 2283 + @const kSCDynamicStorePropSetupCurrentSet 2284 + @discussion Value is a CFString 2285 + */ 2286 + extern const CFStringRef kSCDynamicStorePropSetupCurrentSet __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2287 + #define kSCDynamicStorePropSetupCurrentSet kSCDynamicStorePropSetupCurrentSet 2288 + 2289 + /*! 2290 + @const kSCDynamicStorePropSetupLastUpdated 2291 + */ 2292 + extern const CFStringRef kSCDynamicStorePropSetupLastUpdated __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2293 + #define kSCDynamicStorePropSetupLastUpdated kSCDynamicStorePropSetupLastUpdated 2294 + 2295 + /*! 2296 + @group Common/shared Keys 2297 + */ 2298 + 2299 + /*! 2300 + @const kSCDynamicStorePropNetInterfaces 2301 + @discussion Value is a CFArray[CFString] 2302 + */ 2303 + extern const CFStringRef kSCDynamicStorePropNetInterfaces __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2304 + #define kSCDynamicStorePropNetInterfaces kSCDynamicStorePropNetInterfaces 2305 + 2306 + /*! 2307 + @const kSCDynamicStorePropNetPrimaryInterface 2308 + @discussion Value is a CFString 2309 + */ 2310 + extern const CFStringRef kSCDynamicStorePropNetPrimaryInterface __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2311 + #define kSCDynamicStorePropNetPrimaryInterface kSCDynamicStorePropNetPrimaryInterface 2312 + 2313 + /*! 2314 + @const kSCDynamicStorePropNetPrimaryService 2315 + @discussion Value is a CFString 2316 + */ 2317 + extern const CFStringRef kSCDynamicStorePropNetPrimaryService __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2318 + #define kSCDynamicStorePropNetPrimaryService kSCDynamicStorePropNetPrimaryService 2319 + 2320 + /*! 2321 + @const kSCDynamicStorePropNetServiceIDs 2322 + @discussion Value is a CFArray[CFString] 2323 + */ 2324 + extern const CFStringRef kSCDynamicStorePropNetServiceIDs __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA); 2325 + #define kSCDynamicStorePropNetServiceIDs kSCDynamicStorePropNetServiceIDs 2326 + 2327 + /*! 2328 + @const kSCPropUsersConsoleUserName 2329 + @discussion Value is a CFString 2330 + */ 2331 + extern const CFStringRef kSCPropUsersConsoleUserName __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_4,__IPHONE_NA,__IPHONE_NA); 2332 + #define kSCPropUsersConsoleUserName kSCPropUsersConsoleUserName 2333 + 2334 + /*! 2335 + @const kSCPropUsersConsoleUserUID 2336 + @discussion Value is a CFNumber 2337 + */ 2338 + extern const CFStringRef kSCPropUsersConsoleUserUID __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_4,__IPHONE_NA,__IPHONE_NA); 2339 + #define kSCPropUsersConsoleUserUID kSCPropUsersConsoleUserUID 2340 + 2341 + /*! 2342 + @const kSCPropUsersConsoleUserGID 2343 + @discussion Value is a CFNumber 2344 + */ 2345 + extern const CFStringRef kSCPropUsersConsoleUserGID __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1,__MAC_10_4,__IPHONE_NA,__IPHONE_NA); 2346 + #define kSCPropUsersConsoleUserGID kSCPropUsersConsoleUserGID 2347 + 2348 + CF_ASSUME_NONNULL_END 2349 + 2350 + #endif /* _SCSCHEMADEFINITIONS_H */
+181
src/SystemConfiguration/include/SystemConfiguration/SystemConfiguration.h
··· 1 + /* 2 + * Copyright (c) 2000-2004, 2006, 2008-2010, 2012, 2015 Apple Inc. All rights reserved. 3 + * 4 + * @APPLE_LICENSE_HEADER_START@ 5 + * 6 + * This file contains Original Code and/or Modifications of Original Code 7 + * as defined in and that are subject to the Apple Public Source License 8 + * Version 2.0 (the 'License'). You may not use this file except in 9 + * compliance with the License. Please obtain a copy of the License at 10 + * http://www.opensource.apple.com/apsl/ and read it before using this 11 + * file. 12 + * 13 + * The Original Code and all software distributed under the License are 14 + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 + * Please see the License for the specific language governing rights and 19 + * limitations under the License. 20 + * 21 + * @APPLE_LICENSE_HEADER_END@ 22 + */ 23 + 24 + #ifndef _SYSTEMCONFIGURATION_H 25 + #define _SYSTEMCONFIGURATION_H 26 + 27 + #include <Availability.h> 28 + #include <sys/cdefs.h> 29 + #include <CoreFoundation/CoreFoundation.h> 30 + 31 + 32 + /*! 33 + @header SystemConfiguration 34 + @discussion The System Configuration framework provides access to the 35 + data used to configure a running system. The APIs provided 36 + by this framework communicate with the configd daemon. 37 + 38 + The configd daemon manages a dynamic store reflecting the 39 + desired configuration settings as well as the current state 40 + of the system. The daemon provides a notification mechanism 41 + for processes that need to be aware of changes made to the 42 + data. Lastly, the daemon loads a number of bundles (or 43 + plug-ins) that monitor low-level kernel events and, through 44 + a set of policy modules, keep the state data up to date. 45 + */ 46 + 47 + /*! 48 + @enum Error codes 49 + @discussion Returned error codes. 50 + @constant kSCStatusOK Success 51 + @constant kSCStatusFailed Non-specific Failure 52 + @constant kSCStatusInvalidArgument Invalid argument 53 + @constant kSCStatusAccessError Permission denied 54 + @constant kSCStatusNoKey No such key 55 + @constant kSCStatusKeyExists Data associated with key already defined 56 + @constant kSCStatusLocked Lock already held 57 + @constant kSCStatusNeedLock Lock required for this operation 58 + @constant kSCStatusNoStoreSession Configuration daemon session not active 59 + @constant kSCStatusNoStoreServer Configuration daemon not (or no longer) available 60 + @constant kSCStatusNotifierActive Notifier is currently active 61 + @constant kSCStatusNoPrefsSession Preferences session not active 62 + @constant kSCStatusPrefsBusy Preferences update currently in progress 63 + @constant kSCStatusNoConfigFile Configuration file not found 64 + @constant kSCStatusNoLink No such link 65 + @constant kSCStatusStale Write attempted on stale version of object 66 + @constant kSCStatusMaxLink Maximum link count exceeded 67 + @constant kSCStatusReachabilityUnknown 68 + A determination could not be made regarding the reachability 69 + of the specified nodename or address. 70 + @constant kSCStatusConnectionNoService Network service for connection not available 71 + */ 72 + enum { 73 + /* 74 + * Generic error codes 75 + */ 76 + kSCStatusOK = 0, /* Success */ 77 + kSCStatusFailed = 1001, /* Non-specific failure */ 78 + kSCStatusInvalidArgument = 1002, /* Invalid argument */ 79 + kSCStatusAccessError = 1003, /* Permission denied 80 + - must be root to obtain lock 81 + - could not create access/create preferences 82 + */ 83 + kSCStatusNoKey = 1004, /* No such key */ 84 + kSCStatusKeyExists = 1005, /* Key already defined */ 85 + kSCStatusLocked = 1006, /* Lock already held */ 86 + kSCStatusNeedLock = 1007, /* Lock required for this operation */ 87 + /* 88 + * SCDynamicStore error codes 89 + */ 90 + kSCStatusNoStoreSession = 2001, /* Configuration daemon session not active */ 91 + kSCStatusNoStoreServer = 2002, /* Configuration daemon not (no longer) available */ 92 + kSCStatusNotifierActive = 2003, /* Notifier is currently active */ 93 + /* 94 + * SCPreferences error codes 95 + */ 96 + kSCStatusNoPrefsSession = 3001, /* Preference session not active */ 97 + kSCStatusPrefsBusy = 3002, /* Preferences update currently in progress */ 98 + kSCStatusNoConfigFile = 3003, /* Configuration file not found */ 99 + kSCStatusNoLink = 3004, /* No such link */ 100 + kSCStatusStale = 3005, /* Write attempted on stale version of object */ 101 + kSCStatusMaxLink = 3006, /* Maximum link count exceeded */ 102 + /* 103 + * SCNetwork error codes 104 + */ 105 + kSCStatusReachabilityUnknown = 4001, /* Network reachability cannot be determined */ 106 + /* 107 + * SCNetworkConnection error codes 108 + */ 109 + kSCStatusConnectionNoService = 5001, /* Network service for connection not available 110 + __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_2_0) 111 + */ 112 + kSCStatusConnectionIgnore = 5002, /* Network connection information not available at this time 113 + __OSX_AVAILABLE_STARTING(__MAC_10_9,__IPHONE_6_0) 114 + */ 115 + }; 116 + 117 + 118 + /* SCDynamicStore APIs */ 119 + #include <SystemConfiguration/SCDynamicStore.h> 120 + #include <SystemConfiguration/SCDynamicStoreKey.h> 121 + #include <SystemConfiguration/SCDynamicStoreCopySpecific.h> 122 + 123 + /* SCPreferences APIs */ 124 + #include <SystemConfiguration/SCPreferences.h> 125 + #include <SystemConfiguration/SCPreferencesPath.h> 126 + #include <SystemConfiguration/SCPreferencesSetSpecific.h> 127 + 128 + /* Schema Definitions (for SCDynamicStore and SCPreferences) */ 129 + #include <SystemConfiguration/SCSchemaDefinitions.h> 130 + 131 + /* SCNetworkConfiguration APIs */ 132 + #include <SystemConfiguration/SCNetworkConfiguration.h> 133 + 134 + /* SCNetworkReachability and SCNetworkConnection APIs */ 135 + #include <SystemConfiguration/SCNetwork.h> 136 + #include <SystemConfiguration/SCNetworkReachability.h> 137 + #include <SystemConfiguration/SCNetworkConnection.h> 138 + 139 + CF_IMPLICIT_BRIDGING_ENABLED 140 + CF_ASSUME_NONNULL_BEGIN 141 + 142 + /*! 143 + @const kCFErrorDomainSystemConfiguration 144 + @discussion CFError domain associated with errors reported by 145 + the SystemConfiguration.framework. 146 + */ 147 + extern const CFStringRef kCFErrorDomainSystemConfiguration __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_2_0); 148 + 149 + __BEGIN_DECLS 150 + 151 + /*! 152 + @function SCCopyLastError 153 + @discussion Returns the most recent status or error code generated 154 + as the result of calling a System Configuration framework API. 155 + @result Returns the last error encountered. 156 + */ 157 + CFErrorRef SCCopyLastError (void) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_2_0); 158 + 159 + /*! 160 + @function SCError 161 + @discussion Returns the most recent status or error code generated 162 + as the result of calling a System Configuration framework API. 163 + @result Returns the last error encountered. 164 + */ 165 + int SCError (void) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_2_0); 166 + 167 + /*! 168 + @function SCErrorString 169 + @discussion Returns a pointer to the message string 170 + associated with the specified status or error. 171 + @param status The SCDynamicStoreStatus to be returned. 172 + @result Returns a pointer to the error message string. 173 + */ 174 + const char * SCErrorString (int status) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_2_0); 175 + 176 + __END_DECLS 177 + 178 + CF_ASSUME_NONNULL_END 179 + CF_IMPLICIT_BRIDGING_DISABLED 180 + 181 + #endif /* _SYSTEMCONFIGURATION_H */