Lines Matching refs:ic

132 wifi_cfg_essid(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp)  in wifi_cfg_essid()  argument
148 wl_get_essid(ic, ow_essid); in wifi_cfg_essid()
151 err = wl_set_essid(ic, iw_essid); in wifi_cfg_essid()
166 wifi_cfg_bssid(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_bssid() argument
179 wl_get_bssid(ic, outp->wldp_buf); in wifi_cfg_bssid()
182 err = wl_set_bssid(ic, inp->wldp_buf); in wifi_cfg_bssid()
200 wifi_cfg_nodename(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_nodename() argument
218 len = wifi_strnlen((const char *)ic->ic_nickname, in wifi_cfg_nodename()
221 bcopy(ic->ic_nickname, ow_name->wl_nodename_name, len); in wifi_cfg_nodename()
240 bcopy(nodename, ic->ic_nickname, len); in wifi_cfg_nodename()
242 ic->ic_nickname[len] = 0; in wifi_cfg_nodename()
257 wifi_cfg_phy(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_phy() argument
273 err = wl_get_phy(ic, ow_phy); in wifi_cfg_phy()
277 err = wl_set_phy(ic, iw_phy); in wifi_cfg_phy()
293 wifi_cfg_wepkey(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_wepkey() argument
320 err = wl_set_wepkey(ic, iw_wepkey); in wifi_cfg_wepkey()
335 wifi_cfg_keyid(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_keyid() argument
351 *ow_kid = (ic->ic_def_txkey == IEEE80211_KEYIX_NONE) ? in wifi_cfg_keyid()
352 0 : ic->ic_def_txkey; in wifi_cfg_keyid()
363 ic->ic_def_txkey = *iw_kid; in wifi_cfg_keyid()
380 wifi_cfg_authmode(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_authmode() argument
396 wl_get_authmode(ic, ow_auth); in wifi_cfg_authmode()
399 err = wl_set_authmode(ic, iw_auth); in wifi_cfg_authmode()
414 wifi_cfg_encrypt(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_encrypt() argument
430 wl_get_encrypt(ic, ow_encryp); in wifi_cfg_encrypt()
433 err = wl_set_encrypt(ic, iw_encryp); in wifi_cfg_encrypt()
448 wifi_cfg_bsstype(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_bsstype() argument
464 wl_get_bsstype(ic, ow_opmode); in wifi_cfg_bsstype()
467 if (*iw_opmode == ic->ic_opmode) in wifi_cfg_bsstype()
470 err = wl_set_bsstype(ic, iw_opmode); in wifi_cfg_bsstype()
485 wifi_cfg_createibss(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_createibss() argument
501 wl_get_createibss(ic, ow_ibss); in wifi_cfg_createibss()
504 err = wl_set_createibss(ic, iw_ibss); in wifi_cfg_createibss()
519 wifi_cfg_linkstatus(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_linkstatus() argument
533 wl_get_linkstatus(ic, ow_linkstat); in wifi_cfg_linkstatus()
552 wifi_cfg_suprates(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_suprates() argument
570 (void) wl_get_suprates(ic, ow_rates); in wifi_cfg_suprates()
589 wifi_cfg_desrates(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_desrates() argument
606 wl_get_desrates(ic, ow_rates); in wifi_cfg_desrates()
609 err = wl_set_desrates(ic, iw_rates); in wifi_cfg_desrates()
630 struct ieee80211com *ic = in->in_ic; in wifi_getrssi() local
633 rssi = ic->ic_node_getrssi(in); in wifi_getrssi()
634 max_rssi = (ic->ic_maxrssi == 0) ? IEEE80211_MAXRSSI : ic->ic_maxrssi; in wifi_getrssi()
646 wifi_cfg_rssi(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_rssi() argument
660 *ow_rssi = wifi_getrssi(ic->ic_bss); in wifi_cfg_rssi()
686 wifi_wait_scan(struct ieee80211com *ic) in wifi_wait_scan() argument
688 ieee80211_impl_t *im = ic->ic_private; in wifi_wait_scan()
691 while ((ic->ic_flags & (IEEE80211_F_SCAN | IEEE80211_F_ASCAN)) != 0) { in wifi_wait_scan()
692 if (cv_reltimedwait_sig(&im->im_scan_cv, &ic->ic_genlock, in wifi_wait_scan()
712 ieee80211com_t *ic = in->in_ic; in wifi_read_ap() local
728 if (IEEE80211_ADDR_EQ(in->in_macaddr, ic->ic_macaddr)) in wifi_read_ap()
758 fhss->wl_fhss_channel = ieee80211_chan2ieee(ic, chan); in wifi_read_ap()
767 dsss->wl_dsss_channel = ieee80211_chan2ieee(ic, chan); in wifi_read_ap()
781 erp->wl_erp_channel = ieee80211_chan2ieee(ic, chan); in wifi_read_ap()
815 wifi_cfg_esslist(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_esslist() argument
832 ieee80211_iterate_nodes(&ic->ic_scan, wifi_read_ap, ow_aps); in wifi_cfg_esslist()
864 wifi_cmd_scan(struct ieee80211com *ic, mblk_t *mp) in wifi_cmd_scan() argument
866 int ostate = ic->ic_state; in wifi_cmd_scan()
881 IEEE80211_UNLOCK(ic); in wifi_cmd_scan()
883 ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); in wifi_cmd_scan()
884 IEEE80211_LOCK(ic); in wifi_cmd_scan()
886 ic->ic_flags |= IEEE80211_F_SCANONLY; in wifi_cmd_scan()
889 if ((ic->ic_flags & IEEE80211_F_WPA) == 0) { in wifi_cmd_scan()
891 wifi_wait_scan(ic); in wifi_cmd_scan()
899 wifi_loaddefdata(struct ieee80211com *ic) in wifi_loaddefdata() argument
901 struct ieee80211_node *in = ic->ic_bss; in wifi_loaddefdata()
904 ic->ic_des_esslen = 0; in wifi_loaddefdata()
905 bzero(ic->ic_des_essid, IEEE80211_NWID_LEN); in wifi_loaddefdata()
906 ic->ic_flags &= ~IEEE80211_F_DESBSSID; in wifi_loaddefdata()
907 bzero(ic->ic_des_bssid, IEEE80211_ADDR_LEN); in wifi_loaddefdata()
908 bzero(ic->ic_bss->in_bssid, IEEE80211_ADDR_LEN); in wifi_loaddefdata()
909 ic->ic_des_chan = IEEE80211_CHAN_ANYC; in wifi_loaddefdata()
910 ic->ic_fixed_rate = IEEE80211_FIXED_RATE_NONE; in wifi_loaddefdata()
911 bzero(ic->ic_nickname, IEEE80211_NWID_LEN); in wifi_loaddefdata()
913 ic->ic_flags &= ~IEEE80211_F_PRIVACY; in wifi_loaddefdata()
914 ic->ic_flags &= ~IEEE80211_F_WPA; /* mask WPA mode */ in wifi_loaddefdata()
915 ic->ic_evq_head = ic->ic_evq_tail = 0; /* reset Queue */ in wifi_loaddefdata()
916 ic->ic_def_txkey = 0; in wifi_loaddefdata()
918 ic->ic_nw_keys[i].wk_keylen = 0; in wifi_loaddefdata()
919 bzero(ic->ic_nw_keys[i].wk_key, IEEE80211_KEYBUF_SIZE); in wifi_loaddefdata()
921 ic->ic_curmode = IEEE80211_MODE_AUTO; in wifi_loaddefdata()
922 ic->ic_flags &= ~IEEE80211_F_IBSSON; in wifi_loaddefdata()
923 ic->ic_opmode = IEEE80211_M_STA; in wifi_loaddefdata()
927 wifi_cmd_loaddefaults(struct ieee80211com *ic, mblk_t *mp) in wifi_cmd_loaddefaults() argument
929 wifi_loaddefdata(ic); in wifi_cmd_loaddefaults()
935 wifi_cmd_disassoc(struct ieee80211com *ic, mblk_t *mp) in wifi_cmd_disassoc() argument
937 if (ic->ic_state != IEEE80211_S_INIT) { in wifi_cmd_disassoc()
938 IEEE80211_UNLOCK(ic); in wifi_cmd_disassoc()
939 (void) ieee80211_new_state(ic, IEEE80211_S_INIT, -1); in wifi_cmd_disassoc()
940 IEEE80211_LOCK(ic); in wifi_cmd_disassoc()
942 wifi_loaddefdata(ic); in wifi_cmd_disassoc()
951 wifi_cfg_caps(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_caps() argument
965 wl_get_capability(ic, o_caps); in wifi_cfg_caps()
987 wifi_cfg_wpa(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_wpa() argument
1003 wl_get_wpa(ic, o_wpa); in wifi_cfg_wpa()
1006 err = wl_set_wpa(ic, wpa); in wifi_cfg_wpa()
1025 wifi_cfg_wpakey(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_wpakey() argument
1043 err = wl_set_wpakey(ic, ik); in wifi_cfg_wpakey()
1062 wifi_cfg_delkey(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_delkey() argument
1080 err = wl_set_delkey(ic, dk); in wifi_cfg_delkey()
1098 wifi_cfg_setoptie(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_setoptie() argument
1116 if ((err = wl_set_optie(ic, ie_in)) == EINVAL) in wifi_cfg_setoptie()
1136 wifi_cfg_scanresults(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_scanresults() argument
1157 nt = &ic->ic_scan; in wifi_cfg_scanresults()
1207 wifi_cfg_setmlme(struct ieee80211com *ic, uint32_t cmd, mblk_t **mp) in wifi_cfg_setmlme() argument
1225 err = wl_set_mlme(ic, mlme); in wifi_cfg_setmlme()
1240 wifi_cfg_getset(struct ieee80211com *ic, mblk_t **mp, uint32_t cmd) in wifi_cfg_getset() argument
1246 ASSERT(ic != NULL && mp1 != NULL); in wifi_cfg_getset()
1247 IEEE80211_LOCK_ASSERT(ic); in wifi_cfg_getset()
1257 err = wifi_cmd_scan(ic, mp1); in wifi_cfg_getset()
1260 err = wifi_cmd_loaddefaults(ic, mp1); in wifi_cfg_getset()
1263 err = wifi_cmd_disassoc(ic, mp1); in wifi_cfg_getset()
1267 err = wifi_cfg_essid(ic, cmd, mp); in wifi_cfg_getset()
1270 err = wifi_cfg_bssid(ic, cmd, mp); in wifi_cfg_getset()
1273 err = wifi_cfg_nodename(ic, cmd, mp); in wifi_cfg_getset()
1276 err = wifi_cfg_phy(ic, cmd, mp); in wifi_cfg_getset()
1279 err = wifi_cfg_wepkey(ic, cmd, mp); in wifi_cfg_getset()
1282 err = wifi_cfg_keyid(ic, cmd, mp); in wifi_cfg_getset()
1285 err = wifi_cfg_authmode(ic, cmd, mp); in wifi_cfg_getset()
1288 err = wifi_cfg_encrypt(ic, cmd, mp); in wifi_cfg_getset()
1291 err = wifi_cfg_bsstype(ic, cmd, mp); in wifi_cfg_getset()
1294 err = wifi_cfg_createibss(ic, cmd, mp); in wifi_cfg_getset()
1297 err = wifi_cfg_desrates(ic, cmd, mp); in wifi_cfg_getset()
1300 err = wifi_cfg_linkstatus(ic, cmd, mp); in wifi_cfg_getset()
1303 err = wifi_cfg_esslist(ic, cmd, mp); in wifi_cfg_getset()
1306 err = wifi_cfg_suprates(ic, cmd, mp); in wifi_cfg_getset()
1309 err = wifi_cfg_rssi(ic, cmd, mp); in wifi_cfg_getset()
1315 err = wifi_cfg_caps(ic, cmd, mp); in wifi_cfg_getset()
1318 err = wifi_cfg_wpa(ic, cmd, mp); in wifi_cfg_getset()
1321 err = wifi_cfg_wpakey(ic, cmd, mp); in wifi_cfg_getset()
1324 err = wifi_cfg_delkey(ic, cmd, mp); in wifi_cfg_getset()
1327 err = wifi_cfg_setoptie(ic, cmd, mp); in wifi_cfg_getset()
1330 err = wifi_cfg_scanresults(ic, cmd, mp); in wifi_cfg_getset()
1333 err = wifi_cfg_setmlme(ic, cmd, mp); in wifi_cfg_getset()
1360 ieee80211_ioctl(struct ieee80211com *ic, queue_t *wq, mblk_t *mp) in ieee80211_ioctl() argument
1400 IEEE80211_LOCK(ic); in ieee80211_ioctl()
1407 IEEE80211_UNLOCK(ic); in ieee80211_ioctl()
1417 err = wifi_cfg_getset(ic, &mp1, cmd); in ieee80211_ioctl()
1419 IEEE80211_UNLOCK(ic); in ieee80211_ioctl()
1439 wl_set_essid(struct ieee80211com *ic, const void *wldp_buf) in wl_set_essid() argument
1461 ic->ic_des_esslen = iw_essid->wl_essid_length; in wl_set_essid()
1462 if (ic->ic_des_esslen != 0) in wl_set_essid()
1463 bcopy(essid, ic->ic_des_essid, ic->ic_des_esslen); in wl_set_essid()
1464 if (ic->ic_des_esslen < IEEE80211_NWID_LEN) in wl_set_essid()
1465 ic->ic_des_essid[ic->ic_des_esslen] = 0; in wl_set_essid()
1473 wl_get_essid(struct ieee80211com *ic, void *wldp_buf) in wl_get_essid() argument
1478 essid = (char *)ic->ic_des_essid; in wl_get_essid()
1480 essid = (char *)ic->ic_bss->in_essid; in wl_get_essid()
1495 wl_set_bssid(struct ieee80211com *ic, const void* wldp_buf) in wl_set_bssid() argument
1502 bcopy(wldp_buf, ic->ic_des_bssid, sizeof (wl_bssid_t)); in wl_set_bssid()
1503 ic->ic_flags |= IEEE80211_F_DESBSSID; in wl_set_bssid()
1509 wl_get_bssid(struct ieee80211com *ic, void *wldp_buf) in wl_get_bssid() argument
1513 if (ic->ic_flags & IEEE80211_F_DESBSSID) in wl_get_bssid()
1514 bssid = ic->ic_des_bssid; in wl_get_bssid()
1516 bssid = ic->ic_bss->in_bssid; in wl_get_bssid()
1525 wl_set_bsstype(struct ieee80211com *ic, const void *wldp_buf) in wl_set_bsstype() argument
1535 ic->ic_flags &= ~IEEE80211_F_IBSSON; in wl_set_bsstype()
1536 ic->ic_opmode = IEEE80211_M_STA; in wl_set_bsstype()
1540 if ((ic->ic_caps & IEEE80211_C_IBSS) == 0) { in wl_set_bsstype()
1545 ic->ic_opmode = IEEE80211_M_IBSS; in wl_set_bsstype()
1558 wl_get_bsstype(struct ieee80211com *ic, void *wldp_buf) in wl_get_bsstype() argument
1562 switch (ic->ic_opmode) { in wl_get_bsstype()
1581 wl_get_linkstatus(struct ieee80211com *ic, void *wldp_buf) in wl_get_linkstatus() argument
1585 ow_linkstat = (ic->ic_state == IEEE80211_S_RUN) ? in wl_get_linkstatus()
1587 if ((ic->ic_flags & IEEE80211_F_WPA) && in wl_get_linkstatus()
1588 (ieee80211_crypto_getciphertype(ic) != WIFI_SEC_WPA)) { in wl_get_linkstatus()
1599 wl_set_desrates(struct ieee80211com *ic, const void *wldp_buf) in wl_set_desrates() argument
1606 struct ieee80211_node *in = ic->ic_bss; in wl_set_desrates()
1610 if (ic->ic_fixed_rate == drate) in wl_set_desrates()
1617 ic->ic_fixed_rate = IEEE80211_FIXED_RATE_NONE; in wl_set_desrates()
1618 if (ic->ic_state == IEEE80211_S_RUN) { in wl_set_desrates()
1619 IEEE80211_UNLOCK(ic); in wl_set_desrates()
1620 ieee80211_new_state(ic, IEEE80211_S_ASSOC, 0); in wl_set_desrates()
1621 IEEE80211_LOCK(ic); in wl_set_desrates()
1639 if (ic->ic_state != IEEE80211_S_INIT && in wl_set_desrates()
1640 ic->ic_state != IEEE80211_S_SCAN) { in wl_set_desrates()
1647 ic->ic_fixed_rate = drate; in wl_set_desrates()
1648 if (ic->ic_state == IEEE80211_S_RUN) { in wl_set_desrates()
1649 IEEE80211_UNLOCK(ic); in wl_set_desrates()
1650 ieee80211_new_state(ic, in wl_set_desrates()
1652 IEEE80211_LOCK(ic); in wl_set_desrates()
1664 rs = &ic->ic_sup_rates[i]; in wl_set_desrates()
1680 ic->ic_fixed_rate = drate; in wl_set_desrates()
1681 if (ic->ic_state != IEEE80211_S_SCAN) in wl_set_desrates()
1688 wl_get_desrates(struct ieee80211com *ic, void *wldp_buf) in wl_get_desrates() argument
1692 struct ieee80211_node *in = ic->ic_bss; in wl_get_desrates()
1698 (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) ? in wl_get_desrates()
1699 srate : ic->ic_fixed_rate; in wl_get_desrates()
1708 wl_set_authmode(struct ieee80211com *ic, const void *wldp_buf) in wl_set_authmode() argument
1713 if (*iw_auth == ic->ic_bss->in_authmode) in wl_set_authmode()
1722 ic->ic_bss->in_authmode = *iw_auth; in wl_set_authmode()
1736 wl_get_authmode(struct ieee80211com *ic, void *wldp_buf) in wl_get_authmode() argument
1740 ow_auth = ic->ic_bss->in_authmode; in wl_get_authmode()
1749 wl_set_encrypt(struct ieee80211com *ic, const void *wldp_buf) in wl_set_encrypt() argument
1758 flags = ic->ic_flags; in wl_set_encrypt()
1764 if (ic->ic_flags != flags) { in wl_set_encrypt()
1765 ic->ic_flags = flags; in wl_set_encrypt()
1773 wl_get_encrypt(struct ieee80211com *ic, void *wldp_buf) in wl_get_encrypt() argument
1778 *ow_encryp = (ic->ic_flags & IEEE80211_F_PRIVACY) ? 1 : 0; in wl_get_encrypt()
1779 if (ic->ic_flags & IEEE80211_F_WPA) in wl_get_encrypt()
1788 wl_get_rssi(struct ieee80211com *ic, void *wldp_buf) in wl_get_rssi() argument
1793 *ow_rssi = wifi_getrssi(ic->ic_bss); in wl_get_rssi()
1802 wl_set_phy(struct ieee80211com *ic, const void* wldp_buf) in wl_set_phy() argument
1816 ic->ic_des_chan = IEEE80211_CHAN_ANYC; in wl_set_phy()
1818 ieee80211_isclr(ic->ic_chan_active, ch)) { in wl_set_phy()
1822 ic->ic_des_chan = ic->ic_ibss_chan = in wl_set_phy()
1823 &ic->ic_sup_channels[ch]; in wl_set_phy()
1826 switch (ic->ic_state) { in wl_set_phy()
1837 if (ic->ic_des_chan != IEEE80211_CHAN_ANYC && in wl_set_phy()
1838 ic->ic_bss->in_chan != ic->ic_des_chan && in wl_set_phy()
1839 (ic->ic_flags & IEEE80211_F_SCAN) == 0) in wl_set_phy()
1850 wl_get_phy(struct ieee80211com *ic, void *wldp_buf) in wl_get_phy() argument
1854 struct ieee80211_channel *ch = ic->ic_curchan; in wl_get_phy()
1855 struct ieee80211_node *in = ic->ic_bss; in wl_get_phy()
1867 switch (ic->ic_phytype) { in wl_get_phy()
1872 ieee80211_chan2ieee(ic, ch); in wl_get_phy()
1879 ieee80211_chan2ieee(ic, ch); in wl_get_phy()
1886 ieee80211_chan2ieee(ic, ch); in wl_get_phy()
1892 "unknown phy type, %x\n", ic->ic_phytype); in wl_get_phy()
1905 wl_get_capability(struct ieee80211com *ic, void *wldp_buf) in wl_get_capability() argument
1909 ow_caps.caps = ic->ic_caps; in wl_get_capability()
1918 wl_set_wpa(struct ieee80211com *ic, const void *wldp_buf) in wl_set_wpa() argument
1928 ic->ic_flags |= IEEE80211_F_PRIVACY; in wl_set_wpa()
1929 ic->ic_flags |= IEEE80211_F_WPA; in wl_set_wpa()
1931 ic->ic_flags &= ~IEEE80211_F_PRIVACY; in wl_set_wpa()
1932 ic->ic_flags &= ~IEEE80211_F_WPA; in wl_set_wpa()
1939 wl_get_wpa(struct ieee80211com *ic, void *wldp_buf) in wl_get_wpa() argument
1944 wpa->wpa_flag = ((ic->ic_flags & IEEE80211_F_WPA) ? 1 : 0); in wl_get_wpa()
1956 wl_get_scanresults(struct ieee80211com *ic, void *wldp_buf) in wl_get_scanresults() argument
1970 nt = &ic->ic_scan; in wl_get_scanresults()
2003 wl_get_esslist(struct ieee80211com *ic, void *wldp_buf) in wl_get_esslist() argument
2010 ieee80211_iterate_nodes(&ic->ic_scan, wifi_read_ap, ess_list); in wl_get_esslist()
2018 wl_set_wepkey(struct ieee80211com *ic, const void *wldp_buf) in wl_set_wepkey() argument
2045 key = &ic->ic_nw_keys[i]; in wl_set_wepkey()
2046 if (ieee80211_crypto_newkey(ic, IEEE80211_CIPHER_WEP, in wl_set_wepkey()
2059 if (ieee80211_crypto_setkey(ic, key, ic->ic_macaddr) in wl_set_wepkey()
2076 wl_set_optie(struct ieee80211com *ic, const void *wldp_buf) in wl_set_optie() argument
2082 if (ic->ic_opmode != IEEE80211_M_STA) { in wl_set_optie()
2097 if (ic->ic_opt_ie != NULL) { in wl_set_optie()
2100 ieee80211_free(ic->ic_opt_ie); in wl_set_optie()
2102 ic->ic_opt_ie = ie; in wl_set_optie()
2103 ic->ic_opt_ie_len = ie_in->wpa_ie_len; in wl_set_optie()
2112 wl_set_delkey(struct ieee80211com *ic, const void *wldp_buf) in wl_set_delkey() argument
2129 (void) ieee80211_crypto_delkey(ic, in wl_set_delkey()
2130 &ic->ic_nw_keys[kid]); in wl_set_delkey()
2131 ieee80211_mac_update(ic); in wl_set_delkey()
2142 wl_set_mlme(struct ieee80211com *ic, const void *wldp_buf) in wl_set_mlme() argument
2155 if (ic->ic_opmode == IEEE80211_M_STA) { in wl_set_mlme()
2160 flags = ic->ic_flags; in wl_set_mlme()
2161 ic->ic_flags &= ~IEEE80211_F_WPA; in wl_set_mlme()
2163 IEEE80211_UNLOCK(ic); in wl_set_mlme()
2164 ieee80211_new_state(ic, IEEE80211_S_INIT, in wl_set_mlme()
2166 IEEE80211_LOCK(ic); in wl_set_mlme()
2168 ic->ic_flags = flags; in wl_set_mlme()
2172 if (ic->ic_opmode != IEEE80211_M_STA) { in wl_set_mlme()
2177 if (ic->ic_des_esslen != 0) { in wl_set_mlme()
2182 in = ieee80211_find_node_with_ssid(&ic->ic_scan, in wl_set_mlme()
2184 ic->ic_des_esslen, in wl_set_mlme()
2185 ic->ic_des_essid); in wl_set_mlme()
2190 in = ieee80211_find_node(&ic->ic_scan, in wl_set_mlme()
2199 IEEE80211_UNLOCK(ic); in wl_set_mlme()
2200 ieee80211_sta_join(ic, in); in wl_set_mlme()
2201 IEEE80211_LOCK(ic); in wl_set_mlme()
2215 wl_set_wpakey(struct ieee80211com *ic, const void *wldp_buf) in wl_set_wpakey() argument
2243 wk = &ic->ic_nw_keys[kid]; in wl_set_wpakey()
2253 KEY_UPDATE_BEGIN(ic); in wl_set_wpakey()
2254 if (ieee80211_crypto_newkey(ic, ik.ik_type, in wl_set_wpakey()
2267 if (!ieee80211_crypto_setkey(ic, wk, in wl_set_wpakey()
2271 ic->ic_def_txkey = kid; in wl_set_wpakey()
2272 ieee80211_mac_update(ic); in wl_set_wpakey()
2277 KEY_UPDATE_END(ic); in wl_set_wpakey()
2286 wl_get_suprates(struct ieee80211com *ic, void *wldp_buf) in wl_get_suprates() argument
2299 srs = &ic->ic_sup_rates[i]; in wl_get_suprates()
2326 wl_set_createibss(struct ieee80211com *ic, const void *wldp_buf) in wl_set_createibss() argument
2334 if ((ic->ic_caps & IEEE80211_C_IBSS) == 0) { in wl_set_createibss()
2339 if ((ic->ic_flags & IEEE80211_F_IBSSON) == 0) { in wl_set_createibss()
2340 ic->ic_flags |= IEEE80211_F_IBSSON; in wl_set_createibss()
2341 ic->ic_opmode = IEEE80211_M_IBSS; in wl_set_createibss()
2347 ieee80211_reset_erp(ic); in wl_set_createibss()
2351 if (ic->ic_flags & IEEE80211_F_IBSSON) { in wl_set_createibss()
2352 ic->ic_flags &= ~IEEE80211_F_IBSSON; in wl_set_createibss()
2361 wl_get_createibss(struct ieee80211com *ic, void *wldp_buf) in wl_get_createibss() argument
2365 *ow_ibss = (ic->ic_flags & IEEE80211_F_IBSSON)? 1 : 0; in wl_get_createibss()
2388 struct ieee80211com *ic = ic_arg; in ieee80211_setprop() local
2390 ASSERT(ic != NULL); in ieee80211_setprop()
2391 IEEE80211_LOCK(ic); in ieee80211_setprop()
2396 err = wl_set_essid(ic, wldp_buf); in ieee80211_setprop()
2399 err = wl_set_bssid(ic, wldp_buf); in ieee80211_setprop()
2402 err = wl_set_phy(ic, wldp_buf); in ieee80211_setprop()
2405 err = wl_set_wepkey(ic, wldp_buf); in ieee80211_setprop()
2408 err = wl_set_authmode(ic, wldp_buf); in ieee80211_setprop()
2411 err = wl_set_encrypt(ic, wldp_buf); in ieee80211_setprop()
2414 err = wl_set_bsstype(ic, wldp_buf); in ieee80211_setprop()
2417 err = wl_set_desrates(ic, wldp_buf); in ieee80211_setprop()
2420 err = wl_set_wpa(ic, wldp_buf); in ieee80211_setprop()
2423 err = wl_set_wpakey(ic, wldp_buf); in ieee80211_setprop()
2426 err = wl_set_delkey(ic, wldp_buf); in ieee80211_setprop()
2429 err = wl_set_optie(ic, wldp_buf); in ieee80211_setprop()
2432 err = wl_set_mlme(ic, wldp_buf); in ieee80211_setprop()
2435 err = wl_set_createibss(ic, wldp_buf); in ieee80211_setprop()
2452 IEEE80211_UNLOCK(ic); in ieee80211_setprop()
2463 struct ieee80211com *ic = ic_arg; in ieee80211_getprop() local
2465 ASSERT(ic != NULL); in ieee80211_getprop()
2466 IEEE80211_LOCK(ic); in ieee80211_getprop()
2471 wl_get_essid(ic, wldp_buf); in ieee80211_getprop()
2474 wl_get_bssid(ic, wldp_buf); in ieee80211_getprop()
2477 err = wl_get_phy(ic, wldp_buf); in ieee80211_getprop()
2480 wl_get_authmode(ic, wldp_buf); in ieee80211_getprop()
2483 wl_get_encrypt(ic, wldp_buf); in ieee80211_getprop()
2486 wl_get_bsstype(ic, wldp_buf); in ieee80211_getprop()
2489 wl_get_desrates(ic, wldp_buf); in ieee80211_getprop()
2492 wl_get_linkstatus(ic, wldp_buf); in ieee80211_getprop()
2495 wl_get_esslist(ic, wldp_buf); in ieee80211_getprop()
2498 wl_get_suprates(ic, wldp_buf); in ieee80211_getprop()
2501 wl_get_rssi(ic, wldp_buf); in ieee80211_getprop()
2504 wl_get_capability(ic, wldp_buf); in ieee80211_getprop()
2507 wl_get_wpa(ic, wldp_buf); in ieee80211_getprop()
2510 wl_get_scanresults(ic, wldp_buf); in ieee80211_getprop()
2513 wl_get_createibss(ic, wldp_buf); in ieee80211_getprop()
2529 IEEE80211_UNLOCK(ic); in ieee80211_getprop()