}
#endif /* CONFIG_WPS */
- if (hostapd_send_mgmt_frame(hapd, resp, pos - (u8 *) resp, 0) < 0)
+ if (hostapd_send_mgmt_frame(hapd, resp, pos - (u8 *) resp) < 0)
perror("handle_probe_req: send");
os_free(resp);
}
static inline int
-hostapd_send_mgmt_frame(struct hostapd_data *hapd, const void *msg, size_t len,
- int flags)
+hostapd_send_mgmt_frame(struct hostapd_data *hapd, const void *msg, size_t len)
{
if (hapd->driver == NULL || hapd->driver->send_mgmt_frame == NULL)
return 0;
- return hapd->driver->send_mgmt_frame(hapd->drv_priv, msg, len, flags);
+ return hapd->driver->send_mgmt_frame(hapd->drv_priv, msg, len);
}
static inline int
os_memcpy(m->bssid, hapd->own_addr, ETH_ALEN);
os_memcpy(&m->u, data, data_len);
- res = hostapd_send_mgmt_frame(hapd, (u8 *) m, mlen, 0);
+ res = hostapd_send_mgmt_frame(hapd, (u8 *) m, mlen);
os_free(m);
return res;
}
os_memcpy(mgmt.bssid, hapd->own_addr, ETH_ALEN);
mgmt.u.deauth.reason_code = host_to_le16(reason);
if (hostapd_send_mgmt_frame(hapd, &mgmt, IEEE80211_HDRLEN +
- sizeof(mgmt.u.deauth), 0) < 0)
+ sizeof(mgmt.u.deauth)) < 0)
perror("ieee802_11_send_deauth: send");
}
" auth_alg=%d auth_transaction=%d resp=%d (IE len=%lu)",
MAC2STR(dst), auth_alg, auth_transaction,
resp, (unsigned long) ies_len);
- if (hostapd_send_mgmt_frame(hapd, reply, rlen, 0) < 0)
+ if (hostapd_send_mgmt_frame(hapd, reply, rlen) < 0)
perror("send_auth_reply: send");
os_free(buf);
send_len += p - reply->u.assoc_resp.variable;
}
- if (hostapd_send_mgmt_frame(hapd, reply, send_len, 0) < 0)
+ if (hostapd_send_mgmt_frame(hapd, reply, send_len) < 0)
perror("handle_assoc: send");
}
os_memcpy(mgmt.u.action.u.sa_query_req.trans_id, trans_id,
WLAN_SA_QUERY_TR_ID_LEN);
end = mgmt.u.action.u.sa_query_req.trans_id + WLAN_SA_QUERY_TR_ID_LEN;
- if (hostapd_send_mgmt_frame(hapd, &mgmt, end - (u8 *) &mgmt, 0) < 0)
+ if (hostapd_send_mgmt_frame(hapd, &mgmt, end - (u8 *) &mgmt) < 0)
perror("ieee802_11_send_sa_query_req: send");
}
os_memcpy(mgmt->bssid, hapd->own_addr, ETH_ALEN);
mgmt->u.action.category |= 0x80;
- hostapd_send_mgmt_frame(hapd, mgmt, len, 0);
+ hostapd_send_mgmt_frame(hapd, mgmt, len);
}
}
ETH_ALEN);
os_memcpy(hdr.IEEE80211_SA_FROMDS, hapd->own_addr, ETH_ALEN);
- if (hostapd_send_mgmt_frame(hapd, &hdr, sizeof(hdr), 0) < 0)
+ if (hostapd_send_mgmt_frame(hapd, &hdr, sizeof(hdr)) < 0)
perror("ap_handle_timer: send");
#endif /* CONFIG_NATIVE_WINDOWS */
} else if (sta->timeout_next != STA_REMOVE) {
os_memcpy(t, tspec, sizeof(struct wmm_tspec_element));
len = ((u8 *) (t + 1)) - buf;
- if (hostapd_send_mgmt_frame(hapd, m, len, 0) < 0)
+ if (hostapd_send_mgmt_frame(hapd, m, len) < 0)
perror("wmm_send_action: send");
}
int (*hapd_set_ssid)(const char *ifname, void *priv, const u8 *buf,
int len);
int (*hapd_set_countermeasures)(void *priv, int enabled);
- int (*send_mgmt_frame)(void *priv, const void *msg, size_t len,
- int flags);
+ int (*send_mgmt_frame)(void *priv, const void *msg, size_t len);
int (*sta_add)(const char *ifname, void *priv,
struct hostapd_sta_add_params *params);
int (*get_inact_sec)(void *priv, const u8 *addr);
}
-static int hostap_send_mgmt_frame(void *priv, const void *msg, size_t len,
- int flags)
+static int hostap_send_mgmt_frame(void *priv, const void *msg, size_t len)
{
struct hostap_driver_data *drv = priv;
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) msg;
/* Request TX callback */
hdr->frame_control |= host_to_le16(BIT(1));
- res = send(drv->sock, msg, len, flags);
+ res = send(drv->sock, msg, len, 0);
hdr->frame_control &= ~host_to_le16(BIT(1));
return res;
pos += 2;
memcpy(pos, data, data_len);
- res = hostap_send_mgmt_frame(drv, (u8 *) hdr, len, 0);
+ res = hostap_send_mgmt_frame(drv, (u8 *) hdr, len);
free(hdr);
if (res < 0) {
memcpy(mgmt.bssid, drv->hapd->own_addr, ETH_ALEN);
mgmt.u.deauth.reason_code = host_to_le16(reason);
return hostap_send_mgmt_frame(drv, &mgmt, IEEE80211_HDRLEN +
- sizeof(mgmt.u.deauth), 0);
+ sizeof(mgmt.u.deauth));
}
memcpy(mgmt.bssid, drv->hapd->own_addr, ETH_ALEN);
mgmt.u.disassoc.reason_code = host_to_le16(reason);
return hostap_send_mgmt_frame(drv, &mgmt, IEEE80211_HDRLEN +
- sizeof(mgmt.u.disassoc), 0);
+ sizeof(mgmt.u.disassoc));
}
static int i802_send_frame(void *priv, const void *data, size_t len,
- int encrypt, int flags)
+ int encrypt)
{
__u8 rtap_hdr[] = {
0x00, 0x00, /* radiotap version */
if (encrypt)
rtap_hdr[8] |= IEEE80211_RADIOTAP_F_WEP;
- return sendmsg(drv->monitor_sock, &msg, flags);
+ return sendmsg(drv->monitor_sock, &msg, 0);
}
-static int i802_send_mgmt_frame(void *priv, const void *data, size_t len,
- int flags)
+static int i802_send_mgmt_frame(void *priv, const void *data, size_t len)
{
struct ieee80211_mgmt *mgmt;
int do_not_encrypt = 0;
do_not_encrypt = 1;
}
- return i802_send_frame(priv, data, len, !do_not_encrypt, flags);
+ return i802_send_frame(priv, data, len, !do_not_encrypt);
}
/* Set kernel driver on given frequency (MHz) */
pos += 2;
memcpy(pos, data, data_len);
- res = i802_send_frame(drv, (u8 *) hdr, len, encrypt, 0);
+ res = i802_send_frame(drv, (u8 *) hdr, len, encrypt);
free(hdr);
if (res < 0) {
memcpy(mgmt.bssid, drv->hapd->own_addr, ETH_ALEN);
mgmt.u.deauth.reason_code = host_to_le16(reason);
return i802_send_mgmt_frame(drv, &mgmt, IEEE80211_HDRLEN +
- sizeof(mgmt.u.deauth), 0);
+ sizeof(mgmt.u.deauth));
}
memcpy(mgmt.sa, drv->hapd->own_addr, ETH_ALEN);
memcpy(mgmt.bssid, drv->hapd->own_addr, ETH_ALEN);
mgmt.u.disassoc.reason_code = host_to_le16(reason);
- return i802_send_mgmt_frame(drv, &mgmt, IEEE80211_HDRLEN +
- sizeof(mgmt.u.disassoc), 0);
+ return i802_send_mgmt_frame(drv, &mgmt, IEEE80211_HDRLEN +
+ sizeof(mgmt.u.disassoc));
}
}
-static int test_driver_send_mgmt_frame(void *priv, const void *buf,
- size_t len, int flags)
+static int test_driver_send_mgmt_frame(void *priv, const void *buf, size_t len)
{
struct test_driver_data *drv = priv;
struct msghdr msg;