diff options
Diffstat (limited to 'src/ap/hostapd.h')
-rw-r--r-- | src/ap/hostapd.h | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h index 3764be4..c6f6205 100644 --- a/src/ap/hostapd.h +++ b/src/ap/hostapd.h @@ -31,7 +31,8 @@ enum wps_event; union wps_event_data; struct hostapd_probereq_cb { - int (*cb)(void *ctx, const u8 *sa, const u8 *ie, size_t ie_len); + int (*cb)(void *ctx, const u8 *sa, const u8 *da, const u8 *bssid, + const u8 *ie, size_t ie_len); void *ctx; }; @@ -81,10 +82,7 @@ struct hostapd_data { struct sta_info *sta, int reassoc); void *msg_ctx; /* ctx for wpa_msg() calls */ -#ifdef ANDROID_BRCM_P2P_PATCH - /* Sending the event to parent is required as SSL listens on parent ctrl iface */ - void *msg_ctx_parent; /* ctx for wpa_msg() calls */ -#endif /*ANDROID_BRCM_P2P_PATCH*/ + void *msg_ctx_parent; /* parent interface ctx for wpa_msg() calls */ struct radius_client_data *radius; u32 acct_session_id_hi, acct_session_id_lo; @@ -111,6 +109,10 @@ struct hostapd_data { int parameter_set_count; + /* Time Advertisement */ + u8 time_update_counter; + struct wpabuf *time_adv; + #ifdef CONFIG_FULL_DYNAMIC_VLAN struct full_dynamic_vlan *full_dynamic_vlan; #endif /* CONFIG_FULL_DYNAMIC_VLAN */ @@ -118,6 +120,7 @@ struct hostapd_data { struct l2_packet_data *l2; struct wps_context *wps; + int beacon_set_done; struct wpabuf *wps_beacon_ie; struct wpabuf *wps_probe_resp_ie; #ifdef CONFIG_WPS @@ -146,7 +149,7 @@ struct hostapd_data { void *wps_event_cb_ctx; void (*sta_authorized_cb)(void *ctx, const u8 *mac_addr, - int authorized); + int authorized, const u8 *p2p_dev_addr); void *sta_authorized_cb_ctx; void (*setup_complete_cb)(void *ctx); @@ -189,6 +192,13 @@ struct hostapd_iface { struct ap_info *ap_iter_list; unsigned int drv_flags; + + /* + * A bitmap of supported protocols for probe response offload. See + * struct wpa_driver_capa in driver.h + */ + unsigned int probe_resp_offloads; + struct hostapd_hw_modes *hw_features; int num_hw_features; struct hostapd_hw_modes *current_mode; @@ -196,6 +206,7 @@ struct hostapd_iface { * current_mode->channels */ int num_rates; struct hostapd_rate_data *current_rates; + int *basic_rates; int freq; u16 hw_flags; @@ -251,6 +262,7 @@ void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta, /* utils.c */ int hostapd_register_probereq_cb(struct hostapd_data *hapd, int (*cb)(void *ctx, const u8 *sa, + const u8 *da, const u8 *bssid, const u8 *ie, size_t ie_len), void *ctx); void hostapd_prune_associations(struct hostapd_data *hapd, const u8 *addr); @@ -260,7 +272,7 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr, const u8 *ie, size_t ielen, int reassoc); void hostapd_notif_disassoc(struct hostapd_data *hapd, const u8 *addr); void hostapd_event_sta_low_ack(struct hostapd_data *hapd, const u8 *addr); -int hostapd_probe_req_rx(struct hostapd_data *hapd, const u8 *sa, - const u8 *ie, size_t ie_len); +int hostapd_probe_req_rx(struct hostapd_data *hapd, const u8 *sa, const u8 *da, + const u8 *bssid, const u8 *ie, size_t ie_len); #endif /* HOSTAPD_H */ |