Core
Loading...
Searching...
No Matches
timeout.h
1#ifndef CORE_TIMEOUT_H
2#define CORE_TIMEOUT_H
3
4#include <stdint.h>
5#include <stdbool.h>
6
7#define CORE_TIMEOUT_STATE_ENABLED 0x01
8#define CORE_TIMEOUT_STATE_TIMED_OUT 0x02
9#define CORE_TIMEOUT_STATE_SUSPENDED 0x04
10
11typedef struct core_timeout_s {
12 void (*callback)(struct core_timeout_s *);
13 bool (*check)(struct core_timeout_s *);
14 void *module;
15 uint32_t ref;
16 uint32_t last_event;
17 uint32_t timeout;
18 uint8_t state;
19 uint8_t latching : 1;
20 uint8_t single_shot : 1;
22
23bool core_timeout_insert(core_timeout_t *timeout);
24void core_timeout_start_all();
25void core_timeout_reset_by_module_ref(void *module, uint32_t ref);
26void core_timeout_reset(core_timeout_t *timeout);
27void core_timeout_check_all();
28void core_timeout_suspend(core_timeout_t *timeout);
29void core_timeout_resume(core_timeout_t *timeout);
30void core_timeout_hard_reset(core_timeout_t *timeout);
31
32#endif
Definition timeout.h:11