2 * Copyright (c) 2013-2014 Apple Inc. All Rights Reserved.
4 * @APPLE_LICENSE_HEADER_START@
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
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.
21 * @APPLE_LICENSE_HEADER_END@
25 @header SecItemSchema.h - The thing that does the stuff with the gibli.
28 #ifndef _SECURITYD_SECITEMSCHEMA_H_
29 #define _SECURITYD_SECITEMSCHEMA_H_
31 #include "keychain/securityd/SecDbItem.h"
35 const SecDbSchema
* current_schema(void);
36 const SecDbSchema
* const * all_schemas(void);
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);
44 // Not really a class per-se
45 const SecDbClass
* identity_class(void);
47 // Class with 1 element in it which is the database version.
48 const SecDbClass
* tversion_class(void);
50 // Direct attribute accessors
51 // If you change one of these, update it here
52 extern const SecDbAttr v6v_Data
;
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
;
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.
70 #endif /* _SECURITYD_SECITEMSCHEMA_H_ */