Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-abartlet
[samba.git] / source4 / dsdb / schema / schema.h
index dd50eae684b3f226e283925d209a28822f0a7f84..cd714e9c6189d096db4fde6ec755c7545289b368 100644 (file)
@@ -59,7 +59,7 @@ struct dsdb_attribute {
 
        uint32_t searchFlags;
        uint32_t systemFlags;
-       BOOL isMemberOfPartialAttributeSet;
+       bool isMemberOfPartialAttributeSet;
        uint32_t linkID;
 
        const char *attributeSyntax_oid;
@@ -67,21 +67,21 @@ struct dsdb_attribute {
        uint32_t oMSyntax;
        struct ldb_val oMObjectClass;
 
-       BOOL isSingleValued;
+       bool isSingleValued;
        uint32_t rangeLower;
        uint32_t rangeUpper;
-       BOOL extendedCharsAllowed;
+       bool extendedCharsAllowed;
 
        uint32_t schemaFlagsEx;
        struct ldb_val msDs_Schema_Extensions;
 
-       BOOL showInAdvancedViewOnly;
+       bool showInAdvancedViewOnly;
        const char *adminDisplayName;
        const char *adminDescription;
        const char *classDisplayName;
-       BOOL isEphemeral;
-       BOOL isDefunct;
-       BOOL systemOnly;
+       bool isEphemeral;
+       bool isDefunct;
+       bool systemOnly;
 
        /* internal stuff */
        const struct dsdb_syntax *syntax;
@@ -118,13 +118,13 @@ struct dsdb_class {
        uint32_t schemaFlagsEx;
        struct ldb_val msDs_Schema_Extensions;
 
-       BOOL showInAdvancedViewOnly;
+       bool showInAdvancedViewOnly;
        const char *adminDisplayName;
        const char *adminDescription;
        const char *classDisplayName;
-       BOOL defaultHidingValue;
-       BOOL isDefunct;
-       BOOL systemOnly;
+       bool defaultHidingValue;
+       bool isDefunct;
+       bool systemOnly;
 };
 
 struct dsdb_schema_oid_prefix {
@@ -149,6 +149,39 @@ struct dsdb_schema {
 
        struct dsdb_attribute *attributes;
        struct dsdb_class *classes;
+
+       struct {
+               bool we_are_master;
+               struct ldb_dn *master_dn;
+       } fsmo;
+
+       struct smb_iconv_convenience *iconv_convenience;
 };
 
+enum dsdb_attr_list_query {
+       DSDB_SCHEMA_ALL_MAY,
+       DSDB_SCHEMA_ALL_MUST,
+       DSDB_SCHEMA_SYS_MAY,
+       DSDB_SCHEMA_SYS_MUST,
+       DSDB_SCHEMA_MAY,
+       DSDB_SCHEMA_MUST,
+       DSDB_SCHEMA_ALL
+};
+
+enum dsdb_schema_convert_target {
+       TARGET_OPENLDAP,
+       TARGET_FEDORA_DS,
+       TARGET_AD_SCHEMA_SUBENTRY
+};
+
+struct dsdb_syntax_map {
+       const char *Standard_OID;
+       const char *AD_OID;
+       const char *equality;
+       const char *substring;
+       const char *comment;
+};
+
+#include "dsdb/schema/proto.h"
+
 #endif /* _DSDB_SCHEMA_H */