2 Unix SMB/CIFS mplementation.
5 Copyright (C) Stefan Metzmacher 2006
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 #ifndef _DSDB_SCHEMA_H
24 #define _DSDB_SCHEMA_H
26 struct dsdb_attribute {
27 struct dsdb_attribute *prev, *next;
30 const char *lDAPDisplayName;
31 const char *attributeID_oid;
32 uint32_t attributeID_id;
33 struct GUID schemaIDGUID;
36 struct GUID attributeSecurityGUID;
40 BOOL isMemberOfPartialAttributeSet;
43 const char *attributeSyntax_oid;
44 uint32_t attributeSyntax_id;
46 struct ldb_val oMObjectClass;
51 BOOL extendedCharsAllowed;
53 uint32_t schemaFlagsEx;
54 struct ldb_val msDs_Schema_Extensions;
56 BOOL showInAdvancedViewOnly;
57 const char *adminDisplayName;
58 const char *adminDescription;
59 const char *classDisplayName;
66 struct dsdb_class *prev, *next;
69 const char *lDAPDisplayName;
70 const char *governsID_oid;
71 uint32_t governsID_id;
72 struct GUID schemaIDGUID;
74 uint32_t objectClassCategory;
76 const char *defaultObjectCategory;
78 const char *subClassOf;
80 const char *systemAuxiliaryClass;
81 const char **systemPossSuperiors;
82 const char **systemMustContain;
83 const char **systemMayContain;
85 const char *auxiliaryClass;
86 const char **possSuperiors;
87 const char **mustContain;
88 const char **mayContain;
90 const char *defaultSecurityDescriptor;
92 uint32_t schemaFlagsEx;
93 struct ldb_val msDs_Schema_Extensions;
95 BOOL showInAdvancedViewOnly;
96 const char *adminDisplayName;
97 const char *adminDescription;
98 const char *classDisplayName;
99 BOOL defaultHidingValue;
104 struct dsdb_schema_oid_prefix {
111 uint32_t num_prefixes;
112 struct dsdb_schema_oid_prefix *prefixes;
115 * the last element of the prefix mapping table isn't a oid,
116 * it starts with 0xFF and has 21 bytes and is maybe a schema
119 * this is the content of the schemaInfo attribute of the
120 * Schema-Partition head object.
122 const char *schema_info;
124 struct dsdb_attribute *attributes;
125 struct dsdb_class *classes;
128 #endif /* _DSDB_SCHEMA_H */