X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fslap.h;h=19f67952a5ecfe865fa0a24b6535f086e0f1855b;hb=ca9bb44089145bdb7435135714590d48f4a6eabd;hp=939198ed28ae3950c5a4f83eb65f7998b3a5f91a;hpb=c75be97ae946dab41f002a31d8347cc38cda7658;p=openldap diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index 939198ed28..19f67952a5 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -292,7 +292,8 @@ typedef int slap_syntax_validate_func LDAP_P(( typedef int slap_syntax_transform_func LDAP_P(( struct slap_syntax *syntax, struct berval * in, - struct berval * out)); + struct berval * out, + void *memctx)); typedef struct slap_syntax { LDAPSyntax ssyn_syn; @@ -340,7 +341,6 @@ typedef struct slap_syntax_defs_rec { char *sd_desc; int sd_flags; slap_syntax_validate_func *sd_validate; - slap_syntax_transform_func *sd_normalizeXXX; /* to be deleted */ slap_syntax_transform_func *sd_pretty; #ifdef SLAPD_BINARY_CONVERSION slap_syntax_transform_func *sd_ber2str; @@ -351,7 +351,8 @@ typedef struct slap_syntax_defs_rec { /* X -> Y Converter */ typedef int slap_mr_convert_func LDAP_P(( struct berval * in, - struct berval * out )); + struct berval * out, + void *memctx )); /* Normalizer */ typedef int slap_mr_normalize_func LDAP_P(( @@ -359,7 +360,8 @@ typedef int slap_mr_normalize_func LDAP_P(( struct slap_syntax *syntax, /* NULL if in is asserted value */ struct slap_matching_rule *mr, struct berval * in, - struct berval * out )); + struct berval * out, + void *memctx )); /* Match (compare) function */ typedef int slap_mr_match_func LDAP_P(( @@ -378,7 +380,8 @@ typedef int slap_mr_indexer_func LDAP_P(( struct slap_matching_rule *mr, struct berval *prefix, BerVarray values, - BerVarray *keys )); + BerVarray *keys, + void *memctx )); /* Filter index function */ typedef int slap_mr_filter_func LDAP_P(( @@ -388,7 +391,8 @@ typedef int slap_mr_filter_func LDAP_P(( struct slap_matching_rule *mr, struct berval *prefix, void * assertValue, - BerVarray *keys )); + BerVarray *keys, + void *memctx )); typedef struct slap_matching_rule_use MatchingRuleUse; @@ -682,7 +686,6 @@ struct slap_internal_schema { ObjectClass *si_oc_rootdse; ObjectClass *si_oc_subentry; ObjectClass *si_oc_subschema; - ObjectClass *si_oc_monitor; ObjectClass *si_oc_collectiveAttributeSubentry; ObjectClass *si_oc_dynamicObject; @@ -763,7 +766,7 @@ struct slap_internal_schema { #ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND AttributeDescription *si_ad_krbName; #endif - + /* Undefined Attribute Type */ AttributeType *si_at_undefined; @@ -1840,6 +1843,12 @@ typedef struct slap_op { LDAPControl **o_ctrls; /* controls */ void *o_threadctx; /* thread pool thread context */ + void *o_tmpmemctx; /* slab malloc context */ + BerMemoryFunctions *o_tmpmfuncs; +#define o_tmpalloc o_tmpmfuncs->bmf_malloc +#define o_tmpcalloc o_tmpmfuncs->bmf_calloc +#define o_tmprealloc o_tmpmfuncs->bmf_realloc +#define o_tmpfree o_tmpmfuncs->bmf_free void *o_private; /* anything the backend needs */ LDAP_STAILQ_ENTRY(slap_op) o_next; /* next operation in list */