]> git.sur5r.net Git - openldap/blobdiff - include/ldap_rq.h
ITS#4943:
[openldap] / include / ldap_rq.h
index 3344f902e1e9c83af972e26abda001490983098a..3f0cb1fe587e226954b436648b0731fd564d873e 100644 (file)
@@ -1,13 +1,34 @@
 /* $OpenLDAP$ */
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2007 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
 
-#ifdef LDAP_SYNCREPL
+#ifndef LDAP_RQ_H
+#define LDAP_RQ_H 1
+
+#include <ldap_cdefs.h>
+
+LDAP_BEGIN_DECL
 
 typedef struct re_s {
        struct timeval next_sched;
        struct timeval interval;
        LDAP_STAILQ_ENTRY(re_s) tnext; /* it includes running */
        LDAP_STAILQ_ENTRY(re_s) rnext;
-       void *private;
+       ldap_pvt_thread_start_t *routine;
+       void *arg;
+       char *tname;
+       char *tspec;
 } re_t;
 
 typedef struct runqueue_s {
@@ -16,11 +37,21 @@ typedef struct runqueue_s {
        ldap_pvt_thread_mutex_t rq_mutex;
 } runqueue_t;
 
-LDAP_F( void )
+LDAP_F( struct re_s* )
 ldap_pvt_runqueue_insert(
        struct runqueue_s* rq,
        time_t interval,
-       void *private
+       ldap_pvt_thread_start_t* routine,
+       void *arg,
+       char *tname,
+       char *tspec
+);
+
+LDAP_F( struct re_s* )
+ldap_pvt_runqueue_find(
+       struct runqueue_s* rq,
+       ldap_pvt_thread_start_t* routine,
+       void *arg
 );
 
 LDAP_F( void )
@@ -32,7 +63,7 @@ ldap_pvt_runqueue_remove(
 LDAP_F( struct re_s* )
 ldap_pvt_runqueue_next_sched(
        struct runqueue_s* rq,
-       struct timeval** next_run
+       struct timeval* next_run
 );
 
 LDAP_F( void )
@@ -56,7 +87,15 @@ ldap_pvt_runqueue_isrunning(
 LDAP_F( void )
 ldap_pvt_runqueue_resched(
        struct runqueue_s* rq,
-       struct re_s* entry
+       struct re_s* entry,
+       int defer
+);
+
+LDAP_F( int )
+ldap_pvt_runqueue_persistent_backload(
+       struct runqueue_s* rq
 );
 
+LDAP_END_DECL
+
 #endif