summaryrefslogtreecommitdiff
path: root/source4/dsdb/schema/schema.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-04-09 14:40:19 +1000
committerAndrew Tridgell <tridge@samba.org>2009-04-09 14:40:19 +1000
commit65ad2ced6049f2901080cff61489fee7f4929c74 (patch)
tree2421edc608db8a094113fd6ba876598329a5c060 /source4/dsdb/schema/schema.h
parente5702da72c752e913ff869bce341ca9799d10974 (diff)
parent9d50c6b60364462daa68887fd64b59dd761a5133 (diff)
downloadsamba-65ad2ced6049f2901080cff61489fee7f4929c74.tar.gz
samba-65ad2ced6049f2901080cff61489fee7f4929c74.tar.bz2
samba-65ad2ced6049f2901080cff61489fee7f4929c74.zip
Merge branch 'wspp-schema'
Diffstat (limited to 'source4/dsdb/schema/schema.h')
-rw-r--r--source4/dsdb/schema/schema.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/source4/dsdb/schema/schema.h b/source4/dsdb/schema/schema.h
index f7d59a7c39..e15f65a0a1 100644
--- a/source4/dsdb/schema/schema.h
+++ b/source4/dsdb/schema/schema.h
@@ -91,6 +91,7 @@ struct dsdb_attribute {
/* internal stuff */
const struct dsdb_syntax *syntax;
+ const struct ldb_schema_attribute *ldb_schema_attribute;
};
struct dsdb_class {
@@ -131,6 +132,11 @@ struct dsdb_class {
bool defaultHidingValue;
bool isDefunct;
bool systemOnly;
+
+ char **supclasses;
+ char **subclasses;
+ char **subclasses_direct;
+ char **posssuperiors;
};
struct dsdb_schema_oid_prefix {
@@ -156,6 +162,21 @@ struct dsdb_schema {
struct dsdb_attribute *attributes;
struct dsdb_class *classes;
+ /* lists of classes sorted by various attributes, for faster
+ access */
+ uint32_t num_classes;
+ struct dsdb_class **classes_by_lDAPDisplayName;
+ struct dsdb_class **classes_by_governsID_id;
+ struct dsdb_class **classes_by_governsID_oid;
+ struct dsdb_class **classes_by_cn;
+
+ /* lists of attributes sorted by various fields */
+ uint32_t num_attributes;
+ struct dsdb_attribute **attributes_by_lDAPDisplayName;
+ struct dsdb_attribute **attributes_by_attributeID_id;
+ struct dsdb_attribute **attributes_by_attributeID_oid;
+ struct dsdb_attribute **attributes_by_linkID;
+
struct {
bool we_are_master;
struct ldb_dn *master_dn;