]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
Free IDL_CACHE locks
[openldap] / servers / slapd / slap.h
index 939198ed28ae3950c5a4f83eb65f7998b3a5f91a..19f67952a5ecfe865fa0a24b6535f086e0f1855b 100644 (file)
@@ -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         */