15 u32 hostapd_sta_flags_to_drv(u32 flags);
16 int hostapd_build_ap_extra_ies(
struct hostapd_data *hapd,
19 struct wpabuf **assocresp);
26 struct sta_info *sta,
int authorized);
28 int hostapd_set_drv_ieee8021x(
struct hostapd_data *hapd,
const char *ifname,
30 int hostapd_vlan_if_add(
struct hostapd_data *hapd,
const char *ifname);
31 int hostapd_vlan_if_remove(
struct hostapd_data *hapd,
const char *ifname);
32 int hostapd_set_wds_sta(
struct hostapd_data *hapd,
char *ifname_wds,
33 const u8 *addr,
int aid,
int val);
35 const u8 *addr, u16 aid, u16 capability,
36 const u8 *supp_rates,
size_t supp_rates_len,
40 u32 flags, u8 qosinfo, u8 vht_opmode);
41 int hostapd_set_privacy(
struct hostapd_data *hapd,
int enabled);
42 int hostapd_set_generic_elem(
struct hostapd_data *hapd,
const u8 *elem,
44 int hostapd_get_ssid(
struct hostapd_data *hapd, u8 *buf,
size_t len);
45 int hostapd_set_ssid(
struct hostapd_data *hapd,
const u8 *buf,
size_t len);
47 const char *ifname,
const u8 *addr,
void *bss_ctx,
48 void **drv_priv,
char *force_ifname, u8 *if_addr,
49 const char *bridge,
int use_existing);
54 int hostapd_get_seqnum(
const char *ifname,
struct hostapd_data *hapd,
55 const u8 *addr,
int idx, u8 *seq);
60 int center_segment0,
int center_segment1);
62 int hostapd_set_frag(
struct hostapd_data *hapd,
int frag);
63 int hostapd_sta_set_flags(
struct hostapd_data *hapd, u8 *addr,
64 int total_flags,
int flags_or,
int flags_and);
65 int hostapd_set_country(
struct hostapd_data *hapd,
const char *country);
66 int hostapd_set_tx_queue_params(
struct hostapd_data *hapd,
int queue,
int aifs,
67 int cw_min,
int cw_max,
int burst_time);
69 hostapd_get_hw_feature_data(
struct hostapd_data *hapd, u16 *num_modes,
77 int hostapd_driver_set_noa(
struct hostapd_data *hapd, u8 count,
int start,
79 int hostapd_drv_set_key(
const char *ifname,
81 enum wpa_alg alg,
const u8 *addr,
82 int key_idx,
int set_tx,
83 const u8 *seq,
size_t seq_len,
84 const u8 *key,
size_t key_len);
86 const void *msg,
size_t len,
int noack);
88 const u8 *addr,
int reason);
90 const u8 *addr,
int reason);
91 int hostapd_drv_send_action(
struct hostapd_data *hapd,
unsigned int freq,
92 unsigned int wait,
const u8 *dst,
const u8 *data,
94 int hostapd_add_sta_node(
struct hostapd_data *hapd,
const u8 *addr,
96 int hostapd_sta_auth(
struct hostapd_data *hapd,
const u8 *addr,
97 u16 seq, u16 status,
const u8 *ie,
size_t len);
98 int hostapd_sta_assoc(
struct hostapd_data *hapd,
const u8 *addr,
99 int reassoc, u16 status,
const u8 *ie,
size_t len);
100 int hostapd_add_tspec(
struct hostapd_data *hapd,
const u8 *addr,
101 u8 *tspec_ie,
size_t tspec_ielen);
104 int channel,
int ht_enabled,
int vht_enabled,
105 int sec_channel_offset,
int vht_oper_chwidth,
106 int center_segment0,
int center_segment1);
113 enum wnm_oper oper,
const u8 *peer,
114 u8 *buf, u16 *buf_len);
116 int hostapd_drv_set_qos_map(
struct hostapd_data *hapd,
const u8 *qos_map_set,
119 static inline int hostapd_drv_set_countermeasures(
struct hostapd_data *hapd,
122 if (hapd->driver == NULL ||
128 static inline int hostapd_drv_set_sta_vlan(
const char *ifname,
130 const u8 *addr,
int vlan_id)
132 if (hapd->driver == NULL || hapd->driver->
set_sta_vlan == NULL)
134 return hapd->driver->
set_sta_vlan(hapd->drv_priv, addr, ifname,
138 static inline int hostapd_drv_get_inact_sec(
struct hostapd_data *hapd,
141 if (hapd->driver == NULL || hapd->driver->
get_inact_sec == NULL)
146 static inline int hostapd_drv_sta_remove(
struct hostapd_data *hapd,
149 if (hapd->driver == NULL || hapd->driver->
sta_remove == NULL)
151 return hapd->driver->
sta_remove(hapd->drv_priv, addr);
154 static inline int hostapd_drv_hapd_send_eapol(
struct hostapd_data *hapd,
155 const u8 *addr,
const u8 *data,
156 size_t data_len,
int encrypt,
163 hapd->own_addr, flags);
166 static inline int hostapd_drv_read_sta_data(
170 if (hapd->driver == NULL || hapd->driver->
read_sta_data == NULL)
172 return hapd->driver->
read_sta_data(hapd->drv_priv, data, addr);
175 static inline int hostapd_drv_sta_clear_stats(
struct hostapd_data *hapd,
183 static inline int hostapd_drv_set_acl(
struct hostapd_data *hapd,
186 if (hapd->driver == NULL || hapd->driver->
set_acl == NULL)
188 return hapd->driver->
set_acl(hapd->drv_priv, params);
191 static inline int hostapd_drv_set_ap(
struct hostapd_data *hapd,
194 if (hapd->driver == NULL || hapd->driver->
set_ap == NULL)
196 return hapd->driver->
set_ap(hapd->drv_priv, params);
199 static inline int hostapd_drv_set_radius_acl_auth(
struct hostapd_data *hapd,
200 const u8 *mac,
int accepted,
209 static inline int hostapd_drv_set_radius_acl_expire(
struct hostapd_data *hapd,
212 if (hapd->driver == NULL ||
218 static inline int hostapd_drv_set_authmode(
struct hostapd_data *hapd,
221 if (hapd->driver == NULL || hapd->driver->
set_authmode == NULL)
223 return hapd->driver->
set_authmode(hapd->drv_priv, auth_algs);
226 static inline void hostapd_drv_poll_client(
struct hostapd_data *hapd,
227 const u8 *own_addr,
const u8 *addr,
230 if (hapd->driver == NULL || hapd->driver->
poll_client == NULL)
232 hapd->driver->
poll_client(hapd->drv_priv, own_addr, addr, qos);
235 static inline int hostapd_drv_get_survey(
struct hostapd_data *hapd,
238 if (hapd->driver == NULL)
242 return hapd->driver->
get_survey(hapd->drv_priv, freq);
245 static inline int hostapd_get_country(
struct hostapd_data *hapd,
char *alpha2)
247 if (hapd->driver == NULL || hapd->driver->
get_country == NULL)
249 return hapd->driver->
get_country(hapd->drv_priv, alpha2);
252 static inline const char * hostapd_drv_get_radio_name(
struct hostapd_data *hapd)
254 if (hapd->driver == NULL || hapd->drv_priv == NULL ||
260 static inline int hostapd_drv_switch_channel(
struct hostapd_data *hapd,
269 static inline int hostapd_drv_status(
struct hostapd_data *hapd,
char *buf,
272 if (hapd->driver == NULL || hapd->driver->
status == NULL)
274 return hapd->driver->
status(hapd->drv_priv, buf, buflen);
277 static inline int hostapd_drv_br_add_ip_neigh(
struct hostapd_data *hapd,
278 int version,
const u8 *ipaddr,
279 int prefixlen,
const u8 *addr)
281 if (hapd->driver == NULL || hapd->drv_priv == NULL ||
288 static inline int hostapd_drv_br_delete_ip_neigh(
struct hostapd_data *hapd,
289 u8 version,
const u8 *ipaddr)
291 if (hapd->driver == NULL || hapd->drv_priv == NULL ||
298 static inline int hostapd_drv_br_port_set_attr(
struct hostapd_data *hapd,
299 enum drv_br_port_attr attr,
302 if (hapd->driver == NULL || hapd->drv_priv == NULL ||
308 static inline int hostapd_drv_br_set_net_param(
struct hostapd_data *hapd,
309 enum drv_br_net_param param,
312 if (hapd->driver == NULL || hapd->drv_priv == NULL ||
318 static inline int hostapd_drv_vendor_cmd(
struct hostapd_data *hapd,
319 int vendor_id,
int subcmd,
320 const u8 *data,
size_t data_len,
323 if (hapd->driver == NULL || hapd->driver->
vendor_cmd == NULL)
325 return hapd->driver->
vendor_cmd(hapd->drv_priv, vendor_id, subcmd, data,
329 static inline int hostapd_drv_stop_ap(
struct hostapd_data *hapd)
331 if (hapd->driver == NULL || hapd->driver->
stop_ap == NULL)
333 return hapd->driver->
stop_ap(hapd->drv_priv);
int(* hapd_set_countermeasures)(void *priv, int enabled)
Enable/disable TKIP countermeasures (AP)
Definition: driver.h:2416
enum hostapd_hw_mode mode
Mode/band (HOSTAPD_MODE_IEEE80211A, ..)
Definition: driver.h:515
int(* br_set_net_param)(void *priv, enum drv_br_net_param param, unsigned int val)
Set a bridge network parameter.
Definition: driver.h:2955
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
Definition: sta_info.h:44
const char *(* get_radio_name)(void *priv)
Get physical radio name for the device.
Definition: driver.h:2864
int(* br_port_set_attr)(void *priv, enum drv_br_port_attr attr, unsigned int val)
Set a bridge port attribute.
Definition: driver.h:2946
int(* stop_ap)(void *priv)
Removes beacon from AP.
Definition: driver.h:3231
Definition: driver.h:1460
int sec_channel_offset
Secondary channel offset for HT40.
Definition: driver.h:543
int(* get_country)(void *priv, char *alpha2)
Get country.
Definition: driver.h:2125
hostapd per-interface data structure
Definition: hostapd.h:291
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
void(* poll_client)(void *priv, const u8 *own_addr, const u8 *addr, int qos)
Probe (null data or such) the given station.
Definition: driver.h:3138
Driver interface definition.
Definition: driver.h:1418
Scan parameters Data for struct wpa_driver_ops::scan2().
Definition: driver.h:306
wpa_driver_if_type
Definition: driver.h:1466
Definition: ieee802_11_defs.h:634
int freq
Primary channel center frequency in MHz.
Definition: driver.h:521
int(* get_inact_sec)(void *priv, const u8 *addr)
Get station inactivity duration (AP only)
Definition: driver.h:2439
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
Definition: ieee802_11_defs.h:668
int(* br_delete_ip_neigh)(void *priv, u8 version, const u8 *ipaddr)
Remove a neigh from the bridge ip neigh table.
Definition: driver.h:2938
int(* set_sta_vlan)(void *priv, const u8 *addr, const char *ifname, int vlan_id)
Bind a station into a specific interface (AP only)
Definition: driver.h:2546
int(* br_add_ip_neigh)(void *priv, u8 version, const u8 *ipaddr, int prefixlen, const u8 *addr)
Add a neigh to the bridge ip neigh table.
Definition: driver.h:2928
int vht_enabled
Whether VHT is enabled.
Definition: driver.h:549
int(* set_acl)(void *priv, struct hostapd_acl_params *params)
Set ACL in AP mode.
Definition: driver.h:2228
Supported hardware mode information.
Definition: driver.h:132
hostapd_hw_mode
Hardware mode.
Definition: defs.h:302
int(* get_survey)(void *priv, unsigned int freq)
Retrieve survey data.
Definition: driver.h:3256
Definition: driver.h:1543
int channel
Channel number.
Definition: driver.h:527
int(* sta_clear_stats)(void *priv, const u8 *addr)
Clear station statistics (AP only)
Definition: driver.h:2447
int(* switch_channel)(void *priv, struct csa_settings *settings)
Announce channel switch and migrate the GO to the given frequency.
Definition: driver.h:3163
Scan results.
Definition: driver.h:277
int(* set_radius_acl_expire)(void *priv, const u8 *mac)
Notification of RADIUS ACL expiration.
Definition: driver.h:2591
Channel parameters.
Definition: driver.h:510
int(* set_radius_acl_auth)(void *priv, const u8 *mac, int accepted, u32 session_timeout)
Notification of RADIUS ACL change.
Definition: driver.h:2582
int ht_enabled
Whether HT is enabled.
Definition: driver.h:533
int(* set_authmode)(void *priv, int authmode)
Set authentication algorithm(s) for static WEP.
Definition: driver.h:2984
hostapd per-BSS data structure
Definition: hostapd.h:103
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