xref: /freebsd/contrib/wpa/wpa_supplicant/bssid_ignore.h (revision c1d255d3ffdbe447de3ab875bf4e7d7accc5bfc5)
1*c1d255d3SCy Schubert /*
2*c1d255d3SCy Schubert  * wpa_supplicant - List of temporarily ignored BSSIDs
3*c1d255d3SCy Schubert  * Copyright (c) 2003-2021, Jouni Malinen <j@w1.fi>
4*c1d255d3SCy Schubert  *
5*c1d255d3SCy Schubert  * This software may be distributed under the terms of the BSD license.
6*c1d255d3SCy Schubert  * See README for more details.
7*c1d255d3SCy Schubert  */
8*c1d255d3SCy Schubert 
9*c1d255d3SCy Schubert #ifndef BSSID_IGNORE_H
10*c1d255d3SCy Schubert #define BSSID_IGNORE_H
11*c1d255d3SCy Schubert 
12*c1d255d3SCy Schubert struct wpa_bssid_ignore {
13*c1d255d3SCy Schubert 	struct wpa_bssid_ignore *next;
14*c1d255d3SCy Schubert 	u8 bssid[ETH_ALEN];
15*c1d255d3SCy Schubert 	int count;
16*c1d255d3SCy Schubert 	/* Time of the most recent trigger to ignore this BSSID. */
17*c1d255d3SCy Schubert 	struct os_reltime start;
18*c1d255d3SCy Schubert 	/*
19*c1d255d3SCy Schubert 	 * Number of seconds after start that the entey will be considered
20*c1d255d3SCy Schubert 	 * valid.
21*c1d255d3SCy Schubert 	 */
22*c1d255d3SCy Schubert 	int timeout_secs;
23*c1d255d3SCy Schubert };
24*c1d255d3SCy Schubert 
25*c1d255d3SCy Schubert struct wpa_bssid_ignore * wpa_bssid_ignore_get(struct wpa_supplicant *wpa_s,
26*c1d255d3SCy Schubert 					 const u8 *bssid);
27*c1d255d3SCy Schubert int wpa_bssid_ignore_add(struct wpa_supplicant *wpa_s, const u8 *bssid);
28*c1d255d3SCy Schubert int wpa_bssid_ignore_del(struct wpa_supplicant *wpa_s, const u8 *bssid);
29*c1d255d3SCy Schubert int wpa_bssid_ignore_is_listed(struct wpa_supplicant *wpa_s, const u8 *bssid);
30*c1d255d3SCy Schubert void wpa_bssid_ignore_clear(struct wpa_supplicant *wpa_s);
31*c1d255d3SCy Schubert void wpa_bssid_ignore_update(struct wpa_supplicant *wpa_s);
32*c1d255d3SCy Schubert 
33*c1d255d3SCy Schubert #endif /* BSSID_IGNORE_H */
34