1/*
2 * Copyright (c) 2000-2010 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	@header SecKeychainSearch
26	The functions provided in SecKeychainSearch implement a query of one or more keychains to search for a particular SecKeychainItem.
27*/
28
29#ifndef _SECURITY_SECKEYCHAINSEARCH_H_
30#define _SECURITY_SECKEYCHAINSEARCH_H_
31
32#include <Security/SecKeychainItem.h>
33
34
35#if defined(__cplusplus)
36extern "C" {
37#endif
38
39/*!
40	@function SecKeychainSearchGetTypeID
41	@abstract Returns the type identifier of SecKeychainSearch instances.
42	@result The CFTypeID of SecKeychainSearch instances.
43	@discussion This API is deprecated in 10.7. The SecKeychainSearchRef type is no longer used.
44*/
45CFTypeID SecKeychainSearchGetTypeID(void)
46		DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
47
48/*!
49	@function SecKeychainSearchCreateFromAttributes
50	@abstract Creates a search reference matching a list of zero or more specified attributes in the specified keychain.
51	@param keychainOrArray An reference to an array of keychains to search, a single keychain or NULL to search the user's default keychain search list.
52	@param itemClass The keychain item class.
53	@param attrList A pointer to a list of zero or more keychain attribute records to match.  Pass NULL to match any keychain attribute.
54	@param searchRef On return, a pointer to the current search reference. You are responsible for calling the CFRelease function to release this reference when finished with it.
55	@result A result code.  See "Security Error Codes" (SecBase.h).
56	@discussion This function is deprecated in Mac OS X 10.7 and later; to find keychain items which match specified attributes, please use the SecItemCopyMatching API (see SecItem.h).
57*/
58OSStatus SecKeychainSearchCreateFromAttributes(CFTypeRef keychainOrArray, SecItemClass itemClass, const SecKeychainAttributeList *attrList, SecKeychainSearchRef *searchRef)
59		DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
60
61/*!
62	@function SecKeychainSearchCopyNext
63	@abstract Finds the next keychain item matching the given search criteria.
64	@param searchRef A reference to the current search criteria.  The search reference is created in the SecKeychainSearchCreateFromAttributes function and must be released by calling the CFRelease function when you are done with it.
65	@param itemRef On return, a pointer to a keychain item reference of the next matching keychain item, if any.
66	@result A result code.  When there are no more items that match the parameters specified to SecPolicySearchCreate, errSecItemNotFound is returned. See "Security Error Codes" (SecBase.h).
67	@discussion This function is deprecated in Mac OS X 10.7 and later; to find keychain items which match specified attributes, please use the SecItemCopyMatching API (see SecItem.h).
68*/
69OSStatus SecKeychainSearchCopyNext(SecKeychainSearchRef searchRef, SecKeychainItemRef *itemRef)
70		DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
71
72#if defined(__cplusplus)
73}
74#endif
75
76#endif /* !_SECURITY_SECKEYCHAINSEARCH_H_ */
77