53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _DDEKIT_TIMER_H
 | |
| #define _DDEKIT_TIMER_H
 | |
| 
 | |
| #include <ddekit/ddekit.h>
 | |
| #include <ddekit/thread.h>
 | |
| 
 | |
| /** \defgroup DDEKit_timer 
 | |
|  *
 | |
|  * Timer subsystem
 | |
|  *
 | |
|  * DDEKit provides a generic timer implementation that enables users
 | |
|  * to execute a function with some arguments after a certain period
 | |
|  * of time. DDEKit therefore starts a timer thread that executes these
 | |
|  * functions and keeps track of the currently running timers.
 | |
|  */
 | |
| 
 | |
| /** Add a timer event. After the absolute timeout has expired, function fn
 | |
|  * is called with args as arguments.
 | |
|  *
 | |
|  *  \ingroup DDEKit_timer
 | |
|  *
 | |
|  *	\return		>=0	valid timer ID 
 | |
|  *  \return		< 0	error
 | |
|  */
 | |
| int ddekit_add_timer(void (*fn)(void *), void *args, unsigned long
 | |
| 	timeout);
 | |
| 
 | |
| /** Delete timer with the corresponding timer id.
 | |
|  *
 | |
|  *  \ingroup DDEKit_timer
 | |
|  */
 | |
| int ddekit_del_timer(int timer);
 | |
| 
 | |
| /** Check whether a timer is pending 
 | |
|  *
 | |
|  *  \ingroup DDEKit_timer
 | |
|  *
 | |
|  * Linux needs this.
 | |
|  */
 | |
| int ddekit_timer_pending(int timer);
 | |
| 
 | |
| /** Initialization function, startup timer thread
 | |
|  *
 | |
|  *  \ingroup DDEKit_timer
 | |
|  */
 | |
| void ddekit_init_timers(void);
 | |
| 
 | |
| /** Get the timer thread.
 | |
|  */
 | |
| ddekit_thread_t *ddekit_get_timer_thread(void);
 | |
| 
 | |
| #endif
 | 
