Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / ddekit / timer.h @ 14

History | View | Annotate | Download (1.14 KB)

1 13 up20180614
#ifndef _DDEKIT_TIMER_H
2
#define _DDEKIT_TIMER_H
3
4
#include <ddekit/ddekit.h>
5
#include <ddekit/thread.h>
6
7
/** \defgroup DDEKit_timer
8
 *
9
 * Timer subsystem
10
 *
11
 * DDEKit provides a generic timer implementation that enables users
12
 * to execute a function with some arguments after a certain period
13
 * of time. DDEKit therefore starts a timer thread that executes these
14
 * functions and keeps track of the currently running timers.
15
 */
16
17
/** Add a timer event. After the absolute timeout has expired, function fn
18
 * is called with args as arguments.
19
 *
20
 *  \ingroup DDEKit_timer
21
 *
22
 *        \return                >=0        valid timer ID
23
 *  \return                < 0        error
24
 */
25
int ddekit_add_timer(void (*fn)(void *), void *args, unsigned long
26
        timeout);
27
28
/** Delete timer with the corresponding timer id.
29
 *
30
 *  \ingroup DDEKit_timer
31
 */
32
int ddekit_del_timer(int timer);
33
34
/** Check whether a timer is pending
35
 *
36
 *  \ingroup DDEKit_timer
37
 *
38
 * Linux needs this.
39
 */
40
int ddekit_timer_pending(int timer);
41
42
/** Initialization function, startup timer thread
43
 *
44
 *  \ingroup DDEKit_timer
45
 */
46
void ddekit_init_timers(void);
47
48
/** Get the timer thread.
49
 */
50
ddekit_thread_t *ddekit_get_timer_thread(void);
51
52
#endif