14#ifndef ZEPHYR_INCLUDE_NET_NET_TIMEOUT_H_
15#define ZEPHYR_INCLUDE_NET_NET_TIMEOUT_H_
48#define NET_TIMEOUT_MAX_VALUE ((uint32_t)INT32_MAX)
uint32_t net_timeout_evaluate(struct net_timeout *timeout, uint32_t now)
Update state to reflect elapsed time and get new delay.
uint32_t net_timeout_remaining(const struct net_timeout *timeout, uint32_t now)
Calculate the remaining time to the timeout in whole seconds.
int64_t net_timeout_deadline(const struct net_timeout *timeout, int64_t now)
Return the 64-bit system time at which the timeout will complete.
void net_timeout_set(struct net_timeout *timeout, uint32_t lifetime, uint32_t now)
Configure a network timeout structure.
struct _snode sys_snode_t
Single-linked list node structure.
Definition: slist.h:39
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__INT64_TYPE__ int64_t
Definition: stdint.h:75
Generic struct for handling network timeouts.
Definition: net_timeout.h:55
uint32_t timer_timeout
Portion of remaining timeout that does not exceed NET_TIMEOUT_MAX_VALUE.
Definition: net_timeout.h:76
uint32_t wrap_counter
Timer wrap count.
Definition: net_timeout.h:84
sys_snode_t node
Used to link multiple timeouts that share a common timer infrastructure.
Definition: net_timeout.h:62
uint32_t timer_start
Time at which the timer was last set.
Definition: net_timeout.h:68