#pragma once #include "shark_types.h" typedef struct shark_task { u64 time; struct shark_task *next; u32 (*handler)(void); } shark_task_t; typedef struct shark_timer { u64 time; struct shark_timer *prev; struct shark_timer *next; void (*handler)(struct shark_timer *timer); } shark_timer_t; u64 shark_get_mseconds(void); u32 shark_get_seconds(void); void shark_timer_post(shark_timer_t *timer, u32 delay); void shark_timer_cancel(shark_timer_t *timer); void shark_task_add(shark_task_t *task); void shark_task_run(void);