Replace hostapd_probe_req_rx() with EVENT_RX_PROBE_REQ driver event

This commit is contained in:
Jouni Malinen 2010-01-03 12:11:44 +02:00
parent 245519e0cd
commit a0e0d3bb15
5 changed files with 72 additions and 38 deletions

View file

@ -321,6 +321,23 @@ static void hostapd_mgmt_tx_cb(struct hostapd_data *hapd, const u8 *buf,
#endif /* NEED_AP_MLME */
static int hostapd_probe_req_rx(struct hostapd_data *hapd, const u8 *sa,
const u8 *ie, size_t ie_len)
{
size_t i;
int ret = 0;
for (i = 0; hapd->probereq_cb && i < hapd->num_probereq_cb; i++) {
if (hapd->probereq_cb[i].cb(hapd->probereq_cb[i].ctx,
sa, ie, ie_len) > 0) {
ret = 1;
break;
}
}
return ret;
}
void wpa_supplicant_event(void *ctx, wpa_event_type event,
union wpa_event_data *data)
{
@ -369,6 +386,11 @@ void wpa_supplicant_event(void *ctx, wpa_event_type event,
data->rx_mgmt.frame_len, data->rx_mgmt.fi);
break;
#endif /* NEED_AP_MLME */
case EVENT_RX_PROBE_REQ:
hostapd_probe_req_rx(hapd, data->rx_probe_req.sa,
data->rx_probe_req.ie,
data->rx_probe_req.ie_len);
break;
default:
wpa_printf(MSG_DEBUG, "Unknown event %d", event);
break;
@ -376,20 +398,3 @@ void wpa_supplicant_event(void *ctx, wpa_event_type event,
}
#endif /* HOSTAPD */
int hostapd_probe_req_rx(struct hostapd_data *hapd, const u8 *sa,
const u8 *ie, size_t ie_len)
{
size_t i;
int ret = 0;
for (i = 0; hapd->probereq_cb && i < hapd->num_probereq_cb; i++) {
if (hapd->probereq_cb[i].cb(hapd->probereq_cb[i].ctx,
sa, ie, ie_len) > 0) {
ret = 1;
break;
}
}
return ret;
}