• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/wpa_supplicant-0.7.3/src/drivers/

Lines Matching refs:drv

182 set80211priv(struct madwifi_driver_data *drv, int op, void *data, int len)
193 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
209 if (ioctl(drv->ioctl_sock, op, &iwr) < 0) {
212 __func__, drv->iface, op,
221 set80211param(struct madwifi_driver_data *drv, int op, int arg)
226 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
230 if (ioctl(drv->ioctl_sock, IEEE80211_IOCTL_SETPARAM, &iwr) < 0) {
233 "(%s) arg %d)", __func__, drv->iface, op,
258 madwifi_configure_wpa(struct madwifi_driver_data *drv,
285 if (set80211param(drv, IEEE80211_PARAM_MCASTCIPHER, v)) {
292 if (set80211param(drv, IEEE80211_PARAM_MCASTKEYLEN, v)) {
306 if (set80211param(drv, IEEE80211_PARAM_UCASTCIPHERS, v)) {
313 if (set80211param(drv, IEEE80211_PARAM_KEYMGTALGS,
325 if (set80211param(drv, IEEE80211_PARAM_RSNCAPS, v)) {
331 if (set80211param(drv, IEEE80211_PARAM_WPA, params->wpa)) {
341 struct madwifi_driver_data *drv = priv;
351 return madwifi_set_privacy(drv, 0);
354 hostapd_logger(drv->hapd, NULL, HOSTAPD_MODULE_DRIVER,
358 if (params->wpa && madwifi_configure_wpa(drv, params) != 0) {
359 hostapd_logger(drv->hapd, NULL, HOSTAPD_MODULE_DRIVER,
365 hostapd_logger(drv->hapd, NULL, HOSTAPD_MODULE_DRIVER,
376 struct madwifi_driver_data *drv = priv;
380 return set80211param(drv, IEEE80211_PARAM_PRIVACY, enabled);
386 struct madwifi_driver_data *drv = priv;
399 ret = set80211priv(drv, IEEE80211_IOCTL_SETMLME, &mlme, sizeof(mlme));
423 struct madwifi_driver_data *drv = priv;
438 ret = set80211priv(drv, IEEE80211_IOCTL_DELKEY, &wk, sizeof(wk));
453 struct madwifi_driver_data *drv = priv;
459 return madwifi_del_key(drv, addr, key_idx);
500 ret = set80211priv(drv, IEEE80211_IOCTL_SETKEY, &wk, sizeof(wk));
516 struct madwifi_driver_data *drv = priv;
529 if (set80211priv(drv, IEEE80211_IOCTL_GETKEY, &wk, sizeof(wk))) {
573 struct madwifi_driver_data *drv = priv;
583 if (set80211priv(drv, IEEE80211_IOCTL_STA_STATS,
587 if (memcmp(addr, drv->acct_mac, ETH_ALEN) == 0) {
588 memcpy(data, &drv->acct_data, sizeof(*data));
607 struct madwifi_driver_data *drv = priv;
615 ret = set80211priv(drv, IEEE80211_IOCTL_SETMLME, &mlme,
640 struct madwifi_driver_data *drv = priv;
650 ret = set80211priv(drv, IEEE80211_IOCTL_SETMLME, &mlme, sizeof(mlme));
664 struct madwifi_driver_data *drv = priv;
674 ret = set80211priv(drv, IEEE80211_IOCTL_SETMLME, &mlme, sizeof(mlme));
688 struct madwifi_driver_data *drv = ctx;
709 wpa_supplicant_event(drv->hapd, EVENT_RX_PROBE_REQ, &event);
713 static int madwifi_receive_probe_req(struct madwifi_driver_data *drv)
722 ret = set80211priv(drv, IEEE80211_IOCTL_FILTERFRAME, &filt,
727 drv->sock_raw = l2_packet_init(drv->iface, NULL, ETH_P_80211_RAW,
728 madwifi_raw_receive, drv, 1);
729 if (drv->sock_raw == NULL)
739 struct madwifi_driver_data *drv = priv;
751 return set80211priv(drv, IEEE80211_IOCTL_SET_APPIEBUF, beac_ie,
773 madwifi_new_sta(struct madwifi_driver_data *drv, u8 addr[IEEE80211_ADDR_LEN])
775 struct hostapd_data *hapd = drv->hapd;
785 if (set80211priv(drv, IEEE80211_IOCTL_GETWPAIE, &ie, sizeof(ie))) {
820 if (memcmp(addr, drv->acct_mac, ETH_ALEN) == 0) {
822 memset(drv->acct_mac, 0, ETH_ALEN);
823 memset(&drv->acct_data, 0, sizeof(drv->acct_data));
828 madwifi_wireless_event_wireless_custom(struct madwifi_driver_data *drv,
849 wpa_supplicant_event(drv->hapd,
868 hwaddr_aton(value, drv->acct_mac);
870 drv->acct_data.rx_packets = val;
872 drv->acct_data.tx_packets = val;
874 drv->acct_data.rx_bytes = val;
876 drv->acct_data.tx_bytes = val;
885 wpa_supplicant_event(drv->hapd, EVENT_WPS_BUTTON_PUSHED, NULL);
900 madwifi_raw_receive(drv, NULL,
907 madwifi_wireless_event_wireless(struct madwifi_driver_data *drv,
926 if (drv->we_version > 18 &&
942 drv_event_disassoc(drv->hapd,
946 madwifi_new_sta(drv, (u8 *) iwe->u.addr.sa_data);
962 drv, buf, buf + iwe->u.data.length);
976 struct madwifi_driver_data *drv = ctx;
980 if (ifi->ifi_index != drv->ifindex)
990 drv, ((char *) attr) + rta_len,
999 madwifi_get_we_version(struct madwifi_driver_data *drv)
1006 drv->we_version = 0;
1018 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
1025 if (ioctl(drv->ioctl_sock, SIOCGIWRANGE, &iwr) < 0) {
1036 drv->we_version = range->we_version_compiled;
1045 madwifi_wireless_event_init(struct madwifi_driver_data *drv)
1049 madwifi_get_we_version(drv);
1054 cfg->ctx = drv;
1056 drv->netlink = netlink_init(cfg);
1057 if (drv->netlink == NULL) {
1070 struct madwifi_driver_data *drv = priv;
1100 status = l2_packet_send(drv->sock_xmit, addr, ETH_P_EAPOL, bp, len);
1110 struct madwifi_driver_data *drv = ctx;
1111 drv_event_eapol_rx(drv->hapd, src_addr, buf + sizeof(struct l2_ethhdr),
1118 struct madwifi_driver_data *drv;
1123 drv = os_zalloc(sizeof(struct madwifi_driver_data));
1124 if (drv == NULL) {
1129 drv->hapd = hapd;
1130 drv->ioctl_sock = socket(PF_INET, SOCK_DGRAM, 0);
1131 if (drv->ioctl_sock < 0) {
1135 memcpy(drv->iface, params->ifname, sizeof(drv->iface));
1138 os_strlcpy(ifr.ifr_name, drv->iface, sizeof(ifr.ifr_name));
1139 if (ioctl(drv->ioctl_sock, SIOCGIFINDEX, &ifr) != 0) {
1143 drv->ifindex = ifr.ifr_ifindex;
1145 drv->sock_xmit = l2_packet_init(drv->iface, NULL, ETH_P_EAPOL,
1146 handle_read, drv, 1);
1147 if (drv->sock_xmit == NULL)
1149 if (l2_packet_get_own_addr(drv->sock_xmit, params->own_addr))
1154 drv->sock_recv = l2_packet_init(params->bridge[0], NULL,
1155 ETH_P_EAPOL, handle_read, drv,
1157 if (drv->sock_recv == NULL)
1159 } else if (linux_br_get(brname, drv->iface) == 0) {
1162 drv->sock_recv = l2_packet_init(brname, NULL, ETH_P_EAPOL,
1163 handle_read, drv, 1);
1164 if (drv->sock_recv == NULL)
1167 drv->sock_recv = drv->sock_xmit;
1170 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
1174 if (ioctl(drv->ioctl_sock, SIOCSIWMODE, &iwr) < 0) {
1181 linux_set_iface_flags(drv->ioctl_sock, drv->iface, 0);
1182 madwifi_set_privacy(drv, 0); /* default to no privacy */
1184 madwifi_receive_probe_req(drv);
1186 if (madwifi_wireless_event_init(drv))
1189 return drv;
1191 if (drv->sock_recv != NULL && drv->sock_recv != drv->sock_xmit)
1192 l2_packet_deinit(drv->sock_recv);
1193 if (drv->sock_xmit != NULL)
1194 l2_packet_deinit(drv->sock_xmit);
1195 if (drv->ioctl_sock >= 0)
1196 close(drv->ioctl_sock);
1197 if (drv != NULL)
1198 free(drv);
1206 struct madwifi_driver_data *drv = priv;
1208 netlink_deinit(drv->netlink);
1209 (void) linux_set_iface_flags(drv->ioctl_sock, drv->iface, 0);
1210 if (drv->ioctl_sock >= 0)
1211 close(drv->ioctl_sock);
1212 if (drv->sock_recv != NULL && drv->sock_recv != drv->sock_xmit)
1213 l2_packet_deinit(drv->sock_recv);
1214 if (drv->sock_xmit != NULL)
1215 l2_packet_deinit(drv->sock_xmit);
1216 if (drv->sock_raw)
1217 l2_packet_deinit(drv->sock_raw);
1218 free(drv);
1224 struct madwifi_driver_data *drv = priv;
1228 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
1233 if (ioctl(drv->ioctl_sock, SIOCSIWESSID, &iwr) < 0) {
1244 struct madwifi_driver_data *drv = priv;
1249 os_strlcpy(iwr.ifr_name, drv->iface, IFNAMSIZ);
1253 if (ioctl(drv->ioctl_sock, SIOCGIWESSID, &iwr) < 0) {
1265 struct madwifi_driver_data *drv = priv;
1267 return set80211param(drv, IEEE80211_PARAM_COUNTERMEASURES, enabled);
1273 struct madwifi_driver_data *drv = priv;
1274 return linux_set_iface_flags(drv->ioctl_sock, drv->iface, 1);