X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=wpa_supplicant%2Fdriver_i.h;h=af8232a7677fab41188b5d98f2f9d4a8e4ddff82;hb=HEAD;hp=45107f7b96544366d516fbd757dd882147437668;hpb=db149ac9492c7da0db7e172cf777a4385712c278;p=libeap.git diff --git a/wpa_supplicant/driver_i.h b/wpa_supplicant/driver_i.h index 45107f7..af8232a 100644 --- a/wpa_supplicant/driver_i.h +++ b/wpa_supplicant/driver_i.h @@ -22,7 +22,8 @@ static inline void * wpa_drv_init(struct wpa_supplicant *wpa_s, const char *ifname) { if (wpa_s->driver->init2) - return wpa_s->driver->init2(wpa_s, ifname, wpa_s->global); + return wpa_s->driver->init2(wpa_s, ifname, + wpa_s->global_drv_priv); if (wpa_s->driver->init) { return wpa_s->driver->init(wpa_s, ifname); } @@ -43,16 +44,6 @@ static inline int wpa_drv_set_param(struct wpa_supplicant *wpa_s, return 0; } -static inline int wpa_drv_set_drop_unencrypted(struct wpa_supplicant *wpa_s, - int enabled) -{ - if (wpa_s->driver->set_drop_unencrypted) { - return wpa_s->driver->set_drop_unencrypted(wpa_s->drv_priv, - enabled); - } - return -1; -} - static inline int wpa_drv_set_countermeasures(struct wpa_supplicant *wpa_s, int enabled) { @@ -63,32 +54,6 @@ static inline int wpa_drv_set_countermeasures(struct wpa_supplicant *wpa_s, return -1; } -static inline int wpa_drv_set_auth_alg(struct wpa_supplicant *wpa_s, - int auth_alg) -{ - if (wpa_s->driver->set_auth_alg) { - return wpa_s->driver->set_auth_alg(wpa_s->drv_priv, - auth_alg); - } - return -1; -} - -static inline int wpa_drv_set_wpa(struct wpa_supplicant *wpa_s, int enabled) -{ - if (wpa_s->driver->set_wpa) { - return wpa_s->driver->set_wpa(wpa_s->drv_priv, enabled); - } - return 0; -} - -static inline int wpa_drv_set_mode(struct wpa_supplicant *wpa_s, int mode) -{ - if (wpa_s->driver->set_mode) { - return wpa_s->driver->set_mode(wpa_s->drv_priv, mode); - } - return 0; -} - static inline int wpa_drv_authenticate(struct wpa_supplicant *wpa_s, struct wpa_driver_auth_params *params) { @@ -111,21 +76,6 @@ static inline int wpa_drv_scan(struct wpa_supplicant *wpa_s, { if (wpa_s->driver->scan2) return wpa_s->driver->scan2(wpa_s->drv_priv, params); - if (wpa_s->driver->scan) - return wpa_s->driver->scan(wpa_s->drv_priv, - params->ssids[0].ssid, - params->ssids[0].ssid_len); - return -1; -} - -static inline int wpa_drv_get_scan_results(struct wpa_supplicant *wpa_s, - struct wpa_scan_result *results, - size_t max_size) -{ - if (wpa_s->driver->get_scan_results) { - return wpa_s->driver->get_scan_results(wpa_s->drv_priv, - results, max_size); - } return -1; } @@ -153,16 +103,17 @@ static inline int wpa_drv_get_ssid(struct wpa_supplicant *wpa_s, u8 *ssid) return -1; } -static inline int wpa_drv_set_key(struct wpa_supplicant *wpa_s, wpa_alg alg, - const u8 *addr, int key_idx, int set_tx, +static inline int wpa_drv_set_key(struct wpa_supplicant *wpa_s, + enum wpa_alg alg, const u8 *addr, + int key_idx, int set_tx, const u8 *seq, size_t seq_len, const u8 *key, size_t key_len) { if (wpa_s->driver->set_key) { wpa_s->keys_cleared = 0; - return wpa_s->driver->set_key(wpa_s->drv_priv, alg, addr, - key_idx, set_tx, seq, seq_len, - key, key_len); + return wpa_s->driver->set_key(wpa_s->ifname, wpa_s->drv_priv, + alg, addr, key_idx, set_tx, + seq, seq_len, key, key_len); } return -1; } @@ -286,7 +237,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, - hostapd_hw_mode phymode, int chan, + enum hostapd_hw_mode phymode, int chan, int freq) { if (wpa_s->driver->set_channel) @@ -369,32 +320,15 @@ static inline int wpa_drv_send_ft_action(struct wpa_supplicant *wpa_s, return -1; } -static inline int wpa_drv_set_probe_req_ie(struct wpa_supplicant *wpa_s, - const u8 *ies, size_t ies_len) -{ - if (wpa_s->driver->set_probe_req_ie) - return wpa_s->driver->set_probe_req_ie(wpa_s->drv_priv, ies, - ies_len); - 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) + int dtim_period, int beacon_int) { 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); + dtim_period, beacon_int); return -1; } @@ -402,8 +336,7 @@ 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 wpa_s->driver->sta_add(wpa_s->drv_priv, params); return -1; } @@ -427,4 +360,184 @@ static inline int wpa_drv_hapd_send_eapol(struct wpa_supplicant *wpa_s, 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; +} + +static inline int wpa_drv_send_action(struct wpa_supplicant *wpa_s, + unsigned int freq, + const u8 *dst, const u8 *src, + const u8 *bssid, + const u8 *data, size_t data_len) +{ + if (wpa_s->driver->send_action) + return wpa_s->driver->send_action(wpa_s->drv_priv, freq, + dst, src, bssid, data, + data_len); + return -1; +} + +static inline int wpa_drv_set_freq(struct wpa_supplicant *wpa_s, + struct hostapd_freq_params *freq) +{ + if (wpa_s->driver->set_freq) + return wpa_s->driver->set_freq(wpa_s->drv_priv, freq); + return -1; +} + +static inline int wpa_drv_if_add(struct wpa_supplicant *wpa_s, + enum wpa_driver_if_type type, + const char *ifname, const u8 *addr, + void *bss_ctx, char *force_ifname, + u8 *if_addr) +{ + if (wpa_s->driver->if_add) + return wpa_s->driver->if_add(wpa_s->drv_priv, type, ifname, + addr, bss_ctx, NULL, force_ifname, + if_addr); + return -1; +} + +static inline int wpa_drv_if_remove(struct wpa_supplicant *wpa_s, + enum wpa_driver_if_type type, + const char *ifname) +{ + if (wpa_s->driver->if_remove) + return wpa_s->driver->if_remove(wpa_s->drv_priv, type, ifname); + return -1; +} + +static inline int wpa_drv_set_intra_bss(struct wpa_supplicant *wpa_s, + int enabled) +{ + if (wpa_s->driver->set_intra_bss) + return wpa_s->driver->set_intra_bss(wpa_s->drv_priv, enabled); + return -1; +} + +static inline int wpa_drv_remain_on_channel(struct wpa_supplicant *wpa_s, + unsigned int freq, + unsigned int duration) +{ + if (wpa_s->driver->remain_on_channel) + return wpa_s->driver->remain_on_channel(wpa_s->drv_priv, freq, + duration); + return -1; +} + +static inline int wpa_drv_cancel_remain_on_channel( + struct wpa_supplicant *wpa_s) +{ + if (wpa_s->driver->cancel_remain_on_channel) + return wpa_s->driver->cancel_remain_on_channel( + wpa_s->drv_priv); + return -1; +} + +static inline int wpa_drv_probe_req_report(struct wpa_supplicant *wpa_s, + int report) +{ + if (wpa_s->driver->probe_req_report) + return wpa_s->driver->probe_req_report(wpa_s->drv_priv, + report); + return -1; +} + +static inline int wpa_drv_disable_11b_rates(struct wpa_supplicant *wpa_s, + int disabled) +{ + if (wpa_s->driver->disable_11b_rates) + return wpa_s->driver->disable_11b_rates(wpa_s->drv_priv, + disabled); + return -1; +} + +static inline int wpa_drv_deinit_ap(struct wpa_supplicant *wpa_s) +{ + if (wpa_s->driver->deinit_ap) + return wpa_s->driver->deinit_ap(wpa_s->drv_priv); + return 0; +} + +static inline void wpa_drv_suspend(struct wpa_supplicant *wpa_s) +{ + if (wpa_s->driver->suspend) + wpa_s->driver->suspend(wpa_s->drv_priv); +} + +static inline void wpa_drv_resume(struct wpa_supplicant *wpa_s) +{ + if (wpa_s->driver->resume) + wpa_s->driver->resume(wpa_s->drv_priv); +} + +static inline int wpa_drv_signal_monitor(struct wpa_supplicant *wpa_s, + int threshold, int hysteresis) +{ + if (wpa_s->driver->signal_monitor) + return wpa_s->driver->signal_monitor(wpa_s->drv_priv, + threshold, hysteresis); + return -1; +} + +static inline int wpa_drv_set_ap_wps_ie(struct wpa_supplicant *wpa_s, + const struct wpabuf *beacon, + const struct wpabuf *proberesp, + const struct wpabuf *assocresp) +{ + if (!wpa_s->driver->set_ap_wps_ie) + return -1; + return wpa_s->driver->set_ap_wps_ie(wpa_s->drv_priv, beacon, + proberesp, assocresp); +} + +static inline int wpa_drv_shared_freq(struct wpa_supplicant *wpa_s) +{ + if (!wpa_s->driver->shared_freq) + return -1; + return wpa_s->driver->shared_freq(wpa_s->drv_priv); +} + +static inline int wpa_drv_get_noa(struct wpa_supplicant *wpa_s, + u8 *buf, size_t buf_len) +{ + if (!wpa_s->driver->get_noa) + return -1; + return wpa_s->driver->get_noa(wpa_s->drv_priv, buf, buf_len); +} + +static inline int wpa_drv_set_p2p_powersave(struct wpa_supplicant *wpa_s, + int legacy_ps, int opp_ps, + int ctwindow) +{ + if (!wpa_s->driver->set_p2p_powersave) + return -1; + return wpa_s->driver->set_p2p_powersave(wpa_s->drv_priv, legacy_ps, + opp_ps, ctwindow); +} + +static inline int wpa_drv_ampdu(struct wpa_supplicant *wpa_s, int ampdu) +{ + if (!wpa_s->driver->ampdu) + return -1; + return wpa_s->driver->ampdu(wpa_s->drv_priv, ampdu); +} + #endif /* DRIVER_I_H */