Add new wpa_supplicant driver op for setting 802.1X port status
[wpasupplicant] / wpa_supplicant / driver_i.h
index 8bf0ae5..4cb5372 100644 (file)
@@ -275,7 +275,7 @@ static inline int wpa_drv_mlme_setprotection(struct wpa_supplicant *wpa_s,
        return 0;
 }
 
-static inline struct wpa_hw_modes *
+static inline struct hostapd_hw_modes *
 wpa_drv_get_hw_feature_data(struct wpa_supplicant *wpa_s, u16 *num_modes,
                            u16 *flags)
 {
@@ -286,7 +286,7 @@ wpa_drv_get_hw_feature_data(struct wpa_supplicant *wpa_s, u16 *num_modes,
 }
 
 static inline int wpa_drv_set_channel(struct wpa_supplicant *wpa_s,
-                                     wpa_hw_mode phymode, int chan,
+                                     hostapd_hw_mode phymode, int chan,
                                      int freq)
 {
        if (wpa_s->driver->set_channel)
@@ -378,4 +378,74 @@ static inline int wpa_drv_set_probe_req_ie(struct wpa_supplicant *wpa_s,
        return -1;
 }
 
+static inline int wpa_drv_set_beacon(struct wpa_supplicant *wpa_s,
+                                    const u8 *head, size_t head_len,
+                                    const u8 *tail, size_t tail_len,
+                                    int dtim_period)
+{
+       if (wpa_s->driver->set_beacon)
+               return wpa_s->driver->set_beacon(wpa_s->drv_priv, head,
+                                                head_len, tail, tail_len,
+                                                dtim_period);
+       return -1;
+}
+
+static inline int wpa_drv_set_beacon_int(struct wpa_supplicant *wpa_s,
+                                        int value)
+{
+       if (wpa_s->driver->set_beacon_int)
+               return wpa_s->driver->set_beacon_int(wpa_s->drv_priv, value);
+       return -1;
+}
+
+static inline int wpa_drv_sta_add(struct wpa_supplicant *wpa_s,
+                                 struct hostapd_sta_add_params *params)
+{
+       if (wpa_s->driver->sta_add)
+               return wpa_s->driver->sta_add(wpa_s->ifname, wpa_s->drv_priv,
+                                             params);
+       return -1;
+}
+
+static inline int wpa_drv_sta_remove(struct wpa_supplicant *wpa_s,
+                                    const u8 *addr)
+{
+       if (wpa_s->driver->sta_remove)
+               return wpa_s->driver->sta_remove(wpa_s->drv_priv, addr);
+       return -1;
+}
+
+static inline int wpa_drv_hapd_send_eapol(struct wpa_supplicant *wpa_s,
+                                         const u8 *addr, const u8 *data,
+                                         size_t data_len, int encrypt,
+                                         const u8 *own_addr)
+{
+       if (wpa_s->driver->hapd_send_eapol)
+               return wpa_s->driver->hapd_send_eapol(wpa_s->drv_priv, addr,
+                                                     data, data_len, encrypt,
+                                                     own_addr);
+       return -1;
+}
+
+static inline int wpa_drv_sta_set_flags(struct wpa_supplicant *wpa_s,
+                                       const u8 *addr, int total_flags,
+                                       int flags_or, int flags_and)
+{
+       if (wpa_s->driver->sta_set_flags)
+               return wpa_s->driver->sta_set_flags(wpa_s->drv_priv, addr,
+                                                   total_flags, flags_or,
+                                                   flags_and);
+       return -1;
+}
+
+static inline int wpa_drv_set_supp_port(struct wpa_supplicant *wpa_s,
+                                       int authorized)
+{
+       if (wpa_s->driver->set_supp_port) {
+               return wpa_s->driver->set_supp_port(wpa_s->drv_priv,
+                                                   authorized);
+       }
+       return 0;
+}
+
 #endif /* DRIVER_I_H */