Files
osc2025/kernel/include/timer.h
2025-05-03 20:45:34 +08:00

30 lines
441 B
C

#pragma once
#include <stddef.h>
typedef void (*task_callback_func_t)(uint64_t);
typedef struct {
uint64_t firing_tick;
uint64_t interval;
task_callback_func_t func;
uint64_t param;
} task_t;
typedef struct timer {
struct timer *_l, *_r;
uint32_t _d;
task_t data;
} timer_t;
void timer_init(void);
void add_timer_task(task_t task);
void sleep(uint64_t ms);
void timer_irq_handler(void);
extern timer_t *global_timer;