#include <SystemConfiguration/SystemConfiguration.h>
#include <SystemConfiguration/SCValidation.h>
#include <SystemConfiguration/SCPrivate.h>
CFStringRef
SCDynamicStoreKeyCreateProxies(CFAllocatorRef allocator)
{
return SCDynamicStoreKeyCreateNetworkGlobalEntity(allocator,
kSCDynamicStoreDomainState,
kSCEntNetProxies);
}
CFDictionaryRef
SCDynamicStoreCopyProxies(SCDynamicStoreRef store)
{
CFDictionaryRef dict = NULL;
CFStringRef key;
CFDictionaryRef proxies = NULL;
Boolean tempSession = FALSE;
if (!store) {
store = SCDynamicStoreCreate(NULL,
CFSTR("SCDynamicStoreCopyConsoleUser"),
NULL,
NULL);
if (!store) {
SCLog(_sc_verbose, LOG_INFO, CFSTR("SCDynamicStoreCreate() failed"));
return NULL;
}
tempSession = TRUE;
}
key = SCDynamicStoreKeyCreateProxies(NULL);
dict = SCDynamicStoreCopyValue(store, key);
CFRelease(key);
if (!isA_CFDictionary(dict)) {
_SCErrorSet(kSCStatusNoKey);
goto done;
}
proxies = CFRetain(dict);
done :
if (tempSession) CFRelease(store);
if (dict) CFRelease(dict);
return proxies;
}