summaryrefslogtreecommitdiff
path: root/timer.h
diff options
context:
space:
mode:
author0x221E <0x221E@0xinfinity.dev>2026-04-12 15:47:30 +0200
committer0x221E <0x221E@0xinfinity.dev>2026-04-12 15:47:30 +0200
commit9a443189203376a630ac205ca4654c7ceb796d5b (patch)
tree37b3494f1d3c58fecb6ad5a30c26d92b51634416 /timer.h
Initial Commit
Diffstat (limited to 'timer.h')
-rw-r--r--timer.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/timer.h b/timer.h
new file mode 100644
index 0000000..c24611a
--- /dev/null
+++ b/timer.h
@@ -0,0 +1,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