/* stuff required for monitoring */
typedef struct ldap_monitor_info_t {
- monitor_subsys_t lmi_mss;
- struct ldapinfo_t *lmi_li;
-
- struct berval lmi_rdn;
- struct berval lmi_nrdn;
- monitor_callback_t *lmi_cb;
- struct berval lmi_base;
- int lmi_scope;
- struct berval lmi_filter;
- struct berval lmi_more_filter;
+ monitor_subsys_t lmi_mss[2];
+
+ struct berval lmi_ndn;
+ struct berval lmi_conn_rdn;
+ struct berval lmi_ops_rdn;
} ldap_monitor_info_t;
enum {
#define LDAP_BACK_CONN_CACHED_CLEAR(lc) LDAP_BACK_CONN_CLEAR((lc), LDAP_BACK_FCONN_CACHED)
LDAP *lc_ld;
+ unsigned long lc_connid;
struct berval lc_cred;
struct berval lc_bound_ndn;
unsigned lc_flags;
int li_version;
+ unsigned long li_conn_nextid;
+
/* cached connections;
* special conns are in tailq rather than in tree */
ldap_avl_info_t li_conninfo;
time_t li_conn_ttl;
time_t li_idle_timeout;
time_t li_timeout[ SLAP_OP_LAST ];
+
+ ldap_pvt_thread_mutex_t li_counter_mutex;
+ ldap_pvt_mp_t li_ops_completed[SLAP_OP_LAST];
} ldapinfo_t;
#define LDAP_ERR_OK(err) ((err) == LDAP_SUCCESS || (err) == LDAP_COMPARE_FALSE || (err) == LDAP_COMPARE_TRUE)