]> git.ipfire.org Git - thirdparty/hostap.git/blobdiff - wpa_supplicant/wpa_supplicant_i.h
PNO: Send Probe Request frames only for hidden SSIDs
[thirdparty/hostap.git] / wpa_supplicant / wpa_supplicant_i.h
index b5e137cfcad79c1022df262e3fc329f6eae4210a..8a9ca979f7513a799ddefe4d16968199c517b9de 100644 (file)
@@ -365,6 +365,14 @@ struct wpa_ssid_value {
        size_t ssid_len;
 };
 
+#define WPA_FREQ_USED_BY_INFRA_STATION BIT(0)
+#define WPA_FREQ_USED_BY_P2P_CLIENT BIT(1)
+
+struct wpa_used_freq_data {
+       int freq;
+       unsigned int flags;
+};
+
 /**
  * struct wpa_supplicant - Internal data for wpa_supplicant interface
  *
@@ -560,6 +568,9 @@ struct wpa_supplicant {
        int normal_scans; /* normal scans run before sched_scan */
        int scan_for_connection; /* whether the scan request was triggered for
                                  * finding a connection */
+#define MAX_SCAN_ID 16
+       int scan_id[MAX_SCAN_ID];
+       unsigned int scan_id_count;
 
        unsigned int drv_flags;
        unsigned int drv_enc;
@@ -628,6 +639,7 @@ struct wpa_supplicant {
                                        * sa_query_count octets of pending
                                        * SA Query transaction identifiers */
                struct os_reltime sa_query_start;
+               struct os_reltime last_unprot_disconnect;
                u8 sched_obss_scan;
                u16 obss_scan_int;
                u16 bss_max_idle_period;
@@ -654,6 +666,7 @@ struct wpa_supplicant {
        unsigned int pending_action_freq;
        int pending_action_no_cck;
        int pending_action_without_roc;
+       unsigned int pending_action_tx_done:1;
        void (*pending_action_tx_status_cb)(struct wpa_supplicant *wpa_s,
                                            unsigned int freq, const u8 *dst,
                                            const u8 *src, const u8 *bssid,
@@ -808,6 +821,9 @@ struct wpa_supplicant {
                u16 num_modes;
                u16 flags;
        } hw;
+#ifdef CONFIG_MACSEC
+       struct ieee802_1x_kay *kay;
+#endif /* CONFIG_MACSEC */
 
        int pno;
        int pno_sched_pending;
@@ -930,14 +946,14 @@ void wpa_supplicant_clear_status(struct wpa_supplicant *wpa_s);
 void wpas_connection_failed(struct wpa_supplicant *wpa_s, const u8 *bssid);
 int wpas_driver_bss_selection(struct wpa_supplicant *wpa_s);
 int wpas_is_p2p_prioritized(struct wpa_supplicant *wpa_s);
-void wpas_auth_failed(struct wpa_supplicant *wpa_s);
+void wpas_auth_failed(struct wpa_supplicant *wpa_s, char *reason);
 void wpas_clear_temp_disabled(struct wpa_supplicant *wpa_s,
                              struct wpa_ssid *ssid, int clear_failures);
 int disallowed_bssid(struct wpa_supplicant *wpa_s, const u8 *bssid);
 int disallowed_ssid(struct wpa_supplicant *wpa_s, const u8 *ssid,
                    size_t ssid_len);
 void wpas_request_connection(struct wpa_supplicant *wpa_s);
-int wpas_build_ext_capab(struct wpa_supplicant *wpa_s, u8 *buf);
+int wpas_build_ext_capab(struct wpa_supplicant *wpa_s, u8 *buf, size_t buflen);
 
 /**
  * wpa_supplicant_ctrl_iface_ctrl_rsp_handle - Handle a control response
@@ -983,8 +999,13 @@ int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid);
 
 int wpas_init_ext_pw(struct wpa_supplicant *wpa_s);
 
-void dump_freq_array(struct wpa_supplicant *wpa_s, const char *title,
-                    int *freq_array, unsigned int len);
+void dump_freq_data(struct wpa_supplicant *wpa_s, const char *title,
+                   struct wpa_used_freq_data *freqs_data,
+                   unsigned int len);
+
+int get_shared_radio_freqs_data(struct wpa_supplicant *wpa_s,
+                               struct wpa_used_freq_data *freqs_data,
+                               unsigned int len);
 int get_shared_radio_freqs(struct wpa_supplicant *wpa_s,
                           int *freq_array, unsigned int len);