]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/proto-slap.h
Use temporary AttributeDescriptions to prevent unbounded growth
[openldap] / servers / slapd / proto-slap.h
index 5f8b8743adcb1d0721ee27c46d5dffbfe0729b10..2640ca5fa8793c3dbe771f81e0c0531377a159f1 100644 (file)
@@ -153,6 +153,10 @@ LDAP_SLAPD_F (int) slap_bv2undef_ad LDAP_P((
        const char **text,
        unsigned proxied ));
 
+LDAP_SLAPD_F (AttributeDescription *) slap_bv2tmp_ad LDAP_P((
+       struct berval *bv,
+       void *memctx ));
+
 LDAP_SLAPD_F (int) slap_ad_undef_promote LDAP_P((
        char *name,
        AttributeType *nat ));
@@ -295,7 +299,7 @@ LDAP_SLAPD_F (int) attr_destroy LDAP_P(( void ));
 LDAP_SLAPD_F (int) get_ava LDAP_P((
        Operation *op,
        BerElement *ber,
-       AttributeAssertion **ava,
+       Filter *f,
        unsigned usage,
        const char **text ));
 LDAP_SLAPD_F (void) ava_free LDAP_P((
@@ -323,7 +327,9 @@ LDAP_SLAPD_F (void) backend_destroy_one LDAP_P((BackendDB *bd, int dynamic));
 
 LDAP_SLAPD_F (BackendInfo *) backend_info LDAP_P(( const char *type ));
 LDAP_SLAPD_F (BackendDB *) backend_db_init LDAP_P(( const char *type,
-       BackendDB *be ));
+       BackendDB *be, int idx ));
+LDAP_SLAPD_F (void) backend_db_insert LDAP_P((BackendDB *bd, int idx));
+LDAP_SLAPD_F (void) backend_db_move LDAP_P((BackendDB *bd, int idx));
 
 LDAP_SLAPD_F (BackendDB *) select_backend LDAP_P((
        struct berval * dn,
@@ -411,7 +417,8 @@ LDAP_SLAPD_F (int) glue_sub_del( BackendDB *be );
  * backover.c
  */
 LDAP_SLAPD_F (int) overlay_register LDAP_P(( slap_overinst *on ));
-LDAP_SLAPD_F (int) overlay_config LDAP_P(( BackendDB *be, const char *ov ));
+LDAP_SLAPD_F (int) overlay_config LDAP_P(( BackendDB *be, const char *ov,
+       int idx, BackendInfo **res ));
 LDAP_SLAPD_F (void) overlay_destroy_one LDAP_P((
        BackendDB *be,
        slap_overinst *on ));
@@ -428,6 +435,10 @@ LDAP_SLAPD_F (int) overlay_op_walk LDAP_P((
        slap_operation_t which,
        slap_overinfo *oi,
        slap_overinst *on ));
+LDAP_SLAPD_F (void) overlay_insert LDAP_P((
+       BackendDB *be, slap_overinst *on, slap_overinst ***prev, int idx ));
+LDAP_SLAPD_F (void) overlay_move LDAP_P((
+       BackendDB *be, slap_overinst *on, int idx ));
 
 /*
  * bconfig.c
@@ -1091,6 +1102,7 @@ LDAP_SLAPD_F ( int ) slap_mods_no_repl_user_mod_check(
        size_t textlen );
 
 LDAP_SLAPD_F( int ) slap_mods_check(
+       Operation *op,
        Modifications *ml,
        const char **text,
        char *textbuf, size_t textlen, void *ctx );
@@ -1182,7 +1194,7 @@ LDAP_SLAPD_F (int) mr_usable_with_at( MatchingRule *mr,
 LDAP_SLAPD_F (int) get_mra LDAP_P((
        Operation *op,
        BerElement *ber,
-       MatchingRuleAssertion **mra,
+       Filter *f,
        const char **text ));
 LDAP_SLAPD_F (void) mra_free LDAP_P((
        Operation *op,
@@ -1404,12 +1416,15 @@ LDAP_SLAPD_V( const struct berval ) slap_dummy_bv;
 /*
  * root_dse.c
  */
+LDAP_SLAPD_F (int) root_dse_init LDAP_P(( void ));
+LDAP_SLAPD_F (int) root_dse_destroy LDAP_P(( void ));
+
 LDAP_SLAPD_F (int) root_dse_info LDAP_P((
        Connection *conn,
        Entry **e,
        const char **text ));
 
-LDAP_SLAPD_F (int) read_root_dse_file LDAP_P((
+LDAP_SLAPD_F (int) root_dse_read_file LDAP_P((
        const char *file));
 
 LDAP_SLAPD_F (int) slap_discover_feature LDAP_P((