43 #define CNE_TIMER_STOP 0
44 #define CNE_TIMER_PENDING 1
45 #define CNE_TIMER_RUNNING 2
46 #define CNE_TIMER_CONFIG 3
47 #define CNE_TIMER_NO_OWNER -2
84 #define MAX_SKIPLIST_DEPTH 10
102 #define CNE_TIMER_INITIALIZER \
104 0, {NULL}, {{CNE_TIMER_STOP, CNE_TIMER_NO_OWNER}}, 0, NULL, NULL, \
110 #define CNE_TIMER_INITIALIZER \
113 .state = CNE_TIMER_STOP, \
114 .owner = CNE_TIMER_NO_OWNER, \
void(* cne_timer_cb_t)(struct cne_timer *, void *)
void cne_timer_stop_sync(struct cne_timer *tim)
int cne_timer_reset(struct cne_timer *tim, uint64_t ticks, enum cne_timer_type type, unsigned tim_thread, cne_timer_cb_t fct, void *arg)
void cne_timer_reset_sync(struct cne_timer *tim, uint64_t ticks, enum cne_timer_type type, unsigned tim_thread, cne_timer_cb_t fct, void *arg)
int cne_timer_stop(struct cne_timer *tim)
void cne_timer_subsystem_init(void)
int cne_timer_pending(struct cne_timer *tim)
void cne_timer_init(struct cne_timer *tim)
void cne_timer_manage(void)
void cne_timer_dump_stats(FILE *f)
struct cne_timer * sl_next[MAX_SKIPLIST_DEPTH]
volatile union cne_timer_status status
CNE_ATOMIC(uint_least32_t) u32