]> git.sur5r.net Git - openldap/commitdiff
allow to register entries and entry callbacks; radical namespace cleanup
authorPierangelo Masarati <ando@openldap.org>
Mon, 8 Nov 2004 18:52:27 +0000 (18:52 +0000)
committerPierangelo Masarati <ando@openldap.org>
Mon, 8 Nov 2004 18:52:27 +0000 (18:52 +0000)
21 files changed:
servers/slapd/back-monitor/back-monitor.h
servers/slapd/back-monitor/backend.c
servers/slapd/back-monitor/bind.c
servers/slapd/back-monitor/cache.c
servers/slapd/back-monitor/compare.c
servers/slapd/back-monitor/conn.c
servers/slapd/back-monitor/database.c
servers/slapd/back-monitor/entry.c
servers/slapd/back-monitor/init.c
servers/slapd/back-monitor/listener.c
servers/slapd/back-monitor/log.c
servers/slapd/back-monitor/modify.c
servers/slapd/back-monitor/operation.c
servers/slapd/back-monitor/operational.c
servers/slapd/back-monitor/overlay.c
servers/slapd/back-monitor/proto-back-monitor.h
servers/slapd/back-monitor/rww.c
servers/slapd/back-monitor/search.c
servers/slapd/back-monitor/sent.c
servers/slapd/back-monitor/thread.c
servers/slapd/back-monitor/time.c

index 1554de07c0b64e6ecd91359476c22ecbe2a7bae2..bc3a0842c14ced717b179f281ccf94cb7d2c7993 100644 (file)
 
 LDAP_BEGIN_DECL
 
-/*
- * The cache maps DNs to Entries.
- * Each entry, on turn, holds the list of its children in the e_private field.
- * This is used by search operation to perform onelevel and subtree candidate
- * selection.
- */
-struct monitorcache {
-       struct berval           mc_ndn;
-       Entry                   *mc_e;
-};
+typedef struct monitor_callback_t {
+       int                     (*mc_update)( Operation *op, Entry *e, void *priv );
+                                               /* update callback
+                                                  for user-defined entries */
+       void                    *mc_private;    /* opaque pointer to
+                                                  private data */
+       struct monitor_callback_t       *mc_next;
+} monitor_callback_t;
+
 
-struct monitorentrypriv {
+typedef struct monitor_entry_t {
        ldap_pvt_thread_mutex_t mp_mutex;       /* entry mutex */
        Entry                   *mp_next;       /* pointer to next sibling */
        Entry                   *mp_children;   /* pointer to first child */
-       struct monitorsubsys    *mp_info;       /* subsystem info */
+       struct monitor_subsys_t *mp_info;       /* subsystem info */
 #define mp_type                mp_info->mss_type
        unsigned long           mp_flags;       /* flags */
 
-#define        MONITOR_F_NONE          0x00U
-#define MONITOR_F_SUB          0x01U           /* subentry of subsystem */
-#define MONITOR_F_PERSISTENT   0x10U           /* persistent entry */
-#define MONITOR_F_PERSISTENT_CH        0x20U           /* subsystem generates 
+#define        MONITOR_F_NONE          0x0000U
+#define MONITOR_F_SUB          0x0001U         /* subentry of subsystem */
+#define MONITOR_F_PERSISTENT   0x0010U         /* persistent entry */
+#define MONITOR_F_PERSISTENT_CH        0x0020U         /* subsystem generates 
                                                   persistent entries */
-#define MONITOR_F_VOLATILE     0x40U           /* volatile entry */
-#define MONITOR_F_VOLATILE_CH  0x80U           /* subsystem generates 
+#define MONITOR_F_VOLATILE     0x0040U         /* volatile entry */
+#define MONITOR_F_VOLATILE_CH  0x0080U         /* subsystem generates 
                                                   volatile entries */
+#define MONITOR_F_EXTERNAL     0x0100U         /* externally added - don't free */
 /* NOTE: flags with 0xF0000000U mask are reserved for subsystem internals */
 
-       int                     (*mp_update)( Operation *op, Entry *e );
-                                               /* update callback
-                                                  for user-defined entries */
-       void                    *mp_private;    /* opaque pointer to
-                                                  private data */
-};
+       struct monitor_callback_t       *mp_cb;         /* callback sequence */
+} monitor_entry_t;
 
-struct monitorinfo {
+typedef struct monitor_info_t {
 
        /*
         * Internal data
@@ -83,37 +79,39 @@ struct monitorinfo {
        /*
         * Specific schema entities
         */
-       ObjectClass *mi_oc_monitor;
-       ObjectClass *mi_oc_monitorServer;
-       ObjectClass *mi_oc_monitorContainer;
-       ObjectClass *mi_oc_monitorCounterObject;
-       ObjectClass *mi_oc_monitorOperation;
-       ObjectClass *mi_oc_monitorConnection;
-       ObjectClass *mi_oc_managedObject;
-       ObjectClass *mi_oc_monitoredObject;
-
-       AttributeDescription *mi_ad_monitoredInfo;
-       AttributeDescription *mi_ad_managedInfo;
-       AttributeDescription *mi_ad_monitorCounter;
-       AttributeDescription *mi_ad_monitorOpCompleted;
-       AttributeDescription *mi_ad_monitorOpInitiated;
-       AttributeDescription *mi_ad_monitorConnectionNumber;
-       AttributeDescription *mi_ad_monitorConnectionAuthzDN;
-       AttributeDescription *mi_ad_monitorConnectionLocalAddress;
-       AttributeDescription *mi_ad_monitorConnectionPeerAddress;
-       AttributeDescription *mi_ad_monitorTimestamp;
-       AttributeDescription *mi_ad_monitorOverlay;
+       ObjectClass             *mi_oc_monitor;
+       ObjectClass             *mi_oc_monitorServer;
+       ObjectClass             *mi_oc_monitorContainer;
+       ObjectClass             *mi_oc_monitorCounterObject;
+       ObjectClass             *mi_oc_monitorOperation;
+       ObjectClass             *mi_oc_monitorConnection;
+       ObjectClass             *mi_oc_managedObject;
+       ObjectClass             *mi_oc_monitoredObject;
+
+       AttributeDescription    *mi_ad_monitoredInfo;
+       AttributeDescription    *mi_ad_managedInfo;
+       AttributeDescription    *mi_ad_monitorCounter;
+       AttributeDescription    *mi_ad_monitorOpCompleted;
+       AttributeDescription    *mi_ad_monitorOpInitiated;
+       AttributeDescription    *mi_ad_monitorConnectionNumber;
+       AttributeDescription    *mi_ad_monitorConnectionAuthzDN;
+       AttributeDescription    *mi_ad_monitorConnectionLocalAddress;
+       AttributeDescription    *mi_ad_monitorConnectionPeerAddress;
+       AttributeDescription    *mi_ad_monitorTimestamp;
+       AttributeDescription    *mi_ad_monitorOverlay;
 
        /*
         * Generic description attribute
         */
-       AttributeDescription *mi_ad_description;
-       AttributeDescription *mi_ad_seeAlso;
-       AttributeDescription *mi_ad_l;
-       AttributeDescription *mi_ad_labeledURI;
-       AttributeDescription *mi_ad_readOnly;
-       AttributeDescription *mi_ad_restrictedOperation;
-};
+       AttributeDescription    *mi_ad_description;
+       AttributeDescription    *mi_ad_seeAlso;
+       AttributeDescription    *mi_ad_l;
+       AttributeDescription    *mi_ad_labeledURI;
+       AttributeDescription    *mi_ad_readOnly;
+       AttributeDescription    *mi_ad_restrictedOperation;
+
+       void                    *mi_entry_limbo;
+} monitor_info_t;
 
 /*
  * DNs
@@ -217,7 +215,7 @@ enum {
 #define SLAPD_MONITOR_RWW_DN   \
        SLAPD_MONITOR_RWW_RDN "," SLAPD_MONITOR_DN
 
-typedef struct monitorsubsys {
+typedef struct monitor_subsys_t {
        char            *mss_name;
        struct berval   mss_rdn;
        struct berval   mss_dn;
@@ -231,7 +229,7 @@ typedef struct monitorsubsys {
        ( ( mp )->mp_children || MONITOR_HAS_VOLATILE_CH( mp ) )
 
        /* initialize entry and subentries */
-       int             ( *mss_open )( BackendDB *, struct monitorsubsys *ms );
+       int             ( *mss_open )( BackendDB *, struct monitor_subsys_t *ms );
        /* update existing dynamic entry and subentries */
        int             ( *mss_update )( Operation *, Entry * );
        /* create new dynamic subentries */
@@ -239,7 +237,7 @@ typedef struct monitorsubsys {
                                struct berval *ndn, Entry *, Entry ** );
        /* modify entry and subentries */
        int             ( *mss_modify )( Operation *, Entry * );
-} monitorsubsys;
+} monitor_subsys_t;
 
 extern BackendDB *be_monitor;
 
index 7bdb01736b21148dd1f69cd717b3eb1d4ea4f06b..8bfe6c03755929398d6521c3f81822fb81bfbcc2 100644 (file)
  */
 int
 monitor_subsys_backend_init(
-       BackendDB       *be,
-       monitorsubsys   *ms
+       BackendDB               *be,
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
+       monitor_info_t          *mi;
        Entry                   *e_backend, **ep;
        int                     i;
-       struct monitorentrypriv *mp;
-       monitorsubsys           *ms_database;
+       monitor_entry_t         *mp;
+       monitor_subsys_t        *ms_database;
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
        ms_database = monitor_back_get_subsys( SLAPD_MONITOR_DATABASE_NAME );
        if ( ms_database == NULL ) {
@@ -65,7 +65,7 @@ monitor_subsys_backend_init(
                return( -1 );
        }
 
-       mp = ( struct monitorentrypriv * )e_backend->e_private;
+       mp = ( monitor_entry_t * )e_backend->e_private;
        mp->mp_children = NULL;
        ep = &mp->mp_children;
 
index 304397f64554d1db1a91b3229ed96ea249bc1278..17afa9475317ca19a1a631e92febe92cc1086726 100644 (file)
@@ -34,8 +34,8 @@ int
 monitor_back_bind( Operation *op, SlapReply *rs )
 {
 #if 0  /* not used yet */
-       struct monitorinfo      *mi
-               = (struct monitorinfo *) op->o_bd->be_private;
+       monitor_info_t  *mi
+               = (monitor_info_t *) op->o_bd->be_private;
 #endif
 
        Debug(LDAP_DEBUG_ARGS, "==> monitor_back_bind: dn: %s\n", 
index dd7086725c606ed31a8be2e8c0f92db4d438fb92..4f4ad05b2b49281ce4cee0e6c9cfce9cf9e2e898 100644 (file)
 
 #include "back-monitor.h"
 
+/*
+ * The cache maps DNs to Entries.
+ * Each entry, on turn, holds the list of its children in the e_private field.
+ * This is used by search operation to perform onelevel and subtree candidate
+ * selection.
+ */
+typedef struct monitor_cache_t {
+       struct berval           mc_ndn;
+       Entry                   *mc_e;
+} monitor_cache_t;
+
 /*
  * compares entries based on the dn
  */
 int
 monitor_cache_cmp(
-               const void *c1,
-               const void *c2
+               const void      *c1,
+               const void      *c2
 )
 {
-       struct monitorcache     *cc1 = ( struct monitorcache * )c1;
-       struct monitorcache     *cc2 = ( struct monitorcache * )c2;
+       monitor_cache_t         *cc1 = ( monitor_cache_t * )c1;
+       monitor_cache_t         *cc2 = ( monitor_cache_t * )c2;
 
        /*
         * case sensitive, because the dn MUST be normalized
@@ -51,12 +62,12 @@ monitor_cache_cmp(
  */
 int
 monitor_cache_dup(
-               void *c1,
-               void *c2
+               void            *c1,
+               void            *c2
 )
 {
-       struct monitorcache *cc1 = ( struct monitorcache * )c1;
-       struct monitorcache *cc2 = ( struct monitorcache * )c2;
+       monitor_cache_t *cc1 = ( monitor_cache_t * )c1;
+       monitor_cache_t *cc2 = ( monitor_cache_t * )c2;
 
        /*
         * case sensitive, because the dn MUST be normalized
@@ -69,21 +80,21 @@ monitor_cache_dup(
  */
 int
 monitor_cache_add(
-               struct monitorinfo      *mi,
-               Entry                   *e
+               monitor_info_t  *mi,
+               Entry           *e
 )
 {
-       struct monitorcache     *mc;
-       struct monitorentrypriv *mp;
-       int                     rc;
+       monitor_cache_t *mc;
+       monitor_entry_t *mp;
+       int             rc;
 
        assert( mi != NULL );
        assert( e != NULL );
 
-       mp = ( struct monitorentrypriv *)e->e_private;
+       mp = ( monitor_entry_t *)e->e_private;
        ldap_pvt_thread_mutex_init( &mp->mp_mutex );
 
-       mc = ( struct monitorcache * )ch_malloc( sizeof( struct monitorcache ) );
+       mc = ( monitor_cache_t * )ch_malloc( sizeof( monitor_cache_t ) );
        mc->mc_ndn = e->e_nname;
        mc->mc_e = e;
        ldap_pvt_thread_mutex_lock( &mi->mi_cache_mutex );
@@ -99,15 +110,15 @@ monitor_cache_add(
  */
 int
 monitor_cache_lock(
-               Entry                   *e
+               Entry           *e
 )
 {
-               struct monitorentrypriv *mp;
+               monitor_entry_t *mp;
 
                assert( e != NULL );
                assert( e->e_private != NULL );
 
-               mp = ( struct monitorentrypriv * )e->e_private;
+               mp = ( monitor_entry_t * )e->e_private;
                ldap_pvt_thread_mutex_lock( &mp->mp_mutex );
 
                return( 0 );
@@ -119,12 +130,12 @@ monitor_cache_lock(
  */
 int
 monitor_cache_get(
-               struct monitorinfo      *mi,
-               struct berval           *ndn,
-               Entry                   **ep
+               monitor_info_t  *mi,
+               struct berval   *ndn,
+               Entry           **ep
 )
 {
-       struct monitorcache tmp_mc, *mc;
+       monitor_cache_t tmp_mc, *mc;
 
        assert( mi != NULL );
        assert( ndn != NULL );
@@ -132,7 +143,7 @@ monitor_cache_get(
 
        tmp_mc.mc_ndn = *ndn;
        ldap_pvt_thread_mutex_lock( &mi->mi_cache_mutex );
-       mc = ( struct monitorcache * )avl_find( mi->mi_cache,
+       mc = ( monitor_cache_t * )avl_find( mi->mi_cache,
                        ( caddr_t )&tmp_mc, monitor_cache_cmp );
 
        if ( mc != NULL ) {
@@ -164,11 +175,11 @@ monitor_cache_dn2entry(
                Entry                   **matched
 )
 {
-       struct monitorinfo *mi = (struct monitorinfo *)op->o_bd->be_private;
+       monitor_info_t *mi = (monitor_info_t *)op->o_bd->be_private;
        int                     rc;
        struct berval           p_ndn = BER_BVNULL;
        Entry                   *e_parent;
-       struct monitorentrypriv *mp;
+       monitor_entry_t         *mp;
                
        assert( mi != NULL );
        assert( ndn != NULL );
@@ -195,7 +206,7 @@ monitor_cache_dn2entry(
                return( -1 );
        }
 
-       mp = ( struct monitorentrypriv * )e_parent->e_private;
+       mp = ( monitor_entry_t * )e_parent->e_private;
        rc = -1;
        if ( mp->mp_flags & MONITOR_F_VOLATILE_CH ) {
                /* parent entry generates volatile children */
@@ -217,20 +228,20 @@ monitor_cache_dn2entry(
  */
 int
 monitor_cache_release(
-       struct monitorinfo      *mi,
-       Entry                   *e
+       monitor_info_t  *mi,
+       Entry           *e
 )
 {
-       struct monitorentrypriv *mp;
+       monitor_entry_t *mp;
 
        assert( mi != NULL );
        assert( e != NULL );
        assert( e->e_private != NULL );
        
-       mp = ( struct monitorentrypriv * )e->e_private;
+       mp = ( monitor_entry_t * )e->e_private;
 
        if ( mp->mp_flags & MONITOR_F_VOLATILE ) {
-               struct monitorcache     *mc, tmp_mc;
+               monitor_cache_t *mc, tmp_mc;
 
                /* volatile entries do not return to cache */
                ldap_pvt_thread_mutex_lock( &mi->mi_cache_mutex );
index 361b052586a80b6fa1b3e1eea01c942bbaa02130..adc5674484a6e6107da919e0fba9507dddae5e04 100644 (file)
@@ -29,8 +29,7 @@
 int
 monitor_back_compare( struct slap_op *op, struct slap_rep *rs)
 {
-       struct monitorinfo      *mi = 
-               (struct monitorinfo *) op->o_bd->be_private;
+       monitor_info_t  *mi = ( monitor_info_t * ) op->o_bd->be_private;
        Entry           *e, *matched = NULL;
        Attribute       *a;
 
index 1667a6ae9f8ea5424329c5da0e64544101e6a6d5..e8c5d15d0a627dd181457de6ea634ff212ffdfc0 100644 (file)
 int
 monitor_subsys_conn_init(
        BackendDB               *be,
-       monitorsubsys           *ms
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
-       
-       Entry                   *e, **ep, *e_conn;
-       struct monitorentrypriv *mp;
-       char                    buf[ BACKMONITOR_BUFSIZE ];
-       struct berval           bv;
+       monitor_info_t  *mi;
+       Entry           *e, **ep, *e_conn;
+       monitor_entry_t *mp;
+       char            buf[ BACKMONITOR_BUFSIZE ];
+       struct berval   bv;
 
        assert( be != NULL );
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
        if ( monitor_cache_get( mi, &ms->mss_ndn, &e_conn ) ) {
                Debug( LDAP_DEBUG_ANY,
@@ -53,7 +52,7 @@ monitor_subsys_conn_init(
                return( -1 );
        }
 
-       mp = ( struct monitorentrypriv * )e_conn->e_private;
+       mp = ( monitor_entry_t * )e_conn->e_private;
        mp->mp_children = NULL;
        ep = &mp->mp_children;
 
@@ -174,8 +173,7 @@ monitor_subsys_conn_update(
        Entry                   *e
 )
 {
-       struct monitorinfo      *mi =
-               (struct monitorinfo *)op->o_bd->be_private;
+       monitor_info_t  *mi = ( monitor_info_t * )op->o_bd->be_private;
 
        long                    n = -1;
        static struct berval    total_bv = BER_BVC( "cn=total" ),
@@ -226,13 +224,13 @@ monitor_subsys_conn_update(
 
 static int
 conn_create(
-       struct monitorinfo      *mi,
+       monitor_info_t          *mi,
        Connection              *c,
        Entry                   **ep,
-       monitorsubsys           *ms
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorentrypriv *mp;
+       monitor_entry_t *mp;
        struct tm               *ltm;
        char                    buf[ BACKMONITOR_BUFSIZE ];
        char                    buf2[ LDAP_LUTIL_GENTIME_BUFSIZE ];
@@ -420,20 +418,19 @@ monitor_subsys_conn_create(
        Entry                   **ep
 )
 {
-       struct monitorinfo      *mi =
-               (struct monitorinfo *)op->o_bd->be_private;
+       monitor_info_t  *mi = ( monitor_info_t * )op->o_bd->be_private;
 
        Connection              *c;
        int                     connindex;
-       struct monitorentrypriv *mp;
+       monitor_entry_t         *mp;
        int                     rc = 0;
-       monitorsubsys           *ms;
+       monitor_subsys_t        *ms;
 
        assert( mi != NULL );
        assert( e_parent != NULL );
        assert( ep != NULL );
 
-       ms = (( struct monitorentrypriv *)e_parent->e_private)->mp_info;
+       ms = (( monitor_entry_t *)e_parent->e_private)->mp_info;
 
        *ep = NULL;
 
@@ -444,10 +441,11 @@ monitor_subsys_conn_create(
                /* create all the children of e_parent */
                for ( c = connection_first( &connindex );
                                c != NULL;
-                               c = connection_next( c, &connindex )) {
+                               c = connection_next( c, &connindex ))
+               {
                        if ( conn_create( mi, c, &e, ms ) || e == NULL ) {
                                for ( ; e_tmp != NULL; ) {
-                                       mp = ( struct monitorentrypriv * )e_tmp->e_private;
+                                       mp = ( monitor_entry_t * )e_tmp->e_private;
                                        e = mp->mp_next;
 
                                        ch_free( mp );
@@ -459,7 +457,7 @@ monitor_subsys_conn_create(
                                rc = -1;
                                break;
                        }
-                       mp = ( struct monitorentrypriv * )e->e_private;
+                       mp = ( monitor_entry_t * )e->e_private;
                        mp->mp_next = e_tmp;
                        e_tmp = e;
                }
index c671e01268fd8ef3944f646b59107126bd11dd10..46c4c2058e554faac23a23360ba6a7552b73a2ec 100644 (file)
@@ -58,7 +58,7 @@ static struct restricted_ops_t {
 };
 
 static int
-init_readOnly( struct monitorinfo *mi, Entry *e, slap_mask_t restrictops )
+init_readOnly( monitor_info_t *mi, Entry *e, slap_mask_t restrictops )
 {
        struct berval   *tf = ( ( restrictops & SLAP_RESTRICT_OP_MASK ) == SLAP_RESTRICT_OP_WRITES ) ?
                (struct berval *)&slap_true_bv : (struct berval *)&slap_false_bv;
@@ -67,7 +67,7 @@ init_readOnly( struct monitorinfo *mi, Entry *e, slap_mask_t restrictops )
 }
 
 static int
-init_restrictedOperation( struct monitorinfo *mi, Entry *e, slap_mask_t restrictops )
+init_restrictedOperation( monitor_info_t *mi, Entry *e, slap_mask_t restrictops )
 {
        int     i, rc;
 
@@ -96,20 +96,20 @@ init_restrictedOperation( struct monitorinfo *mi, Entry *e, slap_mask_t restrict
 
 int
 monitor_subsys_database_init(
-       BackendDB       *be,
-       monitorsubsys   *ms
+       BackendDB               *be,
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
+       monitor_info_t          *mi;
        Entry                   *e_database, **ep;
        int                     i;
-       struct monitorentrypriv *mp;
-       monitorsubsys           *ms_backend,
+       monitor_entry_t         *mp;
+       monitor_subsys_t        *ms_backend,
                                *ms_overlay;
 
        assert( be != NULL );
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
        ms_backend = monitor_back_get_subsys( SLAPD_MONITOR_BACKEND_NAME );
        if ( ms_backend == NULL ) {
@@ -144,7 +144,7 @@ monitor_subsys_database_init(
        (void)init_readOnly( mi, e_database, frontendDB->be_restrictops );
        (void)init_restrictedOperation( mi, e_database, frontendDB->be_restrictops );
 
-       mp = ( struct monitorentrypriv * )e_database->e_private;
+       mp = ( monitor_entry_t * )e_database->e_private;
        mp->mp_children = NULL;
        ep = &mp->mp_children;
 
@@ -356,15 +356,15 @@ monitor_subsys_database_modify(
        Entry           *e
 )
 {
-       struct monitorinfo *mi = (struct monitorinfo *)op->o_bd->be_private;
-       int rc = LDAP_OTHER;
-       Attribute *save_attrs, *a;
-       Modifications *modlist = op->oq_modify.rs_modlist;
-       Modifications *ml;
-       Backend *be;
-       int ro_gotval = 1, i, n;
+       monitor_info_t  *mi = (monitor_info_t *)op->o_bd->be_private;
+       int             rc = LDAP_OTHER;
+       Attribute       *save_attrs, *a;
+       Modifications   *modlist = op->oq_modify.rs_modlist;
+       Modifications   *ml;
+       Backend         *be;
+       int             ro_gotval = 1, i, n;
        slap_mask_t     rp_add = 0, rp_delete = 0, rp_cur;
-       struct berval *tf;
+       struct berval   *tf;
        
        i = sscanf( e->e_nname.bv_val, "cn=database %d,", &n );
        if ( i != 1 )
@@ -654,9 +654,9 @@ done:;
 static int
 monitor_back_add_plugin( Backend *be, Entry *e_database )
 {
-       Slapi_PBlock            *pCurrentPB; 
-       int                     i, rc = LDAP_SUCCESS;
-       struct monitorinfo      *mi = ( struct monitorinfo * )be->be_private;
+       Slapi_PBlock    *pCurrentPB; 
+       int             i, rc = LDAP_SUCCESS;
+       monitor_info_t  *mi = ( monitor_info_t * )be->be_private;
 
        if ( slapi_int_pblock_get_first( be, &pCurrentPB ) != LDAP_SUCCESS ) {
                /*
index 869f37c79cef582b46ebf353b298d1687e286d95..91fba840c315bec348de6d0c2947a9fe0e03301d 100644 (file)
@@ -30,23 +30,29 @@ monitor_entry_update(
        Entry                   *e
 )
 {
-       struct monitorinfo      *mi =
-               (struct monitorinfo *)op->o_bd->be_private;
-       struct monitorentrypriv *mp;
+       monitor_info_t  *mi = ( monitor_info_t * )op->o_bd->be_private;
+       monitor_entry_t *mp;
        int                     rc = 0;
 
        assert( mi != NULL );
        assert( e != NULL );
        assert( e->e_private != NULL );
 
-       mp = ( struct monitorentrypriv * )e->e_private;
+       mp = ( monitor_entry_t * )e->e_private;
 
        if ( mp->mp_info && mp->mp_info->mss_update ) {
                rc = ( *mp->mp_info->mss_update )( op, e );
        }
 
-       if ( rc == 0 && mp->mp_update ) {
-               rc = ( *mp->mp_update )( op, e );
+       if ( rc == 0 && mp->mp_cb ) {
+               struct monitor_callback_t       *mc;
+
+               for ( mc = mp->mp_cb; mc; mc = mc->mc_next ) {
+                       rc = ( *mc->mc_update )( op, e, mc->mc_private );
+                       if ( rc != 0 ) {
+                               break;
+                       }
+               }
        }
 
        return rc;
@@ -60,15 +66,15 @@ monitor_entry_create(
        Entry                   **ep
 )
 {
-       struct monitorinfo *mi = (struct monitorinfo *)op->o_bd->be_private;
-       struct monitorentrypriv *mp;
+       monitor_info_t  *mi = ( monitor_info_t * )op->o_bd->be_private;
+       monitor_entry_t *mp;
 
        assert( mi != NULL );
        assert( e_parent != NULL );
        assert( e_parent->e_private != NULL );
        assert( ep != NULL );
 
-       mp = ( struct monitorentrypriv * )e_parent->e_private;
+       mp = ( monitor_entry_t * )e_parent->e_private;
 
        if ( mp->mp_info && mp->mp_info->mss_create ) {
                return ( *mp->mp_info->mss_create )( op, ndn, e_parent, ep );
@@ -83,14 +89,14 @@ monitor_entry_modify(
        Entry                   *e
 )
 {
-       struct monitorinfo *mi = (struct monitorinfo *)op->o_bd->be_private;
-       struct monitorentrypriv *mp;
+       monitor_info_t  *mi = ( monitor_info_t * )op->o_bd->be_private;
+       monitor_entry_t *mp;
 
        assert( mi != NULL );
        assert( e != NULL );
        assert( e->e_private != NULL );
 
-       mp = ( struct monitorentrypriv * )e->e_private;
+       mp = ( monitor_entry_t * )e->e_private;
 
        if ( mp->mp_info && mp->mp_info->mss_modify ) {
                return ( *mp->mp_info->mss_modify )( op, e );
@@ -101,7 +107,7 @@ monitor_entry_modify(
 
 int
 monitor_entry_test_flags(
-       struct monitorentrypriv *mp,
+       monitor_entry_t         *mp,
        int                     cond
 )
 {
@@ -110,19 +116,18 @@ monitor_entry_test_flags(
        return( ( mp->mp_flags & cond ) || ( mp->mp_info->mss_flags & cond ) );
 }
 
-struct monitorentrypriv *
+monitor_entry_t *
 monitor_entrypriv_create( void )
 {
-       struct monitorentrypriv *mp;
+       monitor_entry_t *mp;
 
-       mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
+       mp = ( monitor_entry_t * )ch_calloc( sizeof( monitor_entry_t ), 1 );
 
        mp->mp_next = NULL;
        mp->mp_children = NULL;
        mp->mp_info = NULL;
        mp->mp_flags = MONITOR_F_NONE;
-       mp->mp_update = NULL;
-       mp->mp_private = NULL;
+       mp->mp_cb = NULL;
 
        return mp;
 }
index dc542090e066ed7e16e767c92cd6d9c77ffc60d7..9155a9046393135c30e9bb13f497ddedec7e408a 100644 (file)
@@ -36,7 +36,7 @@
  */
 BackendDB *be_monitor = NULL;
 
-static struct monitorsubsys    **monitor_subsys = NULL;
+static struct monitor_subsys_t **monitor_subsys = NULL;
 static int                     monitor_subsys_opened = 0;
 
 /*
@@ -48,7 +48,7 @@ static int                    monitor_subsys_opened = 0;
  * before the database is opened (e.g. by other backends
  * or by overlays or modules).
  */
-static struct monitorsubsys known_monitor_subsys[] = {
+static struct monitor_subsys_t known_monitor_subsys[] = {
        { 
                SLAPD_MONITOR_BACKEND_NAME, 
                BER_BVNULL, BER_BVNULL, BER_BVNULL,
@@ -173,7 +173,7 @@ init_module( int argc, char *argv[] )
 #endif /* SLAPD_MONITOR */
 
 int
-monitor_back_register_subsys( monitorsubsys *ms )
+monitor_back_register_subsys( monitor_subsys_t *ms )
 {
        int     i = 0;
 
@@ -183,7 +183,7 @@ monitor_back_register_subsys( monitorsubsys *ms )
        }
 
        monitor_subsys = ch_realloc( monitor_subsys,
-                       ( 2 + i ) * sizeof( monitorsubsys * ) );
+                       ( 2 + i ) * sizeof( monitor_subsys_t * ) );
 
        if ( monitor_subsys == NULL ) {
                return -1;
@@ -211,7 +211,174 @@ monitor_back_register_subsys( monitorsubsys *ms )
        return 0;
 }
 
-monitorsubsys *
+typedef struct entry_limbo_t {
+       struct berval           el_ndn;
+       Entry                   *el_e;
+       monitor_callback_t      *el_cb;
+       void                    *el_private;
+       struct entry_limbo_t    *el_next;
+} entry_limbo_t;
+
+int
+monitor_back_register_entry(
+               Entry                   *e,
+               monitor_callback_t      *cb,
+               void                    *private )
+{
+       monitor_info_t  *mi = ( monitor_info_t * )be_monitor->be_private;
+
+       assert( mi != NULL );
+       assert( e != NULL );
+       assert( e->e_private == NULL );
+       
+       if ( monitor_subsys_opened ) {
+               Entry                   *e2 = NULL,
+                                       **ep = NULL;
+               struct berval           pdn = BER_BVNULL;
+               monitor_entry_t *mp = NULL,
+                                       *pmp = NULL;
+
+               if ( monitor_cache_get( mi, &e->e_nname, &e2 ) == 0 ) {
+                       /* entry exists */
+                       Debug( LDAP_DEBUG_ANY,
+                               "monitor_back_register_entry(\"%s\"): "
+                               "entry exists\n",
+                               e->e_name.bv_val, 0, 0 );
+                       monitor_cache_release( mi, e2 );
+                       return -1;
+               }
+
+               dnParent( &e->e_nname, &pdn );
+               if ( monitor_cache_get( mi, &pdn, &e2 ) != 0 ) {
+                       /* parent does not exist */
+                       Debug( LDAP_DEBUG_ANY,
+                               "monitor_back_register_entry(\"%s\"): "
+                               "parent \"%s\" not found\n",
+                               e->e_name.bv_val, pdn.bv_val, 0 );
+                       return -1;
+               }
+
+               assert( e2->e_private != NULL );
+               pmp = ( monitor_entry_t * )e2->e_private;
+
+               if ( pmp->mp_flags & MONITOR_F_VOLATILE ) {
+                       /* entry is volatile; cannot append children */
+                       Debug( LDAP_DEBUG_ANY,
+                               "monitor_back_register_entry(\"%s\"): "
+                               "parent \"%s\" is volatile\n",
+                               e->e_name.bv_val, e2->e_name.bv_val, 0 );
+                       monitor_cache_release( mi, e2 );
+                       return -1;
+               }
+
+               mp = monitor_entrypriv_create();
+               if ( mp == NULL ) {
+                       Debug( LDAP_DEBUG_ANY,
+                               "monitor_back_register_entry(\"%s\"): "
+                               "monitor_entrypriv_create failed\n",
+                               e->e_name.bv_val, 0, 0 );
+                       return -1;
+               }
+               e->e_private = ( void * )mp;
+               mp->mp_info = pmp->mp_info;
+               mp->mp_flags = pmp->mp_flags | MONITOR_F_SUB;
+
+               ep = &pmp->mp_children;
+               for ( ; *ep; ) {
+                       pmp = ( monitor_entry_t * )(*ep)->e_private;
+                       ep = &pmp->mp_next;
+               }
+               *ep = e;
+
+               if ( monitor_cache_add( mi, e ) ) {
+                       Debug( LDAP_DEBUG_ANY,
+                               "monitor_back_register_entry(\"%s\"): "
+                               "unable to add entry\n",
+                               e->e_name.bv_val, 0, 0 );
+                       ch_free( e->e_private );
+                       e->e_private = NULL;
+                       return( -1 );
+               }
+
+       } else {
+               entry_limbo_t           *el;
+
+               el = (entry_limbo_t *)ch_malloc( sizeof( entry_limbo_t ) );
+
+               BER_BVZERO( &el->el_ndn );
+               el->el_e = e;
+               el->el_cb = cb;
+               el->el_private = private;
+               el->el_next = (entry_limbo_t *)mi->mi_entry_limbo;
+       }
+
+       return 0;
+}
+
+int
+monitor_back_register_entry_callback(
+               struct berval           *ndn,
+               struct monitor_callback_t       *cb,
+               void                    *private )
+{
+       monitor_info_t  *mi = ( monitor_info_t * )be_monitor->be_private;
+
+       assert( mi != NULL );
+       assert( ndn != NULL );
+       assert( !BER_BVISNULL( ndn ) );
+       
+       if ( monitor_subsys_opened ) {
+               Entry                   *e = NULL;
+               monitor_entry_t *mp = NULL;
+               struct monitor_callback_t       **mcp = NULL;
+
+               if ( monitor_cache_get( mi, ndn, &e ) != 0 ) {
+                       /* entry does not exist */
+                       Debug( LDAP_DEBUG_ANY,
+                               "monitor_back_register_entry_callback(\"%s\"): "
+                               "entry does not exist\n",
+                               e->e_name.bv_val, 0, 0 );
+                       return -1;
+               }
+
+               assert( e->e_private != NULL );
+               mp = ( monitor_entry_t * )e->e_private;
+
+               if ( mp->mp_flags & MONITOR_F_VOLATILE ) {
+                       /* entry is volatile; cannot append callback */
+                       Debug( LDAP_DEBUG_ANY,
+                               "monitor_back_register_entry_callback(\"%s\"): "
+                               "entry is volatile\n",
+                               e->e_name.bv_val, 0, 0 );
+                       monitor_cache_release( mi, e );
+                       return -1;
+               }
+
+               for ( mcp = &mp->mp_cb; *mcp; mcp = &(*mcp)->mc_next )
+                       /* go to tail */ ;
+               
+               /* NOTE: we do not clear cb->mc_next, so this function
+                * can be used to append a list of callbacks */
+               (*mcp) = cb;
+
+               monitor_cache_release( mi, e );
+
+       } else {
+               entry_limbo_t           *el;
+
+               el = (entry_limbo_t *)ch_malloc( sizeof( entry_limbo_t ) );
+
+               ber_dupbv( &el->el_ndn, ndn );
+               el->el_e = NULL;
+               el->el_cb = cb;
+               el->el_private = private;
+               el->el_next = (entry_limbo_t *)mi->mi_entry_limbo;
+       }
+
+       return 0;
+}
+
+monitor_subsys_t *
 monitor_back_get_subsys( const char *name )
 {
        if ( monitor_subsys != NULL ) {
@@ -227,7 +394,7 @@ monitor_back_get_subsys( const char *name )
        return NULL;
 }
 
-monitorsubsys *
+monitor_subsys_t *
 monitor_back_get_subsys_by_dn( struct berval *ndn, int sub )
 {
        if ( monitor_subsys != NULL ) {
@@ -257,8 +424,8 @@ monitor_back_initialize(
        BackendInfo     *bi
 )
 {
-       monitorsubsys   *ms;
-       static char     *controls[] = {
+       monitor_subsys_t        *ms;
+       static char             *controls[] = {
                LDAP_CONTROL_MANAGEDSAIT,
                LDAP_CONTROL_VALUESRETURNFILTER,
                NULL
@@ -326,11 +493,11 @@ monitor_back_db_init(
        BackendDB       *be
 )
 {
-       struct monitorinfo      *mi;
-       int                     i, rc;
-       struct berval           dn, ndn;
-       struct berval           bv;
-       const char              *text;
+       monitor_info_t  *mi;
+       int             i, rc;
+       struct berval   dn, ndn;
+       struct berval   bv;
+       const char      *text;
 
        struct m_s {
                char    *name;
@@ -358,42 +525,42 @@ monitor_back_db_init(
                                "$ managedInfo "
                                "$ monitorOverlay "
                        ") )", SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
-                       offsetof(struct monitorinfo, mi_oc_monitor) },
+                       offsetof(monitor_info_t, mi_oc_monitor) },
                { "monitorServer", "( 1.3.6.1.4.1.4203.666.3.7 "
                        "NAME 'monitorServer' "
                        "DESC 'Server monitoring root entry' "
                        "SUP monitor STRUCTURAL )", SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
-                       offsetof(struct monitorinfo, mi_oc_monitorServer) },
+                       offsetof(monitor_info_t, mi_oc_monitorServer) },
                { "monitorContainer", "( 1.3.6.1.4.1.4203.666.3.8 "
                        "NAME 'monitorContainer' "
                        "DESC 'monitor container class' "
                        "SUP monitor STRUCTURAL )", SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
-                       offsetof(struct monitorinfo, mi_oc_monitorContainer) },
+                       offsetof(monitor_info_t, mi_oc_monitorContainer) },
                { "monitorCounterObject", "( 1.3.6.1.4.1.4203.666.3.9 "
                        "NAME 'monitorCounterObject' "
                        "DESC 'monitor counter class' "
                        "SUP monitor STRUCTURAL )", SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
-                       offsetof(struct monitorinfo, mi_oc_monitorCounterObject) },
+                       offsetof(monitor_info_t, mi_oc_monitorCounterObject) },
                { "monitorOperation", "( 1.3.6.1.4.1.4203.666.3.10 "
                        "NAME 'monitorOperation' "
                        "DESC 'monitor operation class' "
                        "SUP monitor STRUCTURAL )", SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
-                       offsetof(struct monitorinfo, mi_oc_monitorOperation) },
+                       offsetof(monitor_info_t, mi_oc_monitorOperation) },
                { "monitorConnection", "( 1.3.6.1.4.1.4203.666.3.11 "
                        "NAME 'monitorConnection' "
                        "DESC 'monitor connection class' "
                        "SUP monitor STRUCTURAL )", SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
-                       offsetof(struct monitorinfo, mi_oc_monitorConnection) },
+                       offsetof(monitor_info_t, mi_oc_monitorConnection) },
                { "managedObject", "( 1.3.6.1.4.1.4203.666.3.12 "
                        "NAME 'managedObject' "
                        "DESC 'monitor managed entity class' "
                        "SUP monitor STRUCTURAL )", SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
-                       offsetof(struct monitorinfo, mi_oc_managedObject) },
+                       offsetof(monitor_info_t, mi_oc_managedObject) },
                { "monitoredObject", "( 1.3.6.1.4.1.4203.666.3.13 "
                        "NAME 'monitoredObject' "
                        "DESC 'monitor monitored entity class' "
                        "SUP monitor STRUCTURAL )", SLAP_OC_OPERATIONAL|SLAP_OC_HIDE,
-                       offsetof(struct monitorinfo, mi_oc_monitoredObject) },
+                       offsetof(monitor_info_t, mi_oc_monitoredObject) },
                { NULL, NULL, 0, -1 }
        }, mat[] = {
                { "monitoredInfo", "( 1.3.6.1.4.1.4203.666.1.14 "
@@ -405,12 +572,12 @@ monitor_back_db_init(
                        "SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} "
                        "NO-USER-MODIFICATION "
                        "USAGE directoryOperation )", SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_monitoredInfo) },
+                       offsetof(monitor_info_t, mi_ad_monitoredInfo) },
                { "managedInfo", "( 1.3.6.1.4.1.4203.666.1.15 "
                        "NAME 'managedInfo' "
                        "DESC 'monitor managed info' "
                        "SUP name )", SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_managedInfo) },
+                       offsetof(monitor_info_t, mi_ad_managedInfo) },
                { "monitorCounter", "( 1.3.6.1.4.1.4203.666.1.16 "
                        "NAME 'monitorCounter' "
                        "DESC 'monitor counter' "
@@ -419,28 +586,28 @@ monitor_back_db_init(
                        "SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 "
                        "NO-USER-MODIFICATION "
                        "USAGE directoryOperation )", SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_monitorCounter) },
+                       offsetof(monitor_info_t, mi_ad_monitorCounter) },
                { "monitorOpCompleted", "( 1.3.6.1.4.1.4203.666.1.17 "
                        "NAME 'monitorOpCompleted' "
                        "DESC 'monitor completed operations' "
                        "SUP monitorCounter "
                        "NO-USER-MODIFICATION "
                        "USAGE directoryOperation )", SLAP_AT_FINAL|SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_monitorOpCompleted) },
+                       offsetof(monitor_info_t, mi_ad_monitorOpCompleted) },
                { "monitorOpInitiated", "( 1.3.6.1.4.1.4203.666.1.18 "
                        "NAME 'monitorOpInitiated' "
                        "DESC 'monitor initiated operations' "
                        "SUP monitorCounter "
                        "NO-USER-MODIFICATION "
                        "USAGE directoryOperation )", SLAP_AT_FINAL|SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_monitorOpInitiated) },
+                       offsetof(monitor_info_t, mi_ad_monitorOpInitiated) },
                { "monitorConnectionNumber", "( 1.3.6.1.4.1.4203.666.1.19 "
                        "NAME 'monitorConnectionNumber' "
                        "DESC 'monitor connection number' "
                        "SUP monitorCounter "
                        "NO-USER-MODIFICATION "
                        "USAGE directoryOperation )", SLAP_AT_FINAL|SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_monitorConnectionNumber) },
+                       offsetof(monitor_info_t, mi_ad_monitorConnectionNumber) },
                { "monitorConnectionAuthzDN", "( 1.3.6.1.4.1.4203.666.1.20 "
                        "NAME 'monitorConnectionAuthzDN' "
                        "DESC 'monitor connection authorization DN' "
@@ -449,21 +616,21 @@ monitor_back_db_init(
                        "SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 "
                        "NO-USER-MODIFICATION "
                        "USAGE directoryOperation )", SLAP_AT_FINAL|SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_monitorConnectionAuthzDN) },
+                       offsetof(monitor_info_t, mi_ad_monitorConnectionAuthzDN) },
                { "monitorConnectionLocalAddress", "( 1.3.6.1.4.1.4203.666.1.21 "
                        "NAME 'monitorConnectionLocalAddress' "
                        "DESC 'monitor connection local address' "
                        "SUP monitoredInfo "
                        "NO-USER-MODIFICATION "
                        "USAGE directoryOperation )", SLAP_AT_FINAL|SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_monitorConnectionLocalAddress) },
+                       offsetof(monitor_info_t, mi_ad_monitorConnectionLocalAddress) },
                { "monitorConnectionPeerAddress", "( 1.3.6.1.4.1.4203.666.1.22 "
                        "NAME 'monitorConnectionPeerAddress' "
                        "DESC 'monitor connection peer address' "
                        "SUP monitoredInfo "
                        "NO-USER-MODIFICATION "
                        "USAGE directoryOperation )", SLAP_AT_FINAL|SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_monitorConnectionPeerAddress) },
+                       offsetof(monitor_info_t, mi_ad_monitorConnectionPeerAddress) },
                { "monitorTimestamp", "( 1.3.6.1.4.1.4203.666.1.24 "
                        "NAME 'monitorTimestamp' "
                        "DESC 'monitor timestamp' "
@@ -473,14 +640,14 @@ monitor_back_db_init(
                        "SINGLE-VALUE "
                        "NO-USER-MODIFICATION "
                        "USAGE directoryOperation )", SLAP_AT_FINAL|SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_monitorTimestamp) },
+                       offsetof(monitor_info_t, mi_ad_monitorTimestamp) },
                { "monitorOverlay", "( 1.3.6.1.4.1.4203.666.1.27 "
                        "NAME 'monitorOverlay' "
                        "DESC 'name of overlays defined for a give database' "
                        "SUP monitoredInfo "
                        "NO-USER-MODIFICATION "
                        "USAGE directoryOperation )", SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_monitorOverlay) },
+                       offsetof(monitor_info_t, mi_ad_monitorOverlay) },
                { "readOnly", "( 1.3.6.1.4.1.4203.666.1.31 "
                        "NAME 'readOnly' "
                        "DESC 'read/write status of a given database' "
@@ -488,12 +655,12 @@ monitor_back_db_init(
                        "SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 "
                        "SINGLE-VALUE "
                        "USAGE directoryOperation )", SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_readOnly) },
+                       offsetof(monitor_info_t, mi_ad_readOnly) },
                { "restrictedOperation", "( 1.3.6.1.4.1.4203.666.1.32 "
                        "NAME 'restrictedOperation' "
                        "DESC 'name of restricted operation for a given database' "
                        "SUP managedInfo )", SLAP_AT_HIDE,
-                       offsetof(struct monitorinfo, mi_ad_restrictedOperation ) },
+                       offsetof(monitor_info_t, mi_ad_restrictedOperation ) },
 #ifdef INTEGRATE_CORE_SCHEMA
                { NULL, NULL, 0, -1 },  /* description */
                { NULL, NULL, 0, -1 },  /* seeAlso */
@@ -508,23 +675,23 @@ monitor_back_db_init(
                        "EQUALITY caseIgnoreMatch "
                        "SUBSTR caseIgnoreSubstringsMatch "
                        "SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )", 0,
-                       offsetof(struct monitorinfo, mi_ad_description) },
+                       offsetof(monitor_info_t, mi_ad_description) },
                { "seeAlso", "( 2.5.4.34 "
                        "NAME 'seeAlso' "
                        "DESC 'RFC2256: DN of related object' "
                        "SUP distinguishedName )", 0,
-                       offsetof(struct monitorinfo, mi_ad_seeAlso) },
+                       offsetof(monitor_info_t, mi_ad_seeAlso) },
                { "l", "( 2.5.4.7 "
                        "NAME ( 'l' 'localityName' ) "
                        "DESC 'RFC2256: locality which this object resides in' "
                        "SUP name )", 0,
-                       offsetof(struct monitorinfo, mi_ad_l) },
+                       offsetof(monitor_info_t, mi_ad_l) },
                { "labeledURI", "( 1.3.6.1.4.1.250.1.57 "
                        "NAME 'labeledURI' "
                        "DESC 'RFC2079: Uniform Resource Identifier with optional label' "
                        "EQUALITY caseExactMatch "
                        "SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )", 0,
-                       offsetof(struct monitorinfo, mi_ad_labeledURI) },
+                       offsetof(monitor_info_t, mi_ad_labeledURI) },
                { NULL, NULL, 0, -1 }
        };
        
@@ -556,14 +723,14 @@ monitor_back_db_init(
        ber_bvarray_add( &be->be_suffix, &bv );
        ber_bvarray_add( &be->be_nsuffix, &ndn );
 
-       mi = ( struct monitorinfo * )ch_calloc( sizeof( struct monitorinfo ), 1 );
+       mi = ( monitor_info_t * )ch_calloc( sizeof( monitor_info_t ), 1 );
        if ( mi == NULL ) {
                Debug( LDAP_DEBUG_ANY,
                        "unable to initialize monitor backend\n", 0, 0, 0 );
                return -1;
        }
 
-       memset( mi, 0, sizeof( struct monitorinfo ) );
+       memset( mi, 0, sizeof( monitor_info_t ) );
 
        ldap_pvt_thread_mutex_init( &mi->mi_cache_mutex );
 
@@ -697,10 +864,10 @@ monitor_back_db_open(
        BackendDB       *be
 )
 {
-       struct monitorinfo      *mi = (struct monitorinfo *)be->be_private;
-       struct monitorsubsys    **ms;
+       monitor_info_t          *mi = (monitor_info_t *)be->be_private;
+       struct monitor_subsys_t **ms;
        Entry                   *e, **ep;
-       struct monitorentrypriv *mp;
+       monitor_entry_t         *mp;
        int                     i;
        char                    buf[ BACKMONITOR_BUFSIZE ],
                                *end_of_line;
@@ -922,6 +1089,28 @@ monitor_back_db_open(
 
        monitor_subsys_opened = 1;
 
+       if ( mi->mi_entry_limbo ) {
+               entry_limbo_t   *el = (entry_limbo_t *)mi->mi_entry_limbo;
+
+               for ( ; el; ) {
+                       entry_limbo_t   *tmp;
+
+                       if ( el->el_e ) {
+                               monitor_back_register_entry( el->el_e, el->el_cb, el->el_private );
+
+                       } else if ( !BER_BVISNULL( &el->el_ndn ) ) {
+                               monitor_back_register_entry_callback( &el->el_ndn, el->el_cb, el->el_private );
+                               ber_memfree( el->el_ndn.bv_val );
+                       }
+
+                       tmp = el;
+                       el = el->el_next;
+                       ch_free( tmp );
+               }
+
+               mi->mi_entry_limbo = NULL;
+       }
+
        return( 0 );
 }
 
@@ -949,7 +1138,7 @@ monitor_back_db_config(
        char        **argv
 )
 {
-       struct monitorinfo *mi = (struct monitorinfo *)be->be_private;
+       monitor_info_t  *mi = ( monitor_info_t * )be->be_private;
 
        /*
         * eventually, will hold database specific configuration parameters
index 0462626320e11e23f068dcf2bff6f9327917cd30..4fe5b7790c2b36b4cf2b61e49a513ab01541fe8b 100644 (file)
 
 int
 monitor_subsys_listener_init(
-       BackendDB       *be,
-       monitorsubsys   *ms
+       BackendDB               *be,
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
-       Entry                   *e_listener, **ep;
-       int                     i;
-       struct monitorentrypriv *mp;
-       Listener                **l;
+       monitor_info_t  *mi;
+       Entry           *e_listener, **ep;
+       int             i;
+       monitor_entry_t *mp;
+       Listener        **l;
 
        assert( be != NULL );
 
@@ -51,12 +51,9 @@ monitor_subsys_listener_init(
                return( -1 );
        }
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
-       if ( monitor_cache_get( mi, 
-                               &ms->mss_ndn, 
-                               &e_listener ) )
-       {
+       if ( monitor_cache_get( mi, &ms->mss_ndn, &e_listener ) ) {
                Debug( LDAP_DEBUG_ANY,
                        "monitor_subsys_listener_init: "
                        "unable to get entry \"%s\"\n",
@@ -64,7 +61,7 @@ monitor_subsys_listener_init(
                return( -1 );
        }
 
-       mp = ( struct monitorentrypriv * )e_listener->e_private;
+       mp = ( monitor_entry_t * )e_listener->e_private;
        mp->mp_children = NULL;
        ep = &mp->mp_children;
 
index 23cf7faf162d404c0d0fa66b073c4ebb8b131315..4d3df1b06163c1c076303da6d275e0a4f27bb87d 100644 (file)
@@ -70,14 +70,14 @@ static int replace_values( Entry *e, Modification *mod, int *newlevel );
  */
 int
 monitor_subsys_log_init(
-       BackendDB       *be,
-       monitorsubsys   *ms
+       BackendDB               *be,
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
-       Entry                   *e;
-       int                     i;
-       struct berval           desc[] = {
+       monitor_info_t  *mi;
+       Entry           *e;
+       int             i;
+       struct berval   desc[] = {
                BER_BVC("This entry allows to set the log level runtime."),
                BER_BVC("Set the attribute 'managedInfo' to the desired log levels."),
                BER_BVNULL
@@ -85,7 +85,7 @@ monitor_subsys_log_init(
 
        ldap_pvt_thread_mutex_init( &monitor_log_mutex );
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
        if ( monitor_cache_get( mi, &ms->mss_ndn, 
                                &e ) ) {
@@ -132,7 +132,7 @@ monitor_subsys_log_modify(
        Entry                   *e
 )
 {
-       struct monitorinfo *mi = (struct monitorinfo *)op->o_bd->be_private;
+       monitor_info_t  *mi = ( monitor_info_t * )op->o_bd->be_private;
        int             rc = LDAP_OTHER;
        int             newlevel = ldap_syslog;
        Attribute       *save_attrs;
index 026d2e55ae103d2a9755c6ec77c29e39bd1795b6..87619844400ba9e6950adc135a97dc20d5960017 100644 (file)
@@ -41,11 +41,10 @@ monitor_back_modify( Operation *op, SlapReply *rs )
        Modifications   *modlist
        */
 {
-       int                     rc = 0;
-       struct monitorinfo      *mi
-               = (struct monitorinfo *) op->o_bd->be_private;
-       Entry                   *matched;
-       Entry                   *e;
+       int             rc = 0;
+       monitor_info_t  *mi = ( monitor_info_t * )op->o_bd->be_private;
+       Entry           *matched;
+       Entry           *e;
 
        Debug(LDAP_DEBUG_ARGS, "monitor_back_modify:\n", 0, 0, 0);
 
index 87cdfc6814944697b9375075d5a16b27aff852b4..570fddf49a8f170000c610a7cc121be0a0a53298 100644 (file)
@@ -48,20 +48,20 @@ struct monitor_ops_t {
 int
 monitor_subsys_ops_init(
        BackendDB               *be,
-       monitorsubsys           *ms
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
+       monitor_info_t  *mi;
        
-       Entry                   *e_op, **ep;
-       struct monitorentrypriv *mp;
-       char                    buf[ BACKMONITOR_BUFSIZE ];
-       int                     i;
-       struct berval           bv_zero = BER_BVC("0");
+       Entry           *e_op, **ep;
+       monitor_entry_t *mp;
+       char            buf[ BACKMONITOR_BUFSIZE ];
+       int             i;
+       struct berval   bv_zero = BER_BVC( "0" );
 
        assert( be != NULL );
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
        if ( monitor_cache_get( mi,
                        &ms->mss_ndn, &e_op ) )
@@ -77,7 +77,7 @@ monitor_subsys_ops_init(
        attr_merge_one( e_op, mi->mi_ad_monitorOpInitiated, &bv_zero, NULL );
        attr_merge_one( e_op, mi->mi_ad_monitorOpCompleted, &bv_zero, NULL );
 
-       mp = ( struct monitorentrypriv * )e_op->e_private;
+       mp = ( monitor_entry_t * )e_op->e_private;
        mp->mp_children = NULL;
        ep = &mp->mp_children;
 
@@ -158,8 +158,7 @@ monitor_subsys_ops_update(
        Entry                   *e
 )
 {
-       struct monitorinfo      *mi = 
-               (struct monitorinfo *)op->o_bd->be_private;
+       monitor_info_t          *mi = ( monitor_info_t * )op->o_bd->be_private;
 
        ldap_pvt_mp_t           nInitiated,
                                nCompleted;
index 6c78297a85e0a864d01408de4d9e7b7835fe3ddb..f63cc9e8308a64a4f23eeeda9cecd9487a496f39 100644 (file)
@@ -50,9 +50,9 @@ monitor_back_operational(
                        ad_inlist( slap_schema.si_ad_hasSubordinates, rs->sr_attrs ) )
        {
                int                     hs;
-               struct monitorentrypriv *mp;
+               monitor_entry_t *mp;
 
-               mp = ( struct monitorentrypriv * )rs->sr_entry->e_private;
+               mp = ( monitor_entry_t * )rs->sr_entry->e_private;
 
                assert( mp );
 
index 53980bfd5770924d29d22597a8d53ae56588625d..32bc0d98315c017efda367cfd1521d240a7995d5 100644 (file)
  */
 int
 monitor_subsys_overlay_init(
-       BackendDB       *be,
-       monitorsubsys   *ms
+       BackendDB               *be,
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
+       monitor_info_t          *mi;
        Entry                   *e_overlay, **ep;
        int                     i;
-       struct monitorentrypriv *mp;
+       monitor_entry_t         *mp;
        slap_overinst           *on;
-       monitorsubsys           *ms_database;
+       monitor_subsys_t        *ms_database;
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
        ms_database = monitor_back_get_subsys( SLAPD_MONITOR_DATABASE_NAME );
        if ( ms_database == NULL ) {
@@ -56,10 +56,7 @@ monitor_subsys_overlay_init(
                return -1;
        }
 
-       if ( monitor_cache_get( mi, 
-                               &ms->mss_ndn, 
-                               &e_overlay ) )
-       {
+       if ( monitor_cache_get( mi, &ms->mss_ndn, &e_overlay ) ) {
                Debug( LDAP_DEBUG_ANY,
                        "monitor_subsys_overlay_init: "
                        "unable to get entry \"%s\"\n",
@@ -67,7 +64,7 @@ monitor_subsys_overlay_init(
                return( -1 );
        }
 
-       mp = ( struct monitorentrypriv * )e_overlay->e_private;
+       mp = ( monitor_entry_t * )e_overlay->e_private;
        mp->mp_children = NULL;
        ep = &mp->mp_children;
 
index ee8d7d7c00b1a6aef2adf0503ea91fbebce7a590..dcc0b9e8266c79400e8b375071c868a984ece9cb 100644 (file)
@@ -30,23 +30,23 @@ LDAP_BEGIN_DECL
 /*
  * backends
  */
-int monitor_subsys_backend_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_backend_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 
 /*
  * cache
  */
 extern int monitor_cache_cmp LDAP_P(( const void *c1, const void *c2 ));
 extern int monitor_cache_dup LDAP_P(( void *c1, void *c2 ));
-extern int monitor_cache_add LDAP_P(( struct monitorinfo *mi, Entry *e ));
-extern int monitor_cache_get LDAP_P(( struct monitorinfo *mi, struct berval *ndn, Entry **ep ));
+extern int monitor_cache_add LDAP_P(( monitor_info_t *mi, Entry *e ));
+extern int monitor_cache_get LDAP_P(( monitor_info_t *mi, struct berval *ndn, Entry **ep ));
 extern int monitor_cache_dn2entry LDAP_P(( Operation *op, struct berval *ndn, Entry **ep, Entry **matched ));
 extern int monitor_cache_lock LDAP_P(( Entry *e ));
-extern int monitor_cache_release LDAP_P(( struct monitorinfo *mi, Entry *e ));
+extern int monitor_cache_release LDAP_P(( monitor_info_t *mi, Entry *e ));
 
 /*
  * connections
  */
-int monitor_subsys_conn_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_conn_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 int monitor_subsys_conn_update LDAP_P(( Operation *op, Entry *e ));
 int monitor_subsys_conn_create LDAP_P(( Operation *op, struct berval *ndn,
                        Entry *e_parent, Entry **ep ));
@@ -54,7 +54,7 @@ int monitor_subsys_conn_create LDAP_P(( Operation *op, struct berval *ndn,
 /*
  * databases 
  */
-int monitor_subsys_database_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_database_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 int monitor_subsys_database_modify LDAP_P(( Operation *op, Entry *e ));
 
 /*
@@ -64,60 +64,60 @@ extern int monitor_entry_update LDAP_P(( Operation *op, Entry *e ));
 extern int monitor_entry_create LDAP_P(( Operation *op, struct berval *ndn,
                Entry *e_parent, Entry **ep ));
 extern int monitor_entry_modify LDAP_P(( Operation *op, Entry *e ));
-int monitor_entry_test_flags LDAP_P(( struct monitorentrypriv *mp, int cond ));
-extern struct monitorentrypriv * monitor_entrypriv_create LDAP_P(( void ));
+int monitor_entry_test_flags LDAP_P(( monitor_entry_t *mp, int cond ));
+extern monitor_entry_t * monitor_entrypriv_create LDAP_P(( void ));
 
 /*
  * init
  */
-extern int monitor_back_register_subsys LDAP_P(( monitorsubsys *ms ));
-extern monitorsubsys * monitor_back_get_subsys LDAP_P(( const char *name ));
-extern monitorsubsys * monitor_back_get_subsys_by_dn LDAP_P(( struct berval *ndn, int sub ));
+extern int monitor_back_register_subsys LDAP_P(( monitor_subsys_t *ms ));
+extern monitor_subsys_t * monitor_back_get_subsys LDAP_P(( const char *name ));
+extern monitor_subsys_t * monitor_back_get_subsys_by_dn LDAP_P(( struct berval *ndn, int sub ));
 
 /*
  * listener
  */
-int monitor_subsys_listener_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_listener_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 
 /*
  * log
  */
-int monitor_subsys_log_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_log_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 int monitor_subsys_log_modify LDAP_P(( Operation *op, Entry *e ));
 
 /*
  * operations
  */
-int monitor_subsys_ops_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_ops_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 int monitor_subsys_ops_update LDAP_P(( Operation *op, Entry *e ));
 
 /*
  * overlay
  */
-int monitor_subsys_overlay_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_overlay_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 
 /*
  * sent
  */
-int monitor_subsys_sent_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_sent_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 int monitor_subsys_sent_update LDAP_P(( Operation *op, Entry *e ));
 
 /*
  * threads
  */
-int monitor_subsys_thread_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_thread_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 int monitor_subsys_thread_update LDAP_P(( Operation *op, Entry *e ));
 
 /*
  * time
  */
-int monitor_subsys_time_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_time_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 int monitor_subsys_time_update LDAP_P(( Operation *op, Entry *e ));
 
 /*
  * waiters
  */
-int monitor_subsys_rww_init LDAP_P(( BackendDB *be, monitorsubsys *ms ));
+int monitor_subsys_rww_init LDAP_P(( BackendDB *be, monitor_subsys_t *ms ));
 int monitor_subsys_rww_update LDAP_P(( Operation *op, Entry *e ));
 
 /* NOTE: this macro assumes that bv has been allocated
index d4cffb8b5b0c468b5a732a8c554e7661725f7f78..c2cfc94bd640358e6a0139746c00d3e68048daea 100644 (file)
@@ -47,21 +47,20 @@ struct monitor_rww_t {
 int
 monitor_subsys_rww_init(
        BackendDB               *be,
-       monitorsubsys           *ms
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
+       monitor_info_t  *mi;
        
-       Entry                   **ep, *e_conn;
-       struct monitorentrypriv *mp;
+       Entry           **ep, *e_conn;
+       monitor_entry_t *mp;
        int                     i;
 
        assert( be != NULL );
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
-       if ( monitor_cache_get( mi,
-                       &ms->mss_ndn, &e_conn ) ) {
+       if ( monitor_cache_get( mi, &ms->mss_ndn, &e_conn ) ) {
                Debug( LDAP_DEBUG_ANY,
                        "monitor_subsys_rww_init: "
                        "unable to get entry \"%s\"\n",
@@ -69,7 +68,7 @@ monitor_subsys_rww_init(
                return( -1 );
        }
 
-       mp = ( struct monitorentrypriv * )e_conn->e_private;
+       mp = ( monitor_entry_t * )e_conn->e_private;
        mp->mp_children = NULL;
        ep = &mp->mp_children;
 
@@ -146,18 +145,18 @@ monitor_subsys_rww_update(
        Entry                   *e
 )
 {
-       struct monitorinfo *mi = (struct monitorinfo *)op->o_bd->be_private;
-       Connection              *c;
-       int                     connindex;
-       long                    nconns, nwritewaiters, nreadwaiters;
+       monitor_info_t *mi = (monitor_info_t *)op->o_bd->be_private;
+       Connection      *c;
+       int             connindex;
+       long            nconns, nwritewaiters, nreadwaiters;
 
-       int                     i;
-       struct berval           nrdn;
+       int             i;
+       struct berval   nrdn;
 
-       Attribute               *a;
-       char                    buf[] = "+9223372036854775807L";
-       long                    num = 0;
-       ber_len_t               len;
+       Attribute       *a;
+       char            buf[] = "+9223372036854775807L";
+       long            num = 0;
+       ber_len_t       len;
 
        assert( mi != NULL );
        assert( e != NULL );
index fd10c4b182912a0a2ca05a3084eaa9b9fe22e89e..15fd74db6695f27eeb4d1c225eb627f98c14b60e 100644 (file)
@@ -38,13 +38,12 @@ monitor_send_children(
        int             sub
 )
 {
-       struct monitorinfo      *mi =
-               (struct monitorinfo *) op->o_bd->be_private;
+       monitor_info_t  *mi = ( monitor_info_t * )op->o_bd->be_private;
        Entry                   *e, *e_tmp, *e_ch;
-       struct monitorentrypriv *mp;
+       monitor_entry_t *mp;
        int                     rc;
 
-       mp = ( struct monitorentrypriv * )e_parent->e_private;
+       mp = ( monitor_entry_t * )e_parent->e_private;
        e = mp->mp_children;
 
        e_ch = NULL;
@@ -71,7 +70,7 @@ monitor_send_children(
                } else {
                        e_tmp = e_ch;
                        do {
-                               mp = ( struct monitorentrypriv * )e_tmp->e_private;
+                               mp = ( monitor_entry_t * )e_tmp->e_private;
                                e_tmp = mp->mp_next;
        
                                if ( e_tmp == NULL ) {
@@ -85,7 +84,7 @@ monitor_send_children(
 
        /* return entries */
        for ( ; e != NULL; ) {
-               mp = ( struct monitorentrypriv * )e->e_private;
+               mp = ( monitor_entry_t * )e->e_private;
 
                monitor_entry_update( op, e );
                
@@ -119,8 +118,7 @@ monitor_send_children(
 int
 monitor_back_search( Operation *op, SlapReply *rs )
 {
-       struct monitorinfo      *mi
-               = (struct monitorinfo *) op->o_bd->be_private;
+       monitor_info_t  *mi = ( monitor_info_t * )op->o_bd->be_private;
        int             rc = LDAP_SUCCESS;
        Entry           *e, *matched = NULL;
 
index dfcffc8e0f3a877261e727300df34424e5fe4c36..3d8b9a0ded54294819549eb1531f6e22eda67f2a 100644 (file)
@@ -50,18 +50,18 @@ struct monitor_sent_t {
 int
 monitor_subsys_sent_init(
        BackendDB               *be,
-       monitorsubsys           *ms
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
+       monitor_info_t  *mi;
        
-       Entry                   **ep, *e_sent;
-       struct monitorentrypriv *mp;
+       Entry           **ep, *e_sent;
+       monitor_entry_t *mp;
        int                     i;
 
        assert( be != NULL );
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
        if ( monitor_cache_get( mi, &ms->mss_ndn, &e_sent ) ) {
                Debug( LDAP_DEBUG_ANY,
@@ -71,7 +71,7 @@ monitor_subsys_sent_init(
                return( -1 );
        }
 
-       mp = ( struct monitorentrypriv * )e_sent->e_private;
+       mp = ( monitor_entry_t * )e_sent->e_private;
        mp->mp_children = NULL;
        ep = &mp->mp_children;
 
@@ -149,8 +149,7 @@ monitor_subsys_sent_update(
        Entry                   *e
 )
 {
-       struct monitorinfo      *mi = 
-               (struct monitorinfo *)op->o_bd->be_private;
+       monitor_info_t  *mi = ( monitor_info_t *)op->o_bd->be_private;
        
        struct berval           nrdn;
        ldap_pvt_mp_t           n;
index de7819dd415fe78672c75e7e5a9732a85257b2d9..4e588aefe8dd240d91e18f0c64a411a0568cf45e 100644 (file)
 *   */
 int
 monitor_subsys_thread_init(
-       BackendDB       *be,
-       monitorsubsys   *ms
+       BackendDB               *be,
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
-       struct monitorentrypriv *mp;
-       Entry                   *e, **ep, *e_thread;
-       static char             buf[ BACKMONITOR_BUFSIZE ];
+       monitor_info_t  *mi;
+       monitor_entry_t *mp;
+       Entry           *e, **ep, *e_thread;
+       static char     buf[ BACKMONITOR_BUFSIZE ];
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
        if ( monitor_cache_get( mi, &ms->mss_ndn, &e_thread ) ) {
                Debug( LDAP_DEBUG_ANY,
@@ -51,7 +51,7 @@ monitor_subsys_thread_init(
                return( -1 );
        }
 
-       mp = ( struct monitorentrypriv * )e_thread->e_private;
+       mp = ( monitor_entry_t * )e_thread->e_private;
        mp->mp_children = NULL;
        ep = &mp->mp_children;
 
@@ -169,8 +169,7 @@ monitor_subsys_thread_update(
        Entry                   *e
 )
 {
-       struct monitorinfo      *mi =
-               (struct monitorinfo *)op->o_bd->be_private;
+       monitor_info_t  *mi = ( monitor_info_t * )op->o_bd->be_private;
        Attribute               *a;
        char                    buf[ BACKMONITOR_BUFSIZE ];
        static struct berval    backload_bv = BER_BVC( "cn=backload" );
index dd8e90dd5f384b4064664bd39ca469d9192a4ebf..c7820d311ce5ba8c1ba5cfd17f434577d87f33e1 100644 (file)
 int
 monitor_subsys_time_init(
        BackendDB               *be,
-       monitorsubsys           *ms
+       monitor_subsys_t        *ms
 )
 {
-       struct monitorinfo      *mi;
+       monitor_info_t  *mi;
        
-       Entry                   *e, **ep, *e_time;
-       struct monitorentrypriv *mp;
-       char                    buf[ BACKMONITOR_BUFSIZE ];
+       Entry           *e, **ep, *e_time;
+       monitor_entry_t *mp;
+       char            buf[ BACKMONITOR_BUFSIZE ];
 
        assert( be != NULL );
 
-       mi = ( struct monitorinfo * )be->be_private;
+       mi = ( monitor_info_t * )be->be_private;
 
        if ( monitor_cache_get( mi,
                        &ms->mss_ndn, &e_time ) ) {
@@ -56,7 +56,7 @@ monitor_subsys_time_init(
                return( -1 );
        }
 
-       mp = ( struct monitorentrypriv * )e_time->e_private;
+       mp = ( monitor_entry_t * )e_time->e_private;
        mp->mp_children = NULL;
        ep = &mp->mp_children;
 
@@ -172,9 +172,7 @@ monitor_subsys_time_update(
        Entry                   *e
 )
 {
-       struct monitorinfo      *mi =
-               (struct monitorinfo *)op->o_bd->be_private;
-
+       monitor_info_t          *mi = ( monitor_info_t * )op->o_bd->be_private;
        static struct berval    bv_current = BER_BVC( "cn=current" );
        struct berval           rdn;