]> git.saurik.com Git - apple/security.git/blob - keychain/securityd/SecItemSchema.h
Security-59306.41.2.tar.gz
[apple/security.git] / keychain / securityd / SecItemSchema.h
1 /*
2 * Copyright (c) 2013-2014 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 SecItemSchema.h - The thing that does the stuff with the gibli.
26 */
27
28 #ifndef _SECURITYD_SECITEMSCHEMA_H_
29 #define _SECURITYD_SECITEMSCHEMA_H_
30
31 #include "keychain/securityd/SecDbItem.h"
32
33 __BEGIN_DECLS
34
35 const SecDbSchema* current_schema(void);
36 const SecDbSchema * const * all_schemas(void);
37
38 // class accessors for current schema
39 const SecDbClass* genp_class(void);
40 const SecDbClass* inet_class(void);
41 const SecDbClass* cert_class(void);
42 const SecDbClass* keys_class(void);
43
44 // Not really a class per-se
45 const SecDbClass* identity_class(void);
46
47 // Class with 1 element in it which is the database version.
48 const SecDbClass* tversion_class(void);
49
50 // Direct attribute accessors
51 // If you change one of these, update it here
52 extern const SecDbAttr v6v_Data;
53
54 extern const SecDbAttr v6agrp;
55 extern const SecDbAttr v6desc;
56 extern const SecDbAttr v6svce;
57 extern const SecDbAttr v7vwht;
58 extern const SecDbAttr v7tkid;
59 extern const SecDbAttr v7utomb;
60 extern const SecDbAttr v8musr;
61 extern const SecDbAttr v10itemuuid;
62 extern const SecDbAttr v10itempersistentref;
63
64 // TODO: Directly expose other important attributes like
65 // kSecItemSyncAttr, kSecItemTombAttr, kSecItemCdatAttr, kSecItemMdatAttr, kSecItemDataAttr
66 // This will prevent having to do lookups in SecDbItem for things by kind.
67
68 __END_DECLS
69
70 #endif /* _SECURITYD_SECITEMSCHEMA_H_ */