This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
uint32_t searchFlags;
uint32_t systemFlags;
- BOOL isMemberOfPartialAttributeSet;
+ bool isMemberOfPartialAttributeSet;
uint32_t linkID;
const char *attributeSyntax_oid;
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;
const char **possSuperiors;
const char **mustContain;
const char **mayContain;
+ const char **possibleInferiors;
const char *defaultSecurityDescriptor;
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 {
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 */