summaryrefslogtreecommitdiff
path: root/lib/thread.h
diff options
context:
space:
mode:
authorpaul <paul>2005-05-06 21:25:49 +0000
committerpaul <paul>2005-05-06 21:25:49 +0000
commit8cc4198f9fabe5f10f5a773de1503d82f33a01fb (patch)
tree77045da709ff66629bd12029b9ee17700360909b /lib/thread.h
parente7fe8c88c3d552400e1ae3ae9243319ab95d6f2d (diff)
2005-05-06 Paul Jakma <paul@dishone.st>
* (general) extern and static'ification of functions in code and header. Cleanup any definitions with unspecified arguments. Add casts for callback assignments where the callback is defined, typically, as passing void *, but the function being assigned has some other pointer type defined as its argument, as gcc complains about casts from void * to X* via function arguments. Fix some old K&R style function argument definitions. Add noreturn gcc attribute to some functions, as appropriate. Add unused gcc attribute to some functions (eg ones meant to help while debugging) Add guard defines to headers which were missing them. * command.c: (install_node) add const qualifier, still doesnt shut up the warning though, because of the double pointer. (cmp_node) ditto * keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived fromn vty.h ones to fix some of the (long) < 0 warnings. * thread.c: (various) use thread_empty (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type * vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they removed from ospfd/ospf_vty.h * zebra.h: Move definition of ZEBRA_PORT to here, to remove dependence of lib on zebra/zserv.h
Diffstat (limited to 'lib/thread.h')
-rw-r--r--lib/thread.h52
1 files changed, 29 insertions, 23 deletions
diff --git a/lib/thread.h b/lib/thread.h
index 0d84cfc5..4a3bbbe5 100644
--- a/lib/thread.h
+++ b/lib/thread.h
@@ -158,32 +158,38 @@ struct cpu_thread_history
#define thread_add_background(m,f,a,v) funcname_thread_add_background(m,f,a,v,#f)
/* Prototypes. */
-struct thread_master *thread_master_create ();
-struct thread *funcname_thread_add_read (struct thread_master *,
- int (*)(struct thread *), void *, int, const char*);
-struct thread *funcname_thread_add_write (struct thread_master *,
- int (*)(struct thread *), void *, int, const char*);
-struct thread *funcname_thread_add_timer (struct thread_master *,
- int (*)(struct thread *), void *, long, const char*);
-struct thread *funcname_thread_add_timer_msec (struct thread_master *,
- int (*)(struct thread *), void *, long, const char*);
-struct thread *funcname_thread_add_event (struct thread_master *,
- int (*)(struct thread *), void *, int, const char*);
-struct thread *funcname_thread_add_background (struct thread_master *,
- int (*func)(struct thread *),
+extern struct thread_master *thread_master_create (void);
+extern void thread_master_free (struct thread_master *);
+
+extern struct thread *funcname_thread_add_read (struct thread_master *,
+ int (*)(struct thread *),
+ void *, int, const char*);
+extern struct thread *funcname_thread_add_write (struct thread_master *,
+ int (*)(struct thread *),
+ void *, int, const char*);
+extern struct thread *funcname_thread_add_timer (struct thread_master *,
+ int (*)(struct thread *),
+ void *, long, const char*);
+extern struct thread *funcname_thread_add_timer_msec (struct thread_master *,
+ int (*)(struct thread *),
+ void *, long, const char*);
+extern struct thread *funcname_thread_add_event (struct thread_master *,
+ int (*)(struct thread *),
+ void *, int, const char*);
+extern struct thread *funcname_thread_add_background (struct thread_master *,
+ int (*func)(struct thread *),
void *arg,
long milliseconds_to_delay,
const char *funcname);
-
-void thread_cancel (struct thread *);
-void thread_cancel_event (struct thread_master *, void *);
-
-struct thread *thread_fetch (struct thread_master *, struct thread *);
-struct thread *funcname_thread_execute (struct thread_master *,
- int (*)(struct thread *), void *, int, const char *);
-void thread_call (struct thread *);
-unsigned long thread_timer_remain_second (struct thread *);
-int thread_should_yield (struct thread *);
+extern struct thread *funcname_thread_execute (struct thread_master *,
+ int (*)(struct thread *),
+ void *, int, const char *);
+extern void thread_cancel (struct thread *);
+extern void thread_cancel_event (struct thread_master *, void *);
+extern struct thread *thread_fetch (struct thread_master *, struct thread *);
+extern void thread_call (struct thread *);
+extern unsigned long thread_timer_remain_second (struct thread *);
+extern int thread_should_yield (struct thread *);
extern struct cmd_element show_thread_cpu_cmd;