14 if (wpa_s->driver->
init2)
15 return wpa_s->driver->
init2(wpa_s, ifname,
16 wpa_s->global_drv_priv);
17 if (wpa_s->driver->
init) {
18 return wpa_s->driver->
init(wpa_s, ifname);
26 wpa_s->driver->
deinit(wpa_s->drv_priv);
33 return wpa_s->driver->
set_param(wpa_s->drv_priv, param);
37 static inline int wpa_drv_set_countermeasures(
struct wpa_supplicant *wpa_s,
47 static inline int wpa_drv_authenticate(
struct wpa_supplicant *wpa_s,
51 return wpa_s->driver->
authenticate(wpa_s->drv_priv, params);
59 return wpa_s->driver->
associate(wpa_s->drv_priv, params);
67 return wpa_s->driver->
init_mesh(wpa_s->drv_priv);
75 return wpa_s->driver->
join_mesh(wpa_s->drv_priv, params);
82 return wpa_s->driver->
leave_mesh(wpa_s->drv_priv);
89 #ifdef CONFIG_TESTING_OPTIONS
90 if (wpa_s->test_failure == WPAS_TEST_FAILURE_SCAN_TRIGGER)
93 if (wpa_s->driver->
scan2)
94 return wpa_s->driver->
scan2(wpa_s->drv_priv, params);
103 return wpa_s->driver->
sched_scan(wpa_s->drv_priv,
108 static inline int wpa_drv_stop_sched_scan(
struct wpa_supplicant *wpa_s)
123 static inline int wpa_drv_get_bssid(
struct wpa_supplicant *wpa_s, u8 *bssid)
126 return wpa_s->driver->
get_bssid(wpa_s->drv_priv, bssid);
131 static inline int wpa_drv_get_ssid(
struct wpa_supplicant *wpa_s, u8 *ssid)
134 return wpa_s->driver->
get_ssid(wpa_s->drv_priv, ssid);
140 enum wpa_alg alg,
const u8 *addr,
141 int key_idx,
int set_tx,
142 const u8 *seq,
size_t seq_len,
143 const u8 *key,
size_t key_len)
145 if (alg != WPA_ALG_NONE) {
146 if (key_idx >= 0 && key_idx <= 6)
147 wpa_s->keys_cleared &= ~BIT(key_idx);
149 wpa_s->keys_cleared = 0;
152 return wpa_s->driver->
set_key(wpa_s->ifname, wpa_s->drv_priv,
153 alg, addr, key_idx, set_tx,
154 seq, seq_len, key, key_len);
159 static inline int wpa_drv_sta_deauth(
struct wpa_supplicant *wpa_s,
160 const u8 *addr,
int reason_code)
163 return wpa_s->driver->
sta_deauth(wpa_s->drv_priv,
164 wpa_s->own_addr, addr,
170 static inline int wpa_drv_deauthenticate(
struct wpa_supplicant *wpa_s,
171 const u8 *addr,
int reason_code)
181 const u8 *bssid,
const u8 *pmkid)
184 return wpa_s->driver->
add_pmkid(wpa_s->drv_priv, bssid, pmkid);
189 static inline int wpa_drv_remove_pmkid(
struct wpa_supplicant *wpa_s,
190 const u8 *bssid,
const u8 *pmkid)
193 return wpa_s->driver->
remove_pmkid(wpa_s->drv_priv, bssid,
199 static inline int wpa_drv_flush_pmkid(
struct wpa_supplicant *wpa_s)
202 return wpa_s->driver->
flush_pmkid(wpa_s->drv_priv);
211 return wpa_s->driver->
get_capa(wpa_s->drv_priv, capa);
218 if (wpa_s->driver->
poll) {
219 wpa_s->driver->
poll(wpa_s->drv_priv);
223 static inline const char * wpa_drv_get_ifname(
struct wpa_supplicant *wpa_s)
226 return wpa_s->driver->
get_ifname(wpa_s->drv_priv);
231 static inline const char *
239 static inline const u8 * wpa_drv_get_mac_addr(
struct wpa_supplicant *wpa_s)
247 static inline int wpa_drv_set_operstate(
struct wpa_supplicant *wpa_s,
255 static inline int wpa_drv_mlme_setprotection(
struct wpa_supplicant *wpa_s,
256 const u8 *addr,
int protect_type,
267 wpa_drv_get_hw_feature_data(
struct wpa_supplicant *wpa_s, u16 *num_modes,
276 static inline int wpa_drv_set_country(
struct wpa_supplicant *wpa_s,
280 return wpa_s->driver->
set_country(wpa_s->drv_priv, alpha2);
285 const u8 *data,
size_t data_len,
int noack,
289 return wpa_s->driver->
send_mlme(wpa_s->drv_priv,
290 data, data_len, noack,
295 static inline int wpa_drv_update_ft_ies(
struct wpa_supplicant *wpa_s,
297 const u8 *ies,
size_t ies_len)
308 if (wpa_s->driver->
set_ap)
309 return wpa_s->driver->
set_ap(wpa_s->drv_priv, params);
317 return wpa_s->driver->
sta_add(wpa_s->drv_priv, params);
321 static inline int wpa_drv_sta_remove(
struct wpa_supplicant *wpa_s,
325 return wpa_s->driver->
sta_remove(wpa_s->drv_priv, addr);
329 static inline int wpa_drv_hapd_send_eapol(
struct wpa_supplicant *wpa_s,
330 const u8 *addr,
const u8 *data,
331 size_t data_len,
int encrypt,
332 const u8 *own_addr, u32 flags)
336 data, data_len, encrypt,
341 static inline int wpa_drv_sta_set_flags(
struct wpa_supplicant *wpa_s,
342 const u8 *addr,
int total_flags,
343 int flags_or,
int flags_and)
347 total_flags, flags_or,
352 static inline int wpa_drv_set_supp_port(
struct wpa_supplicant *wpa_s,
362 static inline int wpa_drv_send_action(
struct wpa_supplicant *wpa_s,
365 const u8 *dst,
const u8 *src,
367 const u8 *data,
size_t data_len,
371 return wpa_s->driver->
send_action(wpa_s->drv_priv, freq,
372 wait, dst, src, bssid,
373 data, data_len, no_cck);
377 static inline void wpa_drv_send_action_cancel_wait(
struct wpa_supplicant *wpa_s)
387 return wpa_s->driver->
set_freq(wpa_s->drv_priv, freq);
393 const char *ifname,
const u8 *addr,
394 void *bss_ctx,
char *force_ifname,
395 u8 *if_addr,
const char *bridge)
397 if (wpa_s->driver->
if_add)
398 return wpa_s->driver->
if_add(wpa_s->drv_priv, type, ifname,
399 addr, bss_ctx, NULL, force_ifname,
409 return wpa_s->driver->
if_remove(wpa_s->drv_priv, type, ifname);
413 static inline int wpa_drv_remain_on_channel(
struct wpa_supplicant *wpa_s,
415 unsigned int duration)
423 static inline int wpa_drv_cancel_remain_on_channel(
432 static inline int wpa_drv_probe_req_report(
struct wpa_supplicant *wpa_s,
444 return wpa_s->driver->
deinit_ap(wpa_s->drv_priv);
448 static inline int wpa_drv_deinit_p2p_cli(
struct wpa_supplicant *wpa_s)
458 wpa_s->driver->
suspend(wpa_s->drv_priv);
463 if (wpa_s->driver->
resume)
464 wpa_s->driver->
resume(wpa_s->drv_priv);
467 static inline int wpa_drv_signal_monitor(
struct wpa_supplicant *wpa_s,
468 int threshold,
int hysteresis)
472 threshold, hysteresis);
476 static inline int wpa_drv_signal_poll(
struct wpa_supplicant *wpa_s,
480 return wpa_s->driver->
signal_poll(wpa_s->drv_priv, si);
484 static inline int wpa_drv_pktcnt_poll(
struct wpa_supplicant *wpa_s,
493 static inline int wpa_drv_set_ap_wps_ie(
struct wpa_supplicant *wpa_s,
494 const struct wpabuf *beacon,
495 const struct wpabuf *proberesp,
496 const struct wpabuf *assocresp)
501 proberesp, assocresp);
505 u8 *buf,
size_t buf_len)
509 return wpa_s->driver->
get_noa(wpa_s->drv_priv, buf, buf_len);
512 static inline int wpa_drv_set_p2p_powersave(
struct wpa_supplicant *wpa_s,
513 int legacy_ps,
int opp_ps,
522 static inline int wpa_drv_ampdu(
struct wpa_supplicant *wpa_s,
int ampdu)
524 if (!wpa_s->driver->
ampdu)
526 return wpa_s->driver->
ampdu(wpa_s->drv_priv, ampdu);
529 static inline int wpa_drv_send_tdls_mgmt(
struct wpa_supplicant *wpa_s,
530 const u8 *dst, u8 action_code,
531 u8 dialog_token, u16 status_code,
532 u32 peer_capab,
int initiator,
533 const u8 *buf,
size_t len)
537 action_code, dialog_token,
538 status_code, peer_capab,
539 initiator, buf, len);
545 enum tdls_oper oper,
const u8 *peer)
549 return wpa_s->driver->
tdls_oper(wpa_s->drv_priv, oper, peer);
553 static inline int wpa_drv_driver_cmd(
struct wpa_supplicant *wpa_s,
554 char *cmd,
char *buf,
size_t buf_len)
556 if (!wpa_s->driver->driver_cmd)
558 return wpa_s->driver->driver_cmd(wpa_s->drv_priv, cmd, buf, buf_len);
562 static inline void wpa_drv_set_rekey_info(
struct wpa_supplicant *wpa_s,
563 const u8 *kek,
size_t kek_len,
564 const u8 *kck,
size_t kck_len,
565 const u8 *replay_ctr)
570 kck, kck_len, replay_ctr);
573 static inline int wpa_drv_radio_disable(
struct wpa_supplicant *wpa_s,
578 return wpa_s->driver->
radio_disable(wpa_s->drv_priv, disabled);
581 static inline int wpa_drv_switch_channel(
struct wpa_supplicant *wpa_s,
589 static inline int wpa_drv_add_ts(
struct wpa_supplicant *wpa_s, u8 tsid,
590 const u8 *address, u8 user_priority,
595 return wpa_s->driver->
add_tx_ts(wpa_s->drv_priv, tsid, address,
596 user_priority, admitted_time);
599 static inline int wpa_drv_del_ts(
struct wpa_supplicant *wpa_s, u8 tid,
604 return wpa_s->driver->
del_tx_ts(wpa_s->drv_priv, tid, address);
607 static inline int wpa_drv_tdls_enable_channel_switch(
629 enum wnm_oper oper,
const u8 *peer,
630 u8 *buf, u16 *buf_len)
634 return wpa_s->driver->
wnm_oper(wpa_s->drv_priv, oper, peer, buf,
639 char *buf,
size_t buflen)
641 if (!wpa_s->driver->
status)
643 return wpa_s->driver->
status(wpa_s->drv_priv, buf, buflen);
646 static inline int wpa_drv_set_qos_map(
struct wpa_supplicant *wpa_s,
647 const u8 *qos_map_set, u8 qos_map_set_len)
651 return wpa_s->driver->
set_qos_map(wpa_s->drv_priv, qos_map_set,
660 return wpa_s->driver->
set_wowlan(wpa_s->drv_priv, triggers);
663 static inline int wpa_drv_vendor_cmd(
struct wpa_supplicant *wpa_s,
664 int vendor_id,
int subcmd,
const u8 *data,
665 size_t data_len,
struct wpabuf *buf)
669 return wpa_s->driver->
vendor_cmd(wpa_s->drv_priv, vendor_id, subcmd,
670 data, data_len, buf);
673 static inline int wpa_drv_roaming(
struct wpa_supplicant *wpa_s,
int allowed,
678 return wpa_s->driver->
roaming(wpa_s->drv_priv, allowed, bssid);
681 static inline int wpa_drv_set_mac_addr(
struct wpa_supplicant *wpa_s,
686 return wpa_s->driver->
set_mac_addr(wpa_s->drv_priv, addr);
692 static inline int wpa_drv_macsec_init(
struct wpa_supplicant *wpa_s,
693 struct macsec_init_params *params)
695 if (!wpa_s->driver->macsec_init)
697 return wpa_s->driver->macsec_init(wpa_s->drv_priv, params);
700 static inline int wpa_drv_macsec_deinit(
struct wpa_supplicant *wpa_s)
702 if (!wpa_s->driver->macsec_deinit)
704 return wpa_s->driver->macsec_deinit(wpa_s->drv_priv);
707 static inline int wpa_drv_enable_protect_frames(
struct wpa_supplicant *wpa_s,
710 if (!wpa_s->driver->enable_protect_frames)
712 return wpa_s->driver->enable_protect_frames(wpa_s->drv_priv, enabled);
715 static inline int wpa_drv_set_replay_protect(
struct wpa_supplicant *wpa_s,
716 Boolean enabled, u32 window)
718 if (!wpa_s->driver->set_replay_protect)
720 return wpa_s->driver->set_replay_protect(wpa_s->drv_priv, enabled,
724 static inline int wpa_drv_set_current_cipher_suite(
struct wpa_supplicant *wpa_s,
725 const u8 *cs,
size_t cs_len)
727 if (!wpa_s->driver->set_current_cipher_suite)
729 return wpa_s->driver->set_current_cipher_suite(wpa_s->drv_priv, cs,
733 static inline int wpa_drv_enable_controlled_port(
struct wpa_supplicant *wpa_s,
736 if (!wpa_s->driver->enable_controlled_port)
738 return wpa_s->driver->enable_controlled_port(wpa_s->drv_priv, enabled);
741 static inline int wpa_drv_get_receive_lowest_pn(
struct wpa_supplicant *wpa_s,
745 if (!wpa_s->driver->get_receive_lowest_pn)
747 return wpa_s->driver->get_receive_lowest_pn(wpa_s->drv_priv, channel,
751 static inline int wpa_drv_get_transmit_next_pn(
struct wpa_supplicant *wpa_s,
755 if (!wpa_s->driver->get_transmit_next_pn)
757 return wpa_s->driver->get_transmit_next_pn(wpa_s->drv_priv, channel,
761 static inline int wpa_drv_set_transmit_next_pn(
struct wpa_supplicant *wpa_s,
765 if (!wpa_s->driver->set_transmit_next_pn)
767 return wpa_s->driver->set_transmit_next_pn(wpa_s->drv_priv, channel,
771 static inline int wpa_drv_get_available_receive_sc(
struct wpa_supplicant *wpa_s,
774 if (!wpa_s->driver->get_available_receive_sc)
776 return wpa_s->driver->get_available_receive_sc(wpa_s->drv_priv,
781 wpa_drv_create_receive_sc(
struct wpa_supplicant *wpa_s, u32 channel,
782 const u8 *sci_addr, u16 sci_port,
783 unsigned int conf_offset,
int validation)
785 if (!wpa_s->driver->create_receive_sc)
787 return wpa_s->driver->create_receive_sc(wpa_s->drv_priv, channel,
788 sci_addr, sci_port, conf_offset,
792 static inline int wpa_drv_delete_receive_sc(
struct wpa_supplicant *wpa_s,
795 if (!wpa_s->driver->delete_receive_sc)
797 return wpa_s->driver->delete_receive_sc(wpa_s->drv_priv, channel);
800 static inline int wpa_drv_create_receive_sa(
struct wpa_supplicant *wpa_s,
802 u32 lowest_pn,
const u8 *sak)
804 if (!wpa_s->driver->create_receive_sa)
806 return wpa_s->driver->create_receive_sa(wpa_s->drv_priv, channel, an,
810 static inline int wpa_drv_enable_receive_sa(
struct wpa_supplicant *wpa_s,
813 if (!wpa_s->driver->enable_receive_sa)
815 return wpa_s->driver->enable_receive_sa(wpa_s->drv_priv, channel, an);
818 static inline int wpa_drv_disable_receive_sa(
struct wpa_supplicant *wpa_s,
821 if (!wpa_s->driver->disable_receive_sa)
823 return wpa_s->driver->disable_receive_sa(wpa_s->drv_priv, channel, an);
827 wpa_drv_get_available_transmit_sc(
struct wpa_supplicant *wpa_s, u32 *channel)
829 if (!wpa_s->driver->get_available_transmit_sc)
831 return wpa_s->driver->get_available_transmit_sc(wpa_s->drv_priv,
836 wpa_drv_create_transmit_sc(
struct wpa_supplicant *wpa_s, u32 channel,
837 const u8 *sci_addr, u16 sci_port,
838 unsigned int conf_offset)
840 if (!wpa_s->driver->create_transmit_sc)
842 return wpa_s->driver->create_transmit_sc(wpa_s->drv_priv, channel,
847 static inline int wpa_drv_delete_transmit_sc(
struct wpa_supplicant *wpa_s,
850 if (!wpa_s->driver->delete_transmit_sc)
852 return wpa_s->driver->delete_transmit_sc(wpa_s->drv_priv, channel);
855 static inline int wpa_drv_create_transmit_sa(
struct wpa_supplicant *wpa_s,
858 Boolean confidentiality,
861 if (!wpa_s->driver->create_transmit_sa)
863 return wpa_s->driver->create_transmit_sa(wpa_s->drv_priv, channel, an,
864 next_pn, confidentiality, sak);
867 static inline int wpa_drv_enable_transmit_sa(
struct wpa_supplicant *wpa_s,
870 if (!wpa_s->driver->enable_transmit_sa)
872 return wpa_s->driver->enable_transmit_sa(wpa_s->drv_priv, channel, an);
875 static inline int wpa_drv_disable_transmit_sa(
struct wpa_supplicant *wpa_s,
878 if (!wpa_s->driver->disable_transmit_sa)
880 return wpa_s->driver->disable_transmit_sa(wpa_s->drv_priv, channel, an);
889 return wpa_s->driver->
set_band(wpa_s->drv_priv, band);
892 static inline int wpa_drv_get_pref_freq_list(
struct wpa_supplicant *wpa_s,
895 unsigned int *freq_list)
903 static inline int wpa_drv_set_prob_oper_freq(
struct wpa_supplicant *wpa_s,
int(* sta_add)(void *priv, struct hostapd_sta_add_params *params)
Add a station entry.
Definition: driver.h:2431
int(* get_bssid)(void *priv, u8 *bssid)
Get the current BSSID.
Definition: driver.h:1763
int(* signal_monitor)(void *priv, int threshold, int hysteresis)
Set signal monitoring parameters.
Definition: driver.h:2791
int(* set_band)(void *priv, enum set_band band)
Notify driver of band selection.
Definition: driver.h:3528
int(* set_p2p_powersave)(void *priv, int legacy_ps, int opp_ps, int ctwindow)
Set P2P power save options.
Definition: driver.h:2842
void(* suspend)(void *priv)
Notification on system suspend/hibernate event.
Definition: driver.h:2769
int(* set_ap)(void *priv, struct wpa_driver_ap_params *params)
Set Beacon and Probe Response information for AP mode.
Definition: driver.h:2218
Settings for channel switch command.
Definition: driver.h:1661
const char *(* get_radio_name)(void *priv)
Get physical radio name for the device.
Definition: driver.h:2864
int(* probe_req_report)(void *priv, int report)
Request Probe Request frames to be indicated.
Definition: driver.h:2740
int(* add_pmkid)(void *priv, const u8 *bssid, const u8 *pmkid)
Add PMKSA cache entry to the driver.
Definition: driver.h:1934
int(* set_freq)(void *priv, struct hostapd_freq_params *freq)
Set channel/frequency (AP only)
Definition: driver.h:2455
int(* leave_mesh)(void *priv)
Leave a mesh network.
Definition: driver.h:3509
int(* set_prob_oper_freq)(void *priv, unsigned int freq)
Indicate probable P2P operating channel.
Definition: driver.h:3554
int(* wnm_oper)(void *priv, enum wnm_oper oper, const u8 *peer, u8 *buf, u16 *buf_len)
Notify driver of the WNM frame reception.
Definition: driver.h:2907
int(* deauthenticate)(void *priv, const u8 *addr, int reason_code)
Request driver to deauthenticate.
Definition: driver.h:1905
int(* join_mesh)(void *priv, struct wpa_driver_mesh_join_params *params)
Join a mesh network.
Definition: driver.h:3501
int(* get_pref_freq_list)(void *priv, enum wpa_driver_if_type if_type, unsigned int *num, unsigned int *freq_list)
Get preferred frequency list for an interface.
Definition: driver.h:3541
int(* get_ssid)(void *priv, u8 *ssid)
Get the current SSID.
Definition: driver.h:1780
int(* vendor_cmd)(void *priv, unsigned int vendor_id, unsigned int subcmd, const u8 *data, size_t data_len, struct wpabuf *buf)
Execute vendor specific command.
Definition: driver.h:3018
int(* flush_pmkid)(void *priv)
Flush PMKSA cache.
Definition: driver.h:1972
int(* set_wowlan)(void *priv, const struct wowlan_triggers *triggers)
Set wake-on-wireless triggers.
Definition: driver.h:2963
Driver interface definition.
Definition: driver.h:1418
struct hostapd_hw_modes *(* get_hw_feature_data)(void *priv, u16 *num_modes, u16 *flags)
Get hardware support data (channels and rates)
Definition: driver.h:2064
Scan parameters Data for struct wpa_driver_ops::scan2().
Definition: driver.h:306
void(* deinit)(void *priv)
Deinitialize driver interface.
Definition: driver.h:1870
int(* associate)(void *priv, struct wpa_driver_associate_params *params)
Request driver to associate.
Definition: driver.h:1914
int(* tdls_oper)(void *priv, enum tdls_oper oper, const u8 *peer)
Ask the driver to perform high-level TDLS operations.
Definition: driver.h:2896
wpa_driver_if_type
Definition: driver.h:1466
int(* set_mac_addr)(void *priv, const u8 *addr)
Set MAC address.
Definition: driver.h:3289
int(* tdls_disable_channel_switch)(void *priv, const u8 *addr)
Disable channel switching with TDLS peer.
Definition: driver.h:3212
void(* send_action_cancel_wait)(void *priv)
Cancel action frame TX wait.
Definition: driver.h:2686
int(* set_country)(void *priv, const char *alpha2)
Set country.
Definition: driver.h:2117
int(* send_action)(void *priv, unsigned int freq, unsigned int wait, const u8 *dst, const u8 *src, const u8 *bssid, const u8 *data, size_t data_len, int no_cck)
Transmit an Action frame.
Definition: driver.h:2674
int(* set_supp_port)(void *priv, int authorized)
Set IEEE 802.1X Supplicant Port status.
Definition: driver.h:2631
int(* if_remove)(void *priv, enum wpa_driver_if_type type, const char *ifname)
Remove a virtual interface.
Definition: driver.h:2529
int(* status)(void *priv, char *buf, size_t buflen)
Get driver interface status information.
Definition: driver.h:3265
int(* sta_remove)(void *priv, const u8 *addr)
Remove a station entry (AP only)
Definition: driver.h:2382
int(* deinit_p2p_cli)(void *priv)
Deinitialize P2P client mode.
Definition: driver.h:2763
int(* ampdu)(void *priv, int ampdu)
Enable/disable aggregation.
Definition: driver.h:2851
int(* del_tx_ts)(void *priv, u8 tsid, const u8 *addr)
Delete traffic stream.
Definition: driver.h:3185
int(* set_param)(void *priv, const char *param)
Set driver configuration parameters.
Definition: driver.h:1882
void(* resume)(void *priv)
Notification on system resume/thaw event.
Definition: driver.h:2775
int(* scan2)(void *priv, struct wpa_driver_scan_params *params)
Request the driver to initiate scan.
Definition: driver.h:2182
void(* set_rekey_info)(void *priv, const u8 *kek, size_t kek_len, const u8 *kck, size_t kck_len, const u8 *replay_ctr)
Set rekey information.
Definition: driver.h:3035
int(* stop_sched_scan)(void *priv)
Request the driver to stop a scheduled scan.
Definition: driver.h:3125
int(* authenticate)(void *priv, struct wpa_driver_auth_params *params)
Request driver to authenticate.
Definition: driver.h:2196
void(* poll)(void *priv)
Poll driver for association information.
Definition: driver.h:1996
int(* if_add)(void *priv, enum wpa_driver_if_type type, const char *ifname, const u8 *addr, void *bss_ctx, void **drv_priv, char *force_ifname, u8 *if_addr, const char *bridge, int use_existing)
Add a virtual interface.
Definition: driver.h:2517
Supported hardware mode information.
Definition: driver.h:132
int(* get_capa)(void *priv, struct wpa_driver_capa *capa)
Get driver capabilities.
Definition: driver.h:1982
int(* send_mlme)(void *priv, const u8 *data, size_t data_len, int noack, unsigned int freq)
Send management frame from MLME.
Definition: driver.h:2078
Authentication parameters Data for struct wpa_driver_ops::authenticate().
Definition: driver.h:447
int(* get_noa)(void *priv, u8 *buf, size_t buf_len)
Get current Notice of Absence attribute payload.
Definition: driver.h:2818
Association parameters Data for struct wpa_driver_ops::associate().
Definition: driver.h:578
const u8 *(* get_mac_addr)(void *priv)
Get own MAC address.
Definition: driver.h:2021
int(* set_operstate)(void *priv, int state)
Sets device operating state to DORMANT or UP.
Definition: driver.h:2035
int(* set_ap_wps_ie)(void *priv, const struct wpabuf *beacon, const struct wpabuf *proberesp, const struct wpabuf *assocresp)
Add WPS IE(s) into Beacon/Probe Response frames (AP)
Definition: driver.h:2621
int(* sta_deauth)(void *priv, const u8 *own_addr, const u8 *addr, int reason)
Deauthenticate a station (AP only)
Definition: driver.h:2359
int(* remove_pmkid)(void *priv, const u8 *bssid, const u8 *pmkid)
Remove PMKSA cache entry to the driver.
Definition: driver.h:1954
int(* deinit_ap)(void *priv)
Deinitialize AP mode.
Definition: driver.h:2752
int(* tdls_enable_channel_switch)(void *priv, const u8 *addr, u8 oper_class, const struct hostapd_freq_params *params)
Enable channel-switching with TDLS peer.
Definition: driver.h:3199
int(* mlme_setprotection)(void *priv, const u8 *addr, int protect_type, int key_type)
MLME-SETPROTECTION.request primitive.
Definition: driver.h:2053
int(* signal_poll)(void *priv, struct wpa_signal_info *signal_info)
Get current connection information.
Definition: driver.h:2970
int(* add_tx_ts)(void *priv, u8 tsid, const u8 *addr, u8 user_prio, u16 admitted_time)
Add traffic stream.
Definition: driver.h:3175
int(* switch_channel)(void *priv, struct csa_settings *settings)
Announce channel switch and migrate the GO to the given frequency.
Definition: driver.h:3163
struct wpa_scan_results *(* get_scan_results2)(void *priv)
Fetch the latest scan results.
Definition: driver.h:2106
Scan results.
Definition: driver.h:277
void *(* init2)(void *ctx, const char *ifname, void *global_priv)
Initialize driver interface (with global data)
Definition: driver.h:2160
int(* remain_on_channel)(void *priv, unsigned int freq, unsigned int duration)
Remain awake on a channel.
Definition: driver.h:2710
int(* radio_disable)(void *priv, int disabled)
Disable/enable radio.
Definition: driver.h:3151
int(* update_ft_ies)(void *priv, const u8 *md, const u8 *ies, size_t ies_len)
Update FT (IEEE 802.11r) IEs.
Definition: driver.h:2096
int(* set_key)(const char *ifname, void *priv, 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)
Configure encryption key.
Definition: driver.h:1833
Internal data for wpa_supplicant interface.
Definition: wpa_supplicant_i.h:451
int(* cancel_remain_on_channel)(void *priv)
Cancel remain-on-channel operation.
Definition: driver.h:2724
int(* set_countermeasures)(void *priv, int enabled)
Enable/disable TKIP countermeasures.
Definition: driver.h:1894
void *(* init)(void *ctx, const char *ifname)
Initialize driver interface.
Definition: driver.h:1861
int(* sta_set_flags)(void *priv, const u8 *addr, unsigned int total_flags, unsigned int flags_or, unsigned int flags_and)
Set station flags (AP only)
Definition: driver.h:2482
Information about channel signal quality.
Definition: driver.h:1607
Driver capability information.
Definition: driver.h:1196
Channel parameters.
Definition: driver.h:510
int(* init_mesh)(void *priv)
Driver specific initialization for mesh.
Definition: driver.h:3493
Definition: driver.h:1175
int(* send_tdls_mgmt)(void *priv, const u8 *dst, u8 action_code, u8 dialog_token, u16 status_code, u32 peer_capab, int initiator, const u8 *buf, size_t len)
for sending TDLS management packets
Definition: driver.h:2882
Definition: driver.h:1430
const char *(* get_ifname)(void *priv)
Get interface name.
Definition: driver.h:2009
int(* roaming)(void *priv, int allowed, const u8 *bssid)
Set roaming policy for driver-based BSS selection.
Definition: driver.h:3281
int(* hapd_send_eapol)(void *priv, const u8 *addr, const u8 *data, size_t data_len, int encrypt, const u8 *own_addr, u32 flags)
Send an EAPOL packet (AP only)
Definition: driver.h:2344
int(* read_sta_data)(void *priv, struct hostap_sta_driver_data *data, const u8 *addr)
Fetch station data.
Definition: driver.h:2329
int(* sched_scan)(void *priv, struct wpa_driver_scan_params *params, u32 interval)
Request the driver to initiate scheduled scan.
Definition: driver.h:3113
int(* set_qos_map)(void *priv, const u8 *qos_map_set, u8 qos_map_set_len)
Set QoS Map.
Definition: driver.h:2916