14 #define WPA_BSS_QUAL_INVALID BIT(0) 15 #define WPA_BSS_NOISE_INVALID BIT(1) 16 #define WPA_BSS_LEVEL_INVALID BIT(2) 17 #define WPA_BSS_LEVEL_DBM BIT(3) 18 #define WPA_BSS_AUTHENTICATED BIT(4) 19 #define WPA_BSS_ASSOCIATED BIT(5) 20 #define WPA_BSS_ANQP_FETCH_TRIED BIT(6) 34 #ifdef CONFIG_INTERWORKING 35 struct wpabuf *capability_list;
37 struct wpabuf *network_auth_type;
38 struct wpabuf *roaming_consortium;
39 struct wpabuf *ip_addr_type_availability;
42 struct wpabuf *domain_name;
43 struct wpabuf *fils_realm_info;
47 struct wpabuf *hs20_capability_list;
48 struct wpabuf *hs20_operator_friendly_name;
49 struct wpabuf *hs20_wan_metrics;
50 struct wpabuf *hs20_connection_capability;
51 struct wpabuf *hs20_operating_class;
52 struct wpabuf *hs20_osu_providers_list;
80 u8 ssid[SSID_MAX_LEN];
119 void wpa_bss_update_end(
struct wpa_supplicant *wpa_s,
struct scan_info *info,
135 unsigned int idf,
unsigned int idl);
136 const u8 * wpa_bss_get_ie(
const struct wpa_bss *bss, u8 ie);
137 const u8 * wpa_bss_get_vendor_ie(
const struct wpa_bss *bss, u32 vendor_type);
138 const u8 * wpa_bss_get_vendor_ie_beacon(
const struct wpa_bss *bss,
140 struct wpabuf * wpa_bss_get_vendor_ie_multi(
const struct wpa_bss *bss,
142 struct wpabuf * wpa_bss_get_vendor_ie_multi_beacon(
const struct wpa_bss *bss,
144 int wpa_bss_get_max_rate(
const struct wpa_bss *bss);
145 int wpa_bss_get_bit_rates(
const struct wpa_bss *bss, u8 **rates);
147 int wpa_bss_anqp_unshare_alloc(
struct wpa_bss *bss);
149 static inline int bss_is_dmg(
const struct wpa_bss *bss)
151 return bss->
freq > 45000;
159 static inline int bss_is_pbss(
struct wpa_bss *bss)
161 return bss_is_dmg(bss) &&
162 (bss->
caps & IEEE80211_CAP_DMG_MASK) == IEEE80211_CAP_DMG_PBSS;
165 static inline void wpa_bss_update_level(
struct wpa_bss *bss,
int new_level)
167 if (bss != NULL && new_level < 0)
168 bss->
level = new_level;
171 void calculate_update_time(
const struct os_reltime *fetch_time,
unsigned int scan_miss_count
Number of counts without seeing this BSS.
Definition: bss.h:70
u16 caps
Capability information field in host byte order.
Definition: bss.h:88
u8 bssid[ETH_ALEN]
BSSID.
Definition: bss.h:76
unsigned int last_update_idx
Index of the last scan update.
Definition: bss.h:72
unsigned int flags
Information flags about the BSS/IBSS (WPA_BSS_*)
Definition: bss.h:74
int qual
Signal quality.
Definition: bss.h:90
u16 beacon_int
Beacon interval in TUs (host byte order)
Definition: bss.h:86
struct wpa_scan_res - Scan result for an BSS/IBSS : information flags about the BSS/IBSS (WPA_SCAN_*)...
Definition: driver.h:259
size_t ssid_len
Length of SSID.
Definition: bss.h:82
struct wpa_bss_anqp - ANQP data for a BSS entry (struct wpa_bss)
Definition: bss.h:31
struct wpa_bss_anqp * anqp
ANQP data.
Definition: bss.h:104
int freq
Frequency of the channel in MHz (e.g., 2412 = channel 1)
Definition: bss.h:84
u8 ssid[SSID_MAX_LEN]
SSID.
Definition: bss.h:80
int level
Signal level.
Definition: bss.h:94
struct dl_list - Doubly-linked list
Definition: list.h:15
size_t beacon_ie_len
Length of the following Beacon IE field in octets.
Definition: bss.h:108
unsigned int users
Number of BSS entries referring to this ANQP data instance.
Definition: bss.h:33
struct wpa_bss - BSS table
Definition: bss.h:62
size_t ie_len
Length of the following IE field in octets (from Probe Response)
Definition: bss.h:106
u64 tsf
Timestamp of last Beacon/Probe Response frame.
Definition: bss.h:96
int noise
Noise level.
Definition: bss.h:92
struct wpa_supplicant - Internal data for wpa_supplicant interface
Definition: wpa_supplicant_i.h:472
int snr
Signal-to-noise ratio in dB.
Definition: bss.h:102
unsigned int id
Unique identifier for this BSS entry.
Definition: bss.h:68
unsigned int est_throughput
Estimated throughput in kbps.
Definition: bss.h:100
Definition: interworking.c:337