]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
Added overlay objects
[openldap] / servers / slapd / slap.h
index 34cbec20a6508d8ec70530cd72d5472951f70943..58745a592e857d7dd25dad709840c64c6532972a 100644 (file)
@@ -109,8 +109,6 @@ LDAP_BEGIN_DECL
 
 #define SLAP_MAX_WORKER_THREADS                (16)
 
-#define SLAP_MAX_SYNCREPL_THREADS      (8)
-
 #define SLAP_SB_MAX_INCOMING_DEFAULT ((1<<18) - 1)
 #define SLAP_SB_MAX_INCOMING_AUTH ((1<<24) - 1)
 
@@ -905,6 +903,9 @@ struct slap_internal_schema {
 typedef struct slap_attr_assertion {
        AttributeDescription    *aa_desc;
        struct berval aa_value;
+#ifdef LDAP_COMP_MATCH
+       struct slap_component_filter *aa_cf;/* for attribute aliasing */
+#endif
 } AttributeAssertion;
 
 typedef struct slap_ss_assertion {
@@ -1523,6 +1524,7 @@ typedef struct syncinfo_s {
         Avlnode                                *si_presentlist;
                LDAP                            *si_ld;
                LDAP_LIST_HEAD(np, nonpresent_entry) si_nonpresentlist;
+               ldap_pvt_thread_mutex_t si_mutex;
 } syncinfo_t;
 
 LDAP_TAILQ_HEAD( be_pcl, slap_csn_entry );
@@ -1597,8 +1599,9 @@ struct slap_backend_db {
 #define        SLAP_DBFLAG_GLUE_INSTANCE       0x0010U /* a glue backend */
 #define        SLAP_DBFLAG_GLUE_SUBORDINATE    0x0020U /* child of a glue hierarchy */
 #define        SLAP_DBFLAG_GLUE_LINKED         0x0040U /* child is connected to parent */
-#define SLAP_DBFLAG_OVERLAY            0x0080U /* this db struct is an overlay */
-#define        SLAP_DBFLAG_GLOBAL_OVERLAY      0x0100U /* this db struct is a global overlay */
+#define SLAP_DBFLAG_GLUE_ADVERTISE     0x0080U /* advertise in rootDSE */
+#define SLAP_DBFLAG_OVERLAY            0x0100U /* this db struct is an overlay */
+#define        SLAP_DBFLAG_GLOBAL_OVERLAY      0x0200U /* this db struct is a global overlay */
 #define SLAP_DBFLAG_SHADOW             0x8000U /* a shadow */
 #define SLAP_DBFLAG_SYNC_SHADOW                0x1000U /* a sync shadow */
 #define SLAP_DBFLAG_SLURP_SHADOW       0x2000U /* a slurp shadow */
@@ -1615,6 +1618,8 @@ struct slap_backend_db {
        (SLAP_DBFLAGS(be) & SLAP_DBFLAG_GLUE_SUBORDINATE)
 #define        SLAP_GLUE_LINKED(be)            \
        (SLAP_DBFLAGS(be) & SLAP_DBFLAG_GLUE_LINKED)
+#define        SLAP_GLUE_ADVERTISE(be) \
+       (SLAP_DBFLAGS(be) & SLAP_DBFLAG_GLUE_ADVERTISE)
 #define SLAP_SHADOW(be)                                (SLAP_DBFLAGS(be) & SLAP_DBFLAG_SHADOW)
 #define SLAP_SYNC_SHADOW(be)                   (SLAP_DBFLAGS(be) & SLAP_DBFLAG_SYNC_SHADOW)
 #define SLAP_SLURP_SHADOW(be)                  (SLAP_DBFLAGS(be) & SLAP_DBFLAG_SLURP_SHADOW)
@@ -1699,6 +1704,7 @@ struct slap_backend_db {
 
        char    *be_realm;
        void    *be_pb;         /* Netscape plugin */
+       struct ConfigTable *be_cf_table;
 
        void    *be_private;    /* anything the backend database needs     */
 };
@@ -1906,6 +1912,8 @@ typedef int (BI_tool_id2entry_get) LDAP_P(( BackendDB *be, ID id, Entry **e ));
 typedef ID (BI_tool_entry_modify) LDAP_P(( BackendDB *be, Entry *e, 
        struct berval *text ));
 
+struct ConfigTable;    /* config.h */
+
 struct slap_backend_info {
        char    *bi_type; /* type of backend */
 
@@ -2028,6 +2036,7 @@ struct slap_backend_info {
        char    bi_ctrls[SLAP_MAX_CIDS + 1];
 
        unsigned int bi_nDB;    /* number of databases of this type */
+       struct ConfigTable *bi_cf_table;
        void    *bi_private;    /* anything the backend type needs */
 };