]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-meta/back-meta.h
group rewrite/map stuff in one structure and optimize more function calls
[openldap] / servers / slapd / back-meta / back-meta.h
index f14345a208268af751a6fb7b54f03a648f654aca..d7d2f8592053d6323611b050e03c1b45e39df757 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  *
  * Copyright 1999, Howard Chu, All rights reserved. <hyc@highlandsun.com>
@@ -77,7 +77,7 @@
 
 /* String rewrite library */
 #include "rewrite.h"
-
+#include "cache.h"
 LDAP_BEGIN_DECL
 
 struct slap_conn;
@@ -91,6 +91,7 @@ struct metasingleconn {
        
        LDAP                    *ld;
        struct berval           bound_dn;
+       struct berval           cred;
        int                     bound;
 #define META_UNBOUND           0
 #define META_BOUND             1
@@ -145,10 +146,18 @@ struct metainfo {
 #define META_DEFAULT_TARGET_NONE       -1
        struct metatarget       **targets;
 
+#ifdef LDAP_CACHING 
+       struct rewrite_info     *rwinfo;
+       cache_manager           *cm; 
+       Backend                 *glue_be; 
+#endif /* LDAP_CACHING */
+
        struct metadncache      cache;
        
        ldap_pvt_thread_mutex_t conn_mutex;
        Avlnode                 *conntree;
+
+       int                     savecred;
 };
 
 #define META_OP_ALLOW_MULTIPLE         0x00
@@ -156,9 +165,8 @@ struct metainfo {
 #define META_OP_REQUIRE_ALL            0x02
 extern struct metaconn *
 meta_back_getconn(
-               struct                  metainfo *li,
-               struct                  slap_conn *conn,
-               struct                  slap_op *op,
+               Operation               *op,
+               SlapReply               *rs,
                int                     op_type,
                struct berval           *dn,
                int                     *candidate
@@ -179,7 +187,8 @@ meta_back_is_valid(
 extern int
 meta_back_op_result(
                struct metaconn         *lc,
-               Operation               *op
+               Operation               *op,
+               SlapReply               *rs
 );
 
 extern int