Core
Loading...
Searching...
No Matches
timeout.h
Go to the documentation of this file.
1
59#ifndef CORE_TIMEOUT_H
60#define CORE_TIMEOUT_H
61
62#include <stdint.h>
63#include <stdbool.h>
64
65#define CORE_TIMEOUT_STATE_ENABLED 0x01
66#define CORE_TIMEOUT_STATE_TIMED_OUT 0x02
67#define CORE_TIMEOUT_STATE_SUSPENDED 0x04
68
69typedef struct core_timeout_s {
70 void (*callback)(struct core_timeout_s *);
71 bool (*check)(struct core_timeout_s *);
72 void *module;
73 uint32_t ref;
74 uint32_t last_event;
75 uint32_t timeout;
76 uint8_t state;
77 uint8_t latching : 1;
78 uint8_t single_shot : 1;
80
88
93
99void core_timeout_reset_by_module_ref(void *module, uint32_t ref);
100
106
111
117
123
129
130#endif
Definition timeout.h:69
bool core_timeout_insert(core_timeout_t *timeout)
Add a timeout to the internal list of timeouts to be monitored.
Definition timeout.c:12
void core_timeout_check_all()
Check all timeouts currently stored in the internal timeout list.
Definition timeout.c:45
void core_timeout_reset(core_timeout_t *timeout)
Reset a timeout given a pointer to the timeout struct.
Definition timeout.c:39
void core_timeout_start_all()
Enable all timeouts currently in the internal timeout list.
Definition timeout.c:21
void core_timeout_reset_by_module_ref(void *module, uint32_t ref)
Reset a timeout given the module and the refernce number.
Definition timeout.c:29
void core_timeout_suspend(core_timeout_t *timeout)
Suspend timeout.
Definition timeout.c:66
void core_timeout_resume(core_timeout_t *timeout)
Resume suspended timeout.
Definition timeout.c:70
void core_timeout_hard_reset(core_timeout_t *timeout)
Force reset a timeout.
Definition timeout.c:75