#ifndef __GE_TIMER_H__ #define __GE_TIMER_H__ #include typedef uint64_t ge_time_t; struct ge_timer; typedef struct ge_timer ge_timer_t; typedef ge_time_t(*ge_timer_getus_func_t)(ge_timer_t* timer); typedef void(*ge_timer_sleepus_func_t)(const ge_timer_t* timer, ge_time_t time); typedef ge_time_t(*ge_timer_getms_func_t)(ge_timer_t* timer); typedef void(*ge_timer_sleepms_func_t)(const ge_timer_t* timer, ge_time_t time); struct ge_timer { ge_time_t time; ge_timer_getms_func_t func_getms; ge_timer_sleepms_func_t func_sleepms; ge_timer_getus_func_t func_getus; ge_timer_sleepus_func_t func_sleepus; }; #endif // __GE_TIMER_H__