mongoose/src/timer.h
2021-12-21 21:50:18 +00:00

22 lines
787 B
C

#pragma once
#include "arch.h"
struct mg_timer {
int64_t period_ms; // Timer period in milliseconds
int64_t expire; // Expiration timestamp in milliseconds
unsigned flags; // Possible flags values below
#define MG_TIMER_REPEAT 1 // Call function periodically, otherwise run once
#define MG_TIMER_RUN_NOW 2 // Call immediately when timer is set
void (*fn)(void *); // Function to call
void *arg; // Function argument
struct mg_timer *next; // Linkage in g_timers list
};
extern struct mg_timer *g_timers; // Global list of timers
void mg_timer_init(struct mg_timer *, int64_t, unsigned, void (*)(void *),
void *);
void mg_timer_free(struct mg_timer *);
void mg_timer_poll(int64_t current_time_ms);