Home | History | Annotate | Download | only in drivers

Lines Matching refs:drv

94 set80211priv(struct madwifi_driver_data *drv, int op, void *data, int len)
100 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
123 if (ioctl(drv->ioctl_sock, op, &iwr) < 0) {
196 set80211param(struct madwifi_driver_data *drv, int op, int arg)
201 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
205 if (ioctl(drv->ioctl_sock, IEEE80211_IOCTL_SETPARAM, &iwr) < 0) {
232 madwifi_configure_wpa(struct madwifi_driver_data *drv,
259 if (set80211param(drv, IEEE80211_PARAM_MCASTCIPHER, v)) {
266 if (set80211param(drv, IEEE80211_PARAM_MCASTKEYLEN, v)) {
280 if (set80211param(drv, IEEE80211_PARAM_UCASTCIPHERS, v)) {
287 if (set80211param(drv, IEEE80211_PARAM_KEYMGTALGS,
299 if (set80211param(drv, IEEE80211_PARAM_RSNCAPS, v)) {
305 if (set80211param(drv, IEEE80211_PARAM_WPA, params->wpa)) {
315 struct madwifi_driver_data *drv = priv;
325 hostapd_logger(drv->hapd, NULL, HOSTAPD_MODULE_DRIVER,
329 if (params->wpa && madwifi_configure_wpa(drv, params) != 0) {
330 hostapd_logger(drv->hapd, NULL, HOSTAPD_MODULE_DRIVER,
336 hostapd_logger(drv->hapd, NULL, HOSTAPD_MODULE_DRIVER,
347 struct madwifi_driver_data *drv = priv;
351 return set80211param(drv, IEEE80211_PARAM_PRIVACY, enabled);
357 struct madwifi_driver_data *drv = priv;
370 ret = set80211priv(drv, IEEE80211_IOCTL_SETMLME, &mlme, sizeof(mlme));
394 struct madwifi_driver_data *drv = priv;
409 ret = set80211priv(drv, IEEE80211_IOCTL_DELKEY, &wk, sizeof(wk));
425 struct madwifi_driver_data *drv = priv;
431 return madwifi_del_key(drv, addr, key_idx);
468 ret = set80211priv(drv, IEEE80211_IOCTL_SETKEY, &wk, sizeof(wk));
484 struct madwifi_driver_data *drv = priv;
497 if (set80211priv(drv, IEEE80211_IOCTL_GETKEY, &wk, sizeof(wk))) {
542 struct madwifi_driver_data *drv = priv;
554 if (set80211priv(drv,
563 if (memcmp(addr, drv->acct_mac, ETH_ALEN) == 0) {
564 memcpy(data, &drv->acct_data, sizeof(*data));
586 drv->iface, MAC2STR(addr));
590 if (memcmp(addr, drv->acct_mac, ETH_ALEN) != 0)
592 memcpy(data, &drv->acct_data, sizeof(*data));
626 struct madwifi_driver_data *drv = priv;
634 ret = set80211priv(drv, IEEE80211_IOCTL_SETMLME, &mlme,
662 struct madwifi_driver_data *drv = priv;
672 ret = set80211priv(drv, IEEE80211_IOCTL_SETMLME, &mlme, sizeof(mlme));
686 struct madwifi_driver_data *drv = priv;
696 ret = set80211priv(drv, IEEE80211_IOCTL_SETMLME, &mlme, sizeof(mlme));
711 struct madwifi_driver_data *drv = ctx;
734 wpa_supplicant_event(drv->hapd, EVENT_RX_PROBE_REQ, &event);
739 static int madwifi_receive_probe_req(struct madwifi_driver_data *drv)
749 ret = set80211priv(drv, IEEE80211_IOCTL_FILTERFRAME, &filt,
754 drv->sock_raw = l2_packet_init(drv->iface, NULL, ETH_P_80211_RAW,
755 madwifi_raw_receive, drv, 1);
756 if (drv->sock_raw == NULL)
767 struct madwifi_driver_data *drv = priv;
779 return set80211priv(drv, IEEE80211_IOCTL_SET_APPIEBUF, beac_ie,
803 struct madwifi_driver_data *drv = priv;
807 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
811 if (ioctl(drv->ioctl_sock, SIOCSIWFREQ, &iwr) < 0) {
820 madwifi_new_sta(struct madwifi_driver_data *drv, u8 addr[IEEE80211_ADDR_LEN])
822 struct hostapd_data *hapd = drv->hapd;
832 if (set80211priv(drv, IEEE80211_IOCTL_GETWPAIE, &ie, sizeof(ie))) {
865 if (memcmp(addr, drv->acct_mac, ETH_ALEN) == 0) {
867 memset(drv->acct_mac, 0, ETH_ALEN);
868 memset(&drv->acct_data, 0, sizeof(drv->acct_data));
873 madwifi_wireless_event_wireless_custom(struct madwifi_driver_data *drv,
894 wpa_supplicant_event(drv->hapd,
913 hwaddr_aton(value, drv->acct_mac);
915 drv->acct_data.rx_packets = val;
917 drv->acct_data.tx_packets = val;
919 drv->acct_data.rx_bytes = val;
921 drv->acct_data.tx_bytes = val;
928 madwifi_wireless_event_wireless(struct madwifi_driver_data *drv,
947 if (drv->we_version > 18 &&
962 drv_event_disassoc(drv->hapd,
966 madwifi_new_sta(drv, (u8 *) iwe->u.addr.sa_data);
976 madwifi_wireless_event_wireless_custom(drv, buf);
990 struct madwifi_driver_data *drv = ctx;
994 if (ifi->ifi_index != drv->ifindex)
1004 drv, ((char *) attr) + rta_len,
1013 madwifi_get_we_version(struct madwifi_driver_data *drv)
1020 drv->we_version = 0;
1032 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
1039 if (ioctl(drv->ioctl_sock, SIOCGIWRANGE, &iwr) < 0) {
1050 drv->we_version = range->we_version_compiled;
1059 madwifi_wireless_event_init(struct madwifi_driver_data *drv)
1063 madwifi_get_we_version(drv);
1068 cfg->ctx = drv;
1070 drv->netlink = netlink_init(cfg);
1071 if (drv->netlink == NULL) {
1084 struct madwifi_driver_data *drv = priv;
1114 status = l2_packet_send(drv->sock_xmit, addr, ETH_P_EAPOL, bp, len);
1124 struct madwifi_driver_data *drv = ctx;
1125 drv_event_eapol_rx(drv->hapd, src_addr, buf + sizeof(struct l2_ethhdr),
1132 struct madwifi_driver_data *drv;
1137 drv = os_zalloc(sizeof(struct madwifi_driver_data));
1138 if (drv == NULL) {
1143 drv->hapd = hapd;
1144 drv->ioctl_sock = socket(PF_INET, SOCK_DGRAM, 0);
1145 if (drv->ioctl_sock < 0) {
1149 memcpy(drv->iface, params->ifname, sizeof(drv->iface));
1152 os_strlcpy(ifr.ifr_name, drv->iface, sizeof(ifr.ifr_name));
1153 if (ioctl(drv->ioctl_sock, SIOCGIFINDEX, &ifr) != 0) {
1157 drv->ifindex = ifr.ifr_ifindex;
1159 drv->sock_xmit = l2_packet_init(drv->iface, NULL, ETH_P_EAPOL,
1160 handle_read, drv, 1);
1161 if (drv->sock_xmit == NULL)
1163 if (l2_packet_get_own_addr(drv->sock_xmit, params->own_addr))
1168 drv->sock_recv = l2_packet_init(params->bridge[0], NULL,
1169 ETH_P_EAPOL, handle_read, drv,
1171 if (drv->sock_recv == NULL)
1173 } else if (linux_br_get(brname, drv->iface) == 0) {
1176 drv->sock_recv = l2_packet_init(brname, NULL, ETH_P_EAPOL,
1177 handle_read, drv, 1);
1178 if (drv->sock_recv == NULL)
1181 drv->sock_recv = drv->sock_xmit;
1184 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
1188 if (ioctl(drv->ioctl_sock, SIOCSIWMODE, &iwr) < 0) {
1195 linux_set_iface_flags(drv->ioctl_sock, drv->iface, 0);
1196 madwifi_set_privacy(drv, 0); /* default to no privacy */
1198 madwifi_receive_probe_req(drv);
1200 if (madwifi_wireless_event_init(drv))
1203 return drv;
1205 if (drv->sock_xmit != NULL)
1206 l2_packet_deinit(drv->sock_xmit);
1207 if (drv->ioctl_sock >= 0)
1208 close(drv->ioctl_sock);
1209 if (drv != NULL)
1210 free(drv);
1218 struct madwifi_driver_data *drv = priv;
1220 netlink_deinit(drv->netlink);
1221 (void) linux_set_iface_flags(drv->ioctl_sock, drv->iface, 0);
1222 if (drv->ioctl_sock >= 0)
1223 close(drv->ioctl_sock);
1224 if (drv->sock_recv != NULL && drv->sock_recv != drv->sock_xmit)
1225 l2_packet_deinit(drv->sock_recv);
1226 if (drv->sock_xmit != NULL)
1227 l2_packet_deinit(drv->sock_xmit);
1228 if (drv->sock_raw)
1229 l2_packet_deinit(drv->sock_raw);
1230 free(drv);
1236 struct madwifi_driver_data *drv = priv;
1240 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
1245 if (ioctl(drv->ioctl_sock, SIOCSIWESSID, &iwr) < 0) {
1256 struct madwifi_driver_data *drv = priv;
1261 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
1265 if (ioctl(drv->ioctl_sock, SIOCGIWESSID, &iwr) < 0) {
1277 struct madwifi_driver_data *drv = priv;
1279 return set80211param(drv, IEEE80211_PARAM_COUNTERMEASURES, enabled);
1285 struct madwifi_driver_data *drv = priv;
1286 return linux_set_iface_flags(drv->ioctl_sock, drv->iface, 1);