blob: c24611ae014e890f9f617bb6c5442a2e8889ab8c (
plain)
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
|
#ifndef TIMER_H
#define TIMER_H
#include <stddef.h>
enum TimerState : unsigned int {
T_STOPPED = 0,
T_RUNNING,
};
struct Timer {
size_t seconds;
size_t remaining_seconds;
int timerfd;
enum TimerState status;
};
typedef struct Timer Timer;
typedef enum TimerState TimerState;
void timer_init(Timer *t, size_t sec);
void timer_reset(Timer *t);
void timer_start(Timer *t);
void timer_stop(Timer *t);
void timer_toggle_state(Timer *t);
int timer_request_time();
void timer_loop(Timer *t);
#endif
|