]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-meta/back-meta.h
Merge remote-tracking branch 'origin/mdb.master' into OPENLDAP_REL_ENG_2_4
[openldap] / servers / slapd / back-meta / back-meta.h
index 63441dc728d0a88ead50a01d9679611e5d2f01e7..341c05571a800954ecc58de1f4d55919a81d89ce 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1999-2012 The OpenLDAP Foundation.
+ * Copyright 1999-2013 The OpenLDAP Foundation.
  * Portions Copyright 2001-2003 Pierangelo Masarati.
  * Portions Copyright 1999-2003 Howard Chu.
  * All rights reserved.
@@ -278,6 +278,12 @@ typedef struct metasubtree_t {
        struct metasubtree_t *ms_next;
 } metasubtree_t;
 
+typedef struct metafilter_t {
+       struct metafilter_t *mf_next;
+       struct berval mf_regex_pattern;
+       regex_t mf_regex;
+} metafilter_t;
+
 typedef struct metacommon_t {
        int                             mc_version;
        int                             mc_nretries;
@@ -324,6 +330,7 @@ typedef struct metatarget_t {
        LDAP_URLLIST_PROC       *mt_urllist_f;
        void                    *mt_urllist_p;
 
+       metafilter_t    *mt_filter;
        metasubtree_t           *mt_subtree;
        /* F: subtree-include; T: subtree-exclude */
        int                     mt_subtree_exclude;
@@ -456,7 +463,7 @@ typedef struct metainfo_t {
 
 #define        li_flags                mi_flags
 /* uses flags as defined in <back-ldap/back-ldap.h> */
-#define        META_BACK_F_ONERR_STOP          (0x01000000U)
+#define        META_BACK_F_ONERR_STOP          LDAP_BACK_F_ONERR_STOP
 #define        META_BACK_F_ONERR_REPORT        (0x02000000U)
 #define        META_BACK_F_ONERR_MASK          (META_BACK_F_ONERR_STOP|META_BACK_F_ONERR_REPORT)
 #define        META_BACK_F_DEFER_ROOTDN_BIND   (0x04000000U)
@@ -681,6 +688,14 @@ meta_back_map_free( struct ldapmap *lm );
 extern int
 meta_subtree_destroy( metasubtree_t *ms );
 
+extern void
+meta_filter_destroy( metafilter_t *mf );
+
+extern int
+meta_target_finish( metainfo_t *mi, metatarget_t *mt,
+       const char *log, char *msg, size_t msize
+);
+
 extern LDAP_REBIND_PROC                meta_back_default_rebind;
 extern LDAP_URLLIST_PROC       meta_back_default_urllist;