]> git.saurik.com Git - apple/security.git/blob - Security/libsecurity_mds/lib/mds_schema.h
Security-57031.1.35.tar.gz
[apple/security.git] / Security / libsecurity_mds / lib / mds_schema.h
1 /*
2 * Copyright (c) 2000-2001,2011,2014 Apple Inc. All Rights Reserved.
3 *
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
8 * using this file.
9 *
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
16 */
17
18
19 /*
20 File: mds_schema.h
21
22 Contains: Module Directory Services Schema for CSSM.
23
24 Copyright (c) 1999-2000,2011,2014 Apple Inc. All Rights Reserved.
25 */
26
27 #ifndef _MDS_SCHEMA_H_
28 #define _MDS_SCHEMA_H_ 1
29
30 #include <Security/cssmtype.h>
31
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35
36 /* Names of the databases supported by MDS. */
37 #define MDS_OBJECT_DIRECTORY_NAME "MDS Object Directory"
38 #define MDS_CDSA_DIRECTORY_NAME "MDS CDSA Directory"
39
40 /* MDS predefined values for a 16K name space */
41 #define CSSM_DB_RELATIONID_MDS_START (0x40000000)
42 #define CSSM_DB_RELATIONID_MDS_END (0x40004000)
43
44 #define MDS_OBJECT_RECORDTYPE (CSSM_DB_RELATIONID_MDS_START)
45
46 #define MDS_CDSA_SCHEMA_START (MDS_OBJECT_RECORDTYPE)
47 #define MDS_CDSADIR_CSSM_RECORDTYPE (MDS_CDSA_SCHEMA_START + 1)
48 #define MDS_CDSADIR_KRMM_RECORDTYPE (MDS_CDSA_SCHEMA_START + 2)
49 #define MDS_CDSADIR_EMM_RECORDTYPE (MDS_CDSA_SCHEMA_START + 3)
50 #define MDS_CDSADIR_COMMON_RECORDTYPE (MDS_CDSA_SCHEMA_START + 4)
51 #define MDS_CDSADIR_CSP_PRIMARY_RECORDTYPE (MDS_CDSA_SCHEMA_START + 5)
52 #define MDS_CDSADIR_CSP_CAPABILITY_RECORDTYPE (MDS_CDSA_SCHEMA_START + 6)
53 #define MDS_CDSADIR_CSP_ENCAPSULATED_PRODUCT_RECORDTYPE (MDS_CDSA_SCHEMA_START + 7)
54 #define MDS_CDSADIR_CSP_SC_INFO_RECORDTYPE (MDS_CDSA_SCHEMA_START + 8)
55 #define MDS_CDSADIR_DL_PRIMARY_RECORDTYPE (MDS_CDSA_SCHEMA_START + 9)
56 #define MDS_CDSADIR_DL_ENCAPSULATED_PRODUCT_RECORDTYPE (MDS_CDSA_SCHEMA_START + 10)
57 #define MDS_CDSADIR_CL_PRIMARY_RECORDTYPE (MDS_CDSA_SCHEMA_START + 11)
58 #define MDS_CDSADIR_CL_ENCAPSULATED_PRODUCT_RECORDTYPE (MDS_CDSA_SCHEMA_START + 12)
59 #define MDS_CDSADIR_TP_PRIMARY_RECORDTYPE (MDS_CDSA_SCHEMA_START + 13)
60 #define MDS_CDSADIR_TP_OIDS_RECORDTYPE (MDS_CDSA_SCHEMA_START + 14)
61 #define MDS_CDSADIR_TP_ENCAPSULATED_PRODUCT_RECORDTYPE (MDS_CDSA_SCHEMA_START + 15)
62 #define MDS_CDSADIR_EMM_PRIMARY_RECORDTYPE (MDS_CDSA_SCHEMA_START + 16)
63 #define MDS_CDSADIR_AC_PRIMARY_RECORDTYPE (MDS_CDSA_SCHEMA_START + 17)
64 #define MDS_CDSADIR_KR_PRIMARY_RECORDTYPE (MDS_CDSA_SCHEMA_START + 18)
65 #define MDS_CDSADIR_MDS_SCHEMA_RELATIONS (MDS_CDSA_SCHEMA_START + 19)
66 #define MDS_CDSADIR_MDS_SCHEMA_ATTRIBUTES (MDS_CDSA_SCHEMA_START + 20)
67 #define MDS_CDSADIR_MDS_SCHEMA_INDEXES (MDS_CDSA_SCHEMA_START + 21)
68
69 /* MDS predefined values for a 16K name space */
70 #define CSSM_DB_ATTRIBUTE_MDS_START (0x40000000)
71 #define CSSM_DB_ATTRIBUTE_MDS_END (0x40004000)
72 #define MDS_CDSAATTR_MODULE_ID (CSSM_DB_ATTRIBUTE_MDS_START + 1)
73 #define MDS_CDSAATTR_MANIFEST (CSSM_DB_ATTRIBUTE_MDS_START + 2)
74 #define MDS_CDSAATTR_MODULE_NAME (CSSM_DB_ATTRIBUTE_MDS_START + 3)
75 #define MDS_CDSAATTR_PATH (CSSM_DB_ATTRIBUTE_MDS_START + 4)
76 #define MDS_CDSAATTR_CDSAVERSION (CSSM_DB_ATTRIBUTE_MDS_START + 5)
77 #define MDS_CDSAATTR_VENDOR (CSSM_DB_ATTRIBUTE_MDS_START + 6)
78 #define MDS_CDSAATTR_DESC (CSSM_DB_ATTRIBUTE_MDS_START + 8)
79 #define MDS_CDSAATTR_INTERFACE_GUID (CSSM_DB_ATTRIBUTE_MDS_START + 9)
80 #define MDS_CDSAATTR_POLICY_STMT (CSSM_DB_ATTRIBUTE_MDS_START + 10)
81 #define MDS_CDSAATTR_EMMSPECVERSION (CSSM_DB_ATTRIBUTE_MDS_START + 11)
82 #define MDS_CDSAATTR_EMM_VERSION (CSSM_DB_ATTRIBUTE_MDS_START + 12)
83 #define MDS_CDSAATTR_EMM_VENDOR (CSSM_DB_ATTRIBUTE_MDS_START + 13)
84 #define MDS_CDSAATTR_EMM_TYPE (CSSM_DB_ATTRIBUTE_MDS_START + 14)
85 #define MDS_CDSAATTR_SSID (CSSM_DB_ATTRIBUTE_MDS_START + 15)
86 #define MDS_CDSAATTR_SERVICE_TYPE (CSSM_DB_ATTRIBUTE_MDS_START + 16)
87 #define MDS_CDSAATTR_NATIVE_SERVICES (CSSM_DB_ATTRIBUTE_MDS_START + 17)
88 #define MDS_CDSAATTR_DYNAMIC_FLAG (CSSM_DB_ATTRIBUTE_MDS_START + 18)
89 #define MDS_CDSAATTR_MULTITHREAD_FLAG (CSSM_DB_ATTRIBUTE_MDS_START + 19)
90 #define MDS_CDSAATTR_SERVICE_MASK (CSSM_DB_ATTRIBUTE_MDS_START + 20)
91 #define MDS_CDSAATTR_CSP_TYPE (CSSM_DB_ATTRIBUTE_MDS_START + 21)
92 #define MDS_CDSAATTR_CSP_FLAGS (CSSM_DB_ATTRIBUTE_MDS_START + 22)
93 #define MDS_CDSAATTR_CSP_CUSTOMFLAGS (CSSM_DB_ATTRIBUTE_MDS_START + 23)
94 #define MDS_CDSAATTR_USEE_TAGS (CSSM_DB_ATTRIBUTE_MDS_START + 24)
95 #define MDS_CDSAATTR_CONTEXT_TYPE (CSSM_DB_ATTRIBUTE_MDS_START + 25)
96 #define MDS_CDSAATTR_ALG_TYPE (CSSM_DB_ATTRIBUTE_MDS_START + 26)
97 #define MDS_CDSAATTR_GROUP_ID (CSSM_DB_ATTRIBUTE_MDS_START + 27)
98 #define MDS_CDSAATTR_ATTRIBUTE_TYPE (CSSM_DB_ATTRIBUTE_MDS_START + 28)
99 #define MDS_CDSAATTR_ATTRIBUTE_VALUE (CSSM_DB_ATTRIBUTE_MDS_START + 29)
100 #define MDS_CDSAATTR_PRODUCT_DESC (CSSM_DB_ATTRIBUTE_MDS_START + 30)
101 #define MDS_CDSAATTR_PRODUCT_VENDOR (CSSM_DB_ATTRIBUTE_MDS_START + 31)
102 #define MDS_CDSAATTR_PRODUCT_VERSION (CSSM_DB_ATTRIBUTE_MDS_START + 32)
103 #define MDS_CDSAATTR_PRODUCT_FLAGS (CSSM_DB_ATTRIBUTE_MDS_START + 33)
104 #define MDS_CDSAATTR_PRODUCT_CUSTOMFLAGS (CSSM_DB_ATTRIBUTE_MDS_START + 34)
105 #define MDS_CDSAATTR_STANDARD_DESC (CSSM_DB_ATTRIBUTE_MDS_START + 35)
106 #define MDS_CDSAATTR_STANDARD_VERSION (CSSM_DB_ATTRIBUTE_MDS_START + 36)
107 #define MDS_CDSAATTR_READER_DESC (CSSM_DB_ATTRIBUTE_MDS_START + 37)
108 #define MDS_CDSAATTR_READER_VENDOR (CSSM_DB_ATTRIBUTE_MDS_START + 38)
109 #define MDS_CDSAATTR_READER_VERSION (CSSM_DB_ATTRIBUTE_MDS_START + 39)
110 #define MDS_CDSAATTR_READER_FWVERSION (CSSM_DB_ATTRIBUTE_MDS_START + 40)
111 #define MDS_CDSAATTR_READER_FLAGS (CSSM_DB_ATTRIBUTE_MDS_START + 41)
112 #define MDS_CDSAATTR_READER_CUSTOMFLAGS (CSSM_DB_ATTRIBUTE_MDS_START + 42)
113 #define MDS_CDSAATTR_READER_SERIALNUMBER (CSSM_DB_ATTRIBUTE_MDS_START + 43)
114 #define MDS_CDSAATTR_SC_DESC (CSSM_DB_ATTRIBUTE_MDS_START + 44)
115 #define MDS_CDSAATTR_SC_VENDOR (CSSM_DB_ATTRIBUTE_MDS_START + 45)
116 #define MDS_CDSAATTR_SC_VERSION (CSSM_DB_ATTRIBUTE_MDS_START + 46)
117 #define MDS_CDSAATTR_SC_FWVERSION (CSSM_DB_ATTRIBUTE_MDS_START + 47)
118 #define MDS_CDSAATTR_SC_FLAGS (CSSM_DB_ATTRIBUTE_MDS_START + 48)
119 #define MDS_CDSAATTR_SC_CUSTOMFLAGS (CSSM_DB_ATTRIBUTE_MDS_START + 49)
120 #define MDS_CDSAATTR_SC_SERIALNUMBER (CSSM_DB_ATTRIBUTE_MDS_START + 50)
121 #define MDS_CDSAATTR_DL_TYPE (CSSM_DB_ATTRIBUTE_MDS_START + 51)
122 #define MDS_CDSAATTR_QUERY_LIMITS (CSSM_DB_ATTRIBUTE_MDS_START + 52)
123 #define MDS_CDSAATTR_CONJUNCTIVE_OPS (CSSM_DB_ATTRIBUTE_MDS_START + 53)
124 #define MDS_CDSAATTR_RELATIONAL_OPS (CSSM_DB_ATTRIBUTE_MDS_START + 54)
125 #define MDS_CDSAATTR_PROTOCOL (CSSM_DB_ATTRIBUTE_MDS_START + 55)
126 #define MDS_CDSAATTR_CERT_TYPEFORMAT (CSSM_DB_ATTRIBUTE_MDS_START + 56)
127 #define MDS_CDSAATTR_CRL_TYPEFORMAT (CSSM_DB_ATTRIBUTE_MDS_START + 57)
128 #define MDS_CDSAATTR_CERT_FIELDNAMES (CSSM_DB_ATTRIBUTE_MDS_START + 58)
129 #define MDS_CDSAATTR_BUNDLE_TYPEFORMAT (CSSM_DB_ATTRIBUTE_MDS_START + 59)
130 #define MDS_CDSAATTR_CERT_CLASSNAME (CSSM_DB_ATTRIBUTE_MDS_START + 60)
131 #define MDS_CDSAATTR_ROOTCERT (CSSM_DB_ATTRIBUTE_MDS_START + 61)
132 #define MDS_CDSAATTR_ROOTCERT_TYPEFORMAT (CSSM_DB_ATTRIBUTE_MDS_START + 62)
133 #define MDS_CDSAATTR_VALUE (CSSM_DB_ATTRIBUTE_MDS_START + 63)
134 #define MDS_CDSAATTR_REQCREDENTIALS (CSSM_DB_ATTRIBUTE_MDS_START + 64)
135 #define MDS_CDSAATTR_SAMPLETYPES (CSSM_DB_ATTRIBUTE_MDS_START + 65)
136 #define MDS_CDSAATTR_ACLSUBJECTTYPES (CSSM_DB_ATTRIBUTE_MDS_START + 66)
137 #define MDS_CDSAATTR_AUTHTAGS (CSSM_DB_ATTRIBUTE_MDS_START + 67)
138 #define MDS_CDSAATTR_USEETAG (CSSM_DB_ATTRIBUTE_MDS_START + 68)
139 #define MDS_CDSAATTR_RETRIEVALMODE (CSSM_DB_ATTRIBUTE_MDS_START + 69)
140 #define MDS_CDSAATTR_OID (CSSM_DB_ATTRIBUTE_MDS_START + 70)
141 #define MDS_CDSAATTR_XLATIONTYPEFORMAT (CSSM_DB_ATTRIBUTE_MDS_START + 71)
142 #define MDS_CDSAATTR_DEFAULT_TEMPLATE_TYPE (CSSM_DB_ATTRIBUTE_MDS_START + 72)
143 #define MDS_CDSAATTR_TEMPLATE_FIELD_NAMES (CSSM_DB_ATTRIBUTE_MDS_START + 73)
144 #define MDS_CDSAATTR_AUTHORITY_REQUEST_TYPE (CSSM_DB_ATTRIBUTE_MDS_START + 74)
145
146 /* Meta-data names for the MDS Object directory relation */
147 #define MDS_OBJECT_NUM_RELATIONS (1)
148 #define MDS_OBJECT_NUM_ATTRIBUTES (4)
149 /* Defined constant for # of relations in the CDSA directory */
150 #define MDS_CDSADIR_NUM_RELATIONS (19)
151 /* Meta-data names for the MDS CSSM relation */
152 #define MDS_CDSADIR_CSSM_NUM_ATTRIBUTES (4)
153 /* Meta-data names for the MDS EMM relation */
154 #define MDS_CDSADIR_EMM_NUM_ATTRIBUTES (11)
155 /* Meta-data names for the MDS Common relation */
156 #define MDS_CDSADIR_COMMON_NUM_ATTRIBUTES (9)
157 /* Meta-data names for the MDS CSP Primary relation */
158 #define MDS_CDSADIR_CSP_PRIMARY_NUM_ATTRIBUTES (13)
159 /* Meta-data names for the MDS CSP Capabilities relation */
160 #define MDS_CDSADIR_CSP_CAPABILITY_NUM_ATTRIBUTES (9)
161 /* Meta-data names for the MDS CSP Encapsulated Product relation */
162 #define MDS_CDSADIR_CSP_ENCAPSULATED_PRODUCT_NUM_ATTRIBUTES (16)
163 /* Meta-data names for the MDS CSP SmartcardInfo relation */
164 #define MDS_CDSADIR_CSP_SC_INFO_NUM_ATTRIBUTES (9)
165 /* Meta-data names for the MDS DL Primary relation */
166 #define MDS_CDSADIR_DL_PRIMARY_NUM_ATTRIBUTES (13)
167 /* Meta-data names for the MDS DL Encapsulated Product relation */
168 #define MDS_CDSADIR_DL_ENCAPSULATED_PRODUCT_NUM_ATTRIBUTES (10)
169 /* Meta-data names for the MDS CL Primary relation */
170 #define MDS_CDSADIR_CL_PRIMARY_NUM_ATTRIBUTES (13)
171 /* Meta-data names for the MDS CL Encapsulated Product relation */
172 #define MDS_CDSADIR_CL_ENCAPSULATED_PRODUCT_NUM_ATTRIBUTES (8)
173 /* Meta-data names for the MDS TP Primary relation */
174 #define MDS_CDSADIR_TP_PRIMARY_NUM_ATTRIBUTES (10)
175 /* Meta-data names for the MDS TP Policy-OIDS relation */
176 #define MDS_CDSADIR_TP_OIDS_NUM_ATTRIBUTES (4)
177 /* Meta-data names for the MDS TP Encapsulated Product relation */
178 #define MDS_CDSADIR_TP_ENCAPSULATED_PRODUCT_NUM_ATTRIBUTES (14)
179 /* Meta-data names for MDS EMM Service Provider Primary relation */
180 #define MDS_CDSADIR_EMM_PRIMARY_NUM_ATTRIBUTES (9)
181 /* Meta-data names for MDS AC Primary relation */
182 #define MDS_CDSADIR_AC_PRIMARY_NUM_ATTRIBUTES (6)
183 /* Meta-data names for MDS Schema relation */
184 #define MDS_CDSADIR_SCHEMA_RELATONS_NUM_ATTRIBUTES (2)
185 #define MDS_CDSADIR_SCHEMA_ATTRIBUTES_NUM_ATTRIBUTES (6)
186 #define MDS_CDSADIR_SCHEMA_INDEXES_NUM_ATTRIBUTES (5)
187
188 #ifdef __cplusplus
189 }
190 #endif
191
192 #endif /* _MDS_SCHEMA_H_ */