+OSStatus SecKeychainCopyDomainDefault(SecPreferencesDomain domain, SecKeychainRef *keychainRef)
+{
+ BEGIN_SECAPI
+
+ secdebug("kc", "SecKeychainCopyDefault(%p)", keychainRef);
+ RequiredParam(keychainRef)=globals().storageManager.defaultKeychain(domain)->handle();
+
+ END_SECAPI
+}
+
+OSStatus SecKeychainSetDomainDefault(SecPreferencesDomain domain, SecKeychainRef keychainRef)
+{
+ BEGIN_SECAPI
+
+ secdebug("kc", "SecKeychainSetDefault(%p)", keychainRef);
+ globals().storageManager.defaultKeychain(domain, Keychain::optional(keychainRef));
+
+ END_SECAPI
+}
+
+OSStatus SecKeychainCopyDomainSearchList(SecPreferencesDomain domain, CFArrayRef *searchList)
+{
+ BEGIN_SECAPI
+
+ secdebug("kc", "SecKeychainCopyDomainSearchList(%p)", searchList);
+ RequiredParam(searchList);
+ StorageManager &smr = globals().storageManager;
+ StorageManager::KeychainList keychainList;
+ smr.getSearchList(domain, keychainList);
+ *searchList = smr.convertFromKeychainList(keychainList);
+
+ END_SECAPI
+}
+
+OSStatus SecKeychainSetDomainSearchList(SecPreferencesDomain domain, CFArrayRef searchList)
+{
+ BEGIN_SECAPI
+
+ secdebug("kc", "SecKeychainSetDomainSearchList(%p)", searchList);
+ RequiredParam(searchList);
+ StorageManager &smr = globals().storageManager;
+ StorageManager::KeychainList keychainList;
+ smr.convertToKeychainList(searchList, keychainList);
+ smr.setSearchList(domain, keychainList);
+
+ END_SECAPI
+}
+
+OSStatus SecKeychainSetPreferenceDomain(SecPreferencesDomain domain)
+{
+ BEGIN_SECAPI
+
+ globals().storageManager.domain(domain);
+
+ END_SECAPI
+}
+
+OSStatus SecKeychainGetPreferenceDomain(SecPreferencesDomain *domain)
+{
+ BEGIN_SECAPI
+
+ *domain = globals().storageManager.domain();
+
+ END_SECAPI
+}
+
+