1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
9 #include <linux/ktime.h>
13 void wg_timers_init(struct wg_peer
*peer
);
14 void wg_timers_stop(struct wg_peer
*peer
);
15 void wg_timers_data_sent(struct wg_peer
*peer
);
16 void wg_timers_data_received(struct wg_peer
*peer
);
17 void wg_timers_any_authenticated_packet_sent(struct wg_peer
*peer
);
18 void wg_timers_any_authenticated_packet_received(struct wg_peer
*peer
);
19 void wg_timers_handshake_initiated(struct wg_peer
*peer
);
20 void wg_timers_handshake_complete(struct wg_peer
*peer
);
21 void wg_timers_session_derived(struct wg_peer
*peer
);
22 void wg_timers_any_authenticated_packet_traversal(struct wg_peer
*peer
);
24 static inline bool wg_birthdate_has_expired(u64 birthday_nanoseconds
,
25 u64 expiration_seconds
)
27 return (s64
)(birthday_nanoseconds
+ expiration_seconds
* NSEC_PER_SEC
)
28 <= (s64
)ktime_get_coarse_boottime_ns();
31 #endif /* _WG_TIMERS_H */