Replace hostapd_wps_probe_req_rx() with more generic ProbeReq notifier
[wpasupplicant] / src / drivers / driver.h
index cadc581..2ae5b1a 100644 (file)
@@ -1265,13 +1265,11 @@ struct wpa_driver_ops {
        int (*set_freq)(void *priv, struct hostapd_freq_params *freq);
        int (*set_rts)(void *priv, int rts);
        int (*set_frag)(void *priv, int frag);
-       int (*set_retry)(void *priv, int short_retry, int long_retry);
 
        int (*sta_set_flags)(void *priv, const u8 *addr,
                             int total_flags, int flags_or, int flags_and);
        int (*set_rate_sets)(void *priv, int *supp_rates, int *basic_rates,
                             int mode);
-       int (*set_ieee80211d)(void *priv, int enabled);
        int (*hapd_set_beacon)(const char *ifname, void *priv,
                               const u8 *head, size_t head_len,
                               const u8 *tail, size_t tail_len,
@@ -1283,13 +1281,6 @@ struct wpa_driver_ops {
         * 1 = enabled, i.e., bridge packets between associated STAs (default)
         */
        int (*set_internal_bridge)(void *priv, int value);
-       /* Configure broadcast SSID mode:
-        * 0 = include SSID in Beacon frames and reply to Probe Request frames
-        *     that use broadcast SSID
-        * 1 = hide SSID from Beacon frames and ignore Probe Request frames for
-        *     broadcast SSID
-        */
-       int (*set_broadcast_ssid)(void *priv, int value);
        int (*set_cts_protect)(void *priv, int value);
        int (*set_preamble)(void *priv, int value);
        int (*set_short_slot_time)(void *priv, int value);
@@ -1298,9 +1289,6 @@ struct wpa_driver_ops {
        int (*bss_add)(void *priv, const char *ifname, const u8 *bssid);
        int (*bss_remove)(void *priv, const char *ifname);
        int (*valid_bss_mask)(void *priv, const u8 *addr, const u8 *mask);
-       int (*passive_scan)(void *priv, int now, int our_mode_only,
-                           int interval, int _listen, int *channel,
-                           int *last_rx);
        int (*if_add)(const char *iface, void *priv,
                      enum hostapd_driver_if_type type, char *ifname,
                      const u8 *addr);
@@ -1337,6 +1325,14 @@ struct wpa_driver_ops {
                                 const u8 *ie, size_t len);
        int (*set_wps_probe_resp_ie)(const char *ifname, void *priv,
                                     const u8 *ie, size_t len);
+
+       /**
+        * set_supp_port - Set IEEE 802.1X Supplicant Port status
+        * @priv: Private driver interface data
+        * @authorized: Whether the port is authorized
+        * Returns: 0 on success, -1 on failure
+        */
+       int (*set_supp_port)(void *priv, int authorized);
 };
 
 /**
@@ -1501,7 +1497,17 @@ typedef enum wpa_event_type {
         * rejected by the AP. Information about authentication result is
         * included in union wpa_event_data::assoc_reject.
         */
-       EVENT_ASSOC_REJECT
+       EVENT_ASSOC_REJECT,
+
+       /**
+        * EVENT_AUTH_TIMED_OUT - Authentication timed out
+        */
+       EVENT_AUTH_TIMED_OUT,
+
+       /**
+        * EVENT_ASSOC_TIMED_OUT - Association timed out
+        */
+       EVENT_ASSOC_TIMED_OUT
 } wpa_event_type;
 
 
@@ -1679,6 +1685,10 @@ union wpa_event_data {
                 */
                u16 status_code;
        } assoc_reject;
+
+       struct timeout_event {
+               u8 addr[ETH_ALEN];
+       } timeout_event;
 };
 
 /**
@@ -1747,8 +1757,6 @@ struct hostapd_frame_info {
        u32 channel;
        u32 datarate;
        u32 ssi_signal;
-
-       unsigned int passive_scan:1;
 };
 
 void hostapd_mgmt_rx(struct hostapd_data *hapd, u8 *buf, size_t len,
@@ -1758,5 +1766,7 @@ void hostapd_mgmt_tx_cb(struct hostapd_data *hapd, u8 *buf, size_t len,
 void hostapd_michael_mic_failure(struct hostapd_data *hapd, const u8 *addr);
 struct hostapd_data * hostapd_sta_get_bss(struct hostapd_data *hapd,
                                          const u8 *addr);
+void hostapd_probe_req_rx(struct hostapd_data *hapd, const u8 *sa,
+                         const u8 *ie, size_t ie_len);
 
 #endif /* DRIVER_H */