Add a test framework for various wpa_supplicant failure cases
[mech_eap.git] / wpa_supplicant / driver_i.h
index 18a5457..9debcf8 100644 (file)
@@ -90,6 +90,10 @@ static inline int wpa_drv_leave_mesh(struct wpa_supplicant *wpa_s)
 static inline int wpa_drv_scan(struct wpa_supplicant *wpa_s,
                               struct wpa_driver_scan_params *params)
 {
+#ifdef CONFIG_TESTING_OPTIONS
+       if (wpa_s->test_failure == WPAS_TEST_FAILURE_SCAN_TRIGGER)
+               return -EBUSY;
+#endif /* CONFIG_TESTING_OPTIONS */
        if (wpa_s->driver->scan2)
                return wpa_s->driver->scan2(wpa_s->drv_priv, params);
        return -1;
@@ -244,16 +248,6 @@ static inline const u8 * wpa_drv_get_mac_addr(struct wpa_supplicant *wpa_s)
        return NULL;
 }
 
-static inline int wpa_drv_send_eapol(struct wpa_supplicant *wpa_s,
-                                    const u8 *dst, u16 proto,
-                                    const u8 *data, size_t data_len)
-{
-       if (wpa_s->driver->send_eapol)
-               return wpa_s->driver->send_eapol(wpa_s->drv_priv, dst, proto,
-                                                data, data_len);
-       return -1;
-}
-
 static inline int wpa_drv_set_operstate(struct wpa_supplicant *wpa_s,
                                        int state)
 {
@@ -310,16 +304,6 @@ static inline int wpa_drv_update_ft_ies(struct wpa_supplicant *wpa_s,
        return -1;
 }
 
-static inline int wpa_drv_send_ft_action(struct wpa_supplicant *wpa_s,
-                                        u8 action, const u8 *target_ap,
-                                        const u8 *ies, size_t ies_len)
-{
-       if (wpa_s->driver->send_ft_action)
-               return wpa_s->driver->send_ft_action(wpa_s->drv_priv, action,
-                                                    target_ap, ies, ies_len);
-       return -1;
-}
-
 static inline int wpa_drv_set_ap(struct wpa_supplicant *wpa_s,
                                 struct wpa_driver_ap_params *params)
 {
@@ -609,6 +593,45 @@ static inline int wpa_drv_switch_channel(struct wpa_supplicant *wpa_s,
        return wpa_s->driver->switch_channel(wpa_s->drv_priv, settings);
 }
 
+static inline int wpa_drv_add_ts(struct wpa_supplicant *wpa_s, u8 tsid,
+                                const u8 *address, u8 user_priority,
+                                u16 admitted_time)
+{
+       if (!wpa_s->driver->add_tx_ts)
+               return -1;
+       return wpa_s->driver->add_tx_ts(wpa_s->drv_priv, tsid, address,
+                                       user_priority, admitted_time);
+}
+
+static inline int wpa_drv_del_ts(struct wpa_supplicant *wpa_s, u8 tid,
+                                const u8 *address)
+{
+       if (!wpa_s->driver->del_tx_ts)
+               return -1;
+       return wpa_s->driver->del_tx_ts(wpa_s->drv_priv, tid, address);
+}
+
+static inline int wpa_drv_tdls_enable_channel_switch(
+       struct wpa_supplicant *wpa_s, const u8 *addr, u8 oper_class,
+       const struct hostapd_freq_params *freq_params)
+{
+       if (!wpa_s->driver->tdls_enable_channel_switch)
+               return -1;
+       return wpa_s->driver->tdls_enable_channel_switch(wpa_s->drv_priv, addr,
+                                                        oper_class,
+                                                        freq_params);
+}
+
+static inline int
+wpa_drv_tdls_disable_channel_switch(struct wpa_supplicant *wpa_s,
+                                   const u8 *addr)
+{
+       if (!wpa_s->driver->tdls_disable_channel_switch)
+               return -1;
+       return wpa_s->driver->tdls_disable_channel_switch(wpa_s->drv_priv,
+                                                         addr);
+}
+
 static inline int wpa_drv_wnm_oper(struct wpa_supplicant *wpa_s,
                                   enum wnm_oper oper, const u8 *peer,
                                   u8 *buf, u16 *buf_len)