Changeset 745 for trunk/server/source4/dsdb/schema/schema.h
- Timestamp:
- Nov 27, 2012, 4:43:17 PM (13 years ago)
- Location:
- trunk/server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server
- Property svn:mergeinfo changed
/vendor/current merged: 581,587,591,594,597,600,615,618,740
- Property svn:mergeinfo changed
-
trunk/server/source4/dsdb/schema/schema.h
r414 r745 23 23 #define _DSDB_SCHEMA_H 24 24 25 #include "prefixmap.h" 26 25 27 struct dsdb_attribute; 26 28 struct dsdb_class; 27 29 struct dsdb_schema; 30 struct dsdb_dn; 31 32 struct dsdb_syntax_ctx { 33 struct ldb_context *ldb; 34 const struct dsdb_schema *schema; 35 36 /* set when converting objects under Schema NC */ 37 bool is_schema_nc; 38 39 /* remote prefixMap to be used for drsuapi_to_ldb conversions */ 40 const struct dsdb_schema_prefixmap *pfm_remote; 41 }; 42 28 43 29 44 struct dsdb_syntax { … … 38 53 const char *ldb_syntax; 39 54 40 WERROR (*drsuapi_to_ldb)(struct ldb_context *ldb, 41 const struct dsdb_schema *schema, 55 WERROR (*drsuapi_to_ldb)(const struct dsdb_syntax_ctx *ctx, 42 56 const struct dsdb_attribute *attr, 43 57 const struct drsuapi_DsReplicaAttribute *in, 44 58 TALLOC_CTX *mem_ctx, 45 59 struct ldb_message_element *out); 46 WERROR (*ldb_to_drsuapi)(struct ldb_context *ldb, 47 const struct dsdb_schema *schema, 60 WERROR (*ldb_to_drsuapi)(const struct dsdb_syntax_ctx *ctx, 48 61 const struct dsdb_attribute *attr, 49 62 const struct ldb_message_element *in, 50 63 TALLOC_CTX *mem_ctx, 51 64 struct drsuapi_DsReplicaAttribute *out); 65 WERROR (*validate_ldb)(const struct dsdb_syntax_ctx *ctx, 66 const struct dsdb_attribute *attr, 67 const struct ldb_message_element *in); 52 68 }; 53 69 … … 61 77 struct GUID schemaIDGUID; 62 78 uint32_t mAPIID; 79 uint32_t msDS_IntId; 63 80 64 81 struct GUID attributeSecurityGUID; 82 struct GUID objectGUID; 65 83 66 84 uint32_t searchFlags; … … 103 121 uint32_t governsID_id; 104 122 struct GUID schemaIDGUID; 123 struct GUID objectGUID; 105 124 106 125 uint32_t objectClassCategory; … … 120 139 const char **mayContain; 121 140 const char **possibleInferiors; 141 const char **systemPossibleInferiors; 122 142 123 143 const char *defaultSecurityDescriptor; … … 134 154 bool systemOnly; 135 155 136 c har **supclasses;137 c har **subclasses;138 c har **subclasses_direct;139 c har **posssuperiors;156 const char **supclasses; 157 const char **subclasses; 158 const char **subclasses_direct; 159 const char **posssuperiors; 140 160 uint32_t subClassOf_id; 141 161 uint32_t *systemAuxiliaryClass_ids; … … 156 176 }; 157 177 158 struct dsdb_schema_oid_prefix { 159 uint32_t id; 160 const char *oid; 161 size_t oid_len; 162 }; 178 /** 179 * data stored in schemaInfo attribute 180 */ 181 struct dsdb_schema_info { 182 uint32_t revision; 183 struct GUID invocation_id; 184 }; 185 163 186 164 187 struct dsdb_schema { 165 uint32_t num_prefixes; 166 struct dsdb_schema_oid_prefix *prefixes; 188 struct ldb_dn *base_dn; 189 190 struct dsdb_schema_prefixmap *prefixmap; 167 191 168 192 /* … … 176 200 const char *schema_info; 177 201 202 /* We can also tell the schema version from the USN on the partition */ 203 uint64_t loaded_usn; 204 178 205 struct dsdb_attribute *attributes; 179 206 struct dsdb_class *classes; … … 193 220 struct dsdb_attribute **attributes_by_attributeID_oid; 194 221 struct dsdb_attribute **attributes_by_linkID; 222 uint32_t num_int_id_attr; 223 struct dsdb_attribute **attributes_by_msDS_IntId; 195 224 196 225 struct { … … 199 228 } fsmo; 200 229 201 struct smb_iconv_convenience *iconv_convenience; 230 /* Was this schema loaded from ldb (if so, then we will reload it when we detect a change in ldb) */ 231 struct ldb_module *loaded_from_module; 232 struct dsdb_schema *(*refresh_fn)(struct ldb_module *module, struct dsdb_schema *schema, bool is_global_schema); 233 bool refresh_in_progress; 234 /* an 'opaque' sequence number that the reload function may also wish to use */ 235 uint64_t reload_seq_number; 236 237 /* Should the syntax handlers in this case handle all incoming OIDs automatically, assigning them as an OID if no text name is known? */ 238 bool relax_OID_conversions; 202 239 }; 203 240
Note:
See TracChangeset
for help on using the changeset viewer.