#ifndef TIMER_H #define TIMER_H #include 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