-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathk_timer.h
More file actions
37 lines (26 loc) · 778 Bytes
/
k_timer.h
File metadata and controls
37 lines (26 loc) · 778 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef _K_TIMER_H_
#define _K_TIMER_H_
#include <stddef.h>
#define MAX_TIMERS (0x256)
typedef enum {
TIMER_ALLOC = 0x01,
TIMER_USING = 0x02
} timer_flags_t;
typedef struct timer_struct {
unsigned long int timeout;
unsigned int data;
unsigned int flags;
void (*pf)(struct timer_struct *timer);
struct timer_struct *next;
} timer_t;
typedef struct {
volatile unsigned long int tick;
timer_t *next;
timer_t timers[MAX_TIMERS];
} timer_control_t;
extern timer_control_t g_timer_control;
timer_t * k_timer_alloc();
void k_timer_free(timer_t * timer);
void k_init_timer(timer_t *timer, void (*p)(timer_t *), size_t data);
void k_set_timer_time (timer_t *timer, unsigned long int timeout);
#endif