Core
Loading...
Searching...
No Matches
src
driver
Inc
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
11
typedef
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;
21
}
core_timeout_t
;
22
23
bool
core_timeout_insert(
core_timeout_t
*timeout);
24
void
core_timeout_start_all();
25
void
core_timeout_reset_by_module_ref(
void
*module, uint32_t ref);
26
void
core_timeout_reset(
core_timeout_t
*timeout);
27
void
core_timeout_check_all();
28
void
core_timeout_suspend(
core_timeout_t
*timeout);
29
void
core_timeout_resume(
core_timeout_t
*timeout);
30
void
core_timeout_hard_reset(
core_timeout_t
*timeout);
31
32
#endif
core_timeout_s
Definition
timeout.h:11
Generated by
1.11.0