Lines Matching refs:ic

88 ieee80211_proto_attach(ieee80211com_t *ic)  in ieee80211_proto_attach()  argument
90 struct ieee80211_impl *im = ic->ic_private; in ieee80211_proto_attach()
92 ic->ic_rtsthreshold = IEEE80211_RTS_DEFAULT; in ieee80211_proto_attach()
93 ic->ic_fragthreshold = IEEE80211_FRAG_DEFAULT; in ieee80211_proto_attach()
94 ic->ic_fixed_rate = IEEE80211_FIXED_RATE_NONE; in ieee80211_proto_attach()
95 ic->ic_protmode = IEEE80211_PROT_CTSONLY; in ieee80211_proto_attach()
98 ic->ic_wme.wme_hipri_switch_hysteresis = in ieee80211_proto_attach()
102 ic->ic_newstate = ieee80211_newstate; in ieee80211_proto_attach()
105 ic->ic_recv_mgmt = ieee80211_recv_mgmt; in ieee80211_proto_attach()
106 ic->ic_send_mgmt = ieee80211_send_mgmt; in ieee80211_proto_attach()
235 ieee80211com_t *ic = in->in_ic; in ieee80211_fix_rate() local
249 (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE)) { in ieee80211_fix_rate()
256 srs = &ic->ic_sup_rates[ieee80211_chan2mode(ic, in->in_chan)]; in ieee80211_fix_rate()
320 if (r == ic->ic_fixed_rate) in ieee80211_fix_rate()
337 ieee80211_reset_erp(ieee80211com_t *ic) in ieee80211_reset_erp() argument
339 ic->ic_flags &= ~IEEE80211_F_USEPROT; in ieee80211_reset_erp()
345 ieee80211_set_shortslottime(ic, in ieee80211_reset_erp()
346 ic->ic_curmode == IEEE80211_MODE_11A); in ieee80211_reset_erp()
350 if (ic->ic_curmode == IEEE80211_MODE_11A || in ieee80211_reset_erp()
351 (ic->ic_caps & IEEE80211_C_SHPREAMBLE)) { in ieee80211_reset_erp()
352 ic->ic_flags |= IEEE80211_F_SHPREAMBLE; in ieee80211_reset_erp()
353 ic->ic_flags &= ~IEEE80211_F_USEBARKER; in ieee80211_reset_erp()
355 ic->ic_flags &= ~IEEE80211_F_SHPREAMBLE; in ieee80211_reset_erp()
356 ic->ic_flags |= IEEE80211_F_USEBARKER; in ieee80211_reset_erp()
364 ieee80211_reset_chan(ieee80211com_t *ic) in ieee80211_reset_chan() argument
366 struct ieee80211_channel *ch = ic->ic_curchan; in ieee80211_reset_chan()
368 IEEE80211_LOCK(ic); in ieee80211_reset_chan()
370 if (++ch > &ic->ic_sup_channels[IEEE80211_CHAN_MAX]) in ieee80211_reset_chan()
371 ch = &ic->ic_sup_channels[0]; in ieee80211_reset_chan()
372 if (ieee80211_isset(ic->ic_chan_active, in ieee80211_reset_chan()
373 ieee80211_chan2ieee(ic, ch))) { in ieee80211_reset_chan()
376 } while (ch != ic->ic_curchan); in ieee80211_reset_chan()
377 ic->ic_curchan = ch; in ieee80211_reset_chan()
378 IEEE80211_UNLOCK(ic); in ieee80211_reset_chan()
385 ieee80211_set_shortslottime(ieee80211com_t *ic, boolean_t on) in ieee80211_set_shortslottime() argument
388 ic->ic_flags |= IEEE80211_F_SHSLOT; in ieee80211_set_shortslottime()
390 ic->ic_flags &= ~IEEE80211_F_SHSLOT; in ieee80211_set_shortslottime()
392 if (ic->ic_set_shortslot != NULL) in ieee80211_set_shortslottime()
393 ic->ic_set_shortslot(ic, on); in ieee80211_set_shortslottime()
533 ieee80211_wme_initparams(struct ieee80211com *ic) in ieee80211_wme_initparams() argument
535 struct ieee80211_wme_state *wme = &ic->ic_wme; in ieee80211_wme_initparams()
541 if ((ic->ic_caps & IEEE80211_C_WME) == 0) in ieee80211_wme_initparams()
550 if (ic->ic_curchan != IEEE80211_CHAN_ANYC) in ieee80211_wme_initparams()
551 mode = ieee80211_chan2mode(ic, ic->ic_curchan); in ieee80211_wme_initparams()
576 if (ic->ic_opmode == IEEE80211_M_HOSTAP) { in ieee80211_wme_initparams()
617 if (ic->ic_bss != NULL) { in ieee80211_wme_initparams()
625 (HIGH_PRI_SWITCH_THRESH * ic->ic_bss->in_intval) / 100; in ieee80211_wme_initparams()
626 ieee80211_wme_updateparams(ic); in ieee80211_wme_initparams()
634 ieee80211_wme_updateparams(struct ieee80211com *ic) in ieee80211_wme_updateparams() argument
648 struct ieee80211_wme_state *wme = &ic->ic_wme; in ieee80211_wme_updateparams()
654 if ((ic->ic_caps & IEEE80211_C_WME) == 0) in ieee80211_wme_updateparams()
680 if (ic->ic_curchan != IEEE80211_CHAN_ANYC) in ieee80211_wme_updateparams()
681 mode = ieee80211_chan2mode(ic, ic->ic_curchan); in ieee80211_wme_updateparams()
693 if ((ic->ic_opmode == IEEE80211_M_HOSTAP && in ieee80211_wme_updateparams()
695 (ic->ic_opmode == IEEE80211_M_STA && in ieee80211_wme_updateparams()
696 (ic->ic_bss->in_flags & IEEE80211_NODE_QOS) == 0) || in ieee80211_wme_updateparams()
697 (ic->ic_flags & IEEE80211_F_WME) == 0) { in ieee80211_wme_updateparams()
707 (ic->ic_flags & IEEE80211_F_BURST) ? in ieee80211_wme_updateparams()
721 wme->wme_update(ic); in ieee80211_wme_updateparams()
725 ic->ic_opmode == IEEE80211_M_STA ? in ieee80211_wme_updateparams()
736 ieee80211_beacon_miss(ieee80211com_t *ic) in ieee80211_beacon_miss() argument
738 ieee80211_impl_t *im = ic->ic_private; in ieee80211_beacon_miss()
740 if (ic->ic_flags & IEEE80211_F_SCAN) in ieee80211_beacon_miss()
750 if (ic->ic_opmode != IEEE80211_M_STA || in ieee80211_beacon_miss()
751 ic->ic_state != IEEE80211_S_RUN) { in ieee80211_beacon_miss()
755 IEEE80211_LOCK(ic); in ieee80211_beacon_miss()
763 IEEE80211_UNLOCK(ic); in ieee80211_beacon_miss()
764 (void) ieee80211_send_probereq(ic->ic_bss, ic->ic_macaddr, in ieee80211_beacon_miss()
765 ic->ic_bss->in_bssid, ic->ic_bss->in_bssid, in ieee80211_beacon_miss()
766 ic->ic_bss->in_essid, ic->ic_bss->in_esslen, in ieee80211_beacon_miss()
767 ic->ic_opt_ie, ic->ic_opt_ie_len); in ieee80211_beacon_miss()
771 IEEE80211_UNLOCK(ic); in ieee80211_beacon_miss()
772 ieee80211_new_state(ic, IEEE80211_S_SCAN, 0); in ieee80211_beacon_miss()
779 ieee80211_newstate(ieee80211com_t *ic, enum ieee80211_state nstate, int arg) in ieee80211_newstate() argument
781 struct ieee80211_impl *im = ic->ic_private; in ieee80211_newstate()
786 IEEE80211_LOCK(ic); in ieee80211_newstate()
787 ostate = ic->ic_state; in ieee80211_newstate()
791 ic->ic_state = nstate; in ieee80211_newstate()
792 in = ic->ic_bss; in ieee80211_newstate()
797 IEEE80211_UNLOCK(ic); in ieee80211_newstate()
802 ieee80211_cancel_scan(ic); in ieee80211_newstate()
807 if (ic->ic_opmode == IEEE80211_M_STA) { in ieee80211_newstate()
808 IEEE80211_SEND_MGMT(ic, in, in ieee80211_newstate()
814 switch (ic->ic_opmode) { in ieee80211_newstate()
816 IEEE80211_SEND_MGMT(ic, in, in ieee80211_newstate()
819 ieee80211_sta_leave(ic, in); in ieee80211_newstate()
822 ieee80211_notify_node_leave(ic, in); in ieee80211_newstate()
829 IEEE80211_LOCK(ic); in ieee80211_newstate()
831 ieee80211_reset_bss(ic); in ieee80211_newstate()
836 IEEE80211_UNLOCK(ic); in ieee80211_newstate()
837 ieee80211_begin_scan(ic, (arg == 0) ? B_FALSE : B_TRUE); in ieee80211_newstate()
846 if ((ic->ic_flags & IEEE80211_F_ASCAN) && in ieee80211_newstate()
847 !IEEE80211_IS_CHAN_PASSIVE(ic->ic_curchan)) { in ieee80211_newstate()
848 IEEE80211_UNLOCK(ic); in ieee80211_newstate()
850 ic->ic_macaddr, wifi_bcastaddr, in ieee80211_newstate()
852 ic->ic_des_essid, ic->ic_des_esslen, in ieee80211_newstate()
853 ic->ic_opt_ie, ic->ic_opt_ie_len); in ieee80211_newstate()
862 IEEE80211_UNLOCK(ic); in ieee80211_newstate()
863 ieee80211_sta_leave(ic, in); in ieee80211_newstate()
864 IEEE80211_LOCK(ic); in ieee80211_newstate()
865 ic->ic_flags &= ~IEEE80211_F_SIBSS; in ieee80211_newstate()
870 in = ieee80211_find_node(&ic->ic_scan, in ieee80211_newstate()
871 ic->ic_bss->in_macaddr); in ieee80211_newstate()
880 ASSERT(ic->ic_opmode == IEEE80211_M_STA); in ieee80211_newstate()
884 IEEE80211_UNLOCK(ic); in ieee80211_newstate()
885 IEEE80211_SEND_MGMT(ic, in, IEEE80211_FC0_SUBTYPE_AUTH, in ieee80211_newstate()
892 IEEE80211_UNLOCK(ic); in ieee80211_newstate()
893 IEEE80211_SEND_MGMT(ic, in, in ieee80211_newstate()
904 ic->ic_state = ostate; /* stay RUN */ in ieee80211_newstate()
905 IEEE80211_UNLOCK(ic); in ieee80211_newstate()
906 IEEE80211_SEND_MGMT(ic, in, in ieee80211_newstate()
910 IEEE80211_UNLOCK(ic); in ieee80211_newstate()
911 ieee80211_sta_leave(ic, in); in ieee80211_newstate()
913 IEEE80211_SEND_MGMT(ic, in, in ieee80211_newstate()
921 ASSERT(ic->ic_opmode == IEEE80211_M_STA || in ieee80211_newstate()
922 ic->ic_opmode == IEEE80211_M_IBSS); in ieee80211_newstate()
931 IEEE80211_UNLOCK(ic); in ieee80211_newstate()
932 IEEE80211_SEND_MGMT(ic, in, in ieee80211_newstate()
936 IEEE80211_UNLOCK(ic); in ieee80211_newstate()
937 ieee80211_sta_leave(ic, in); in ieee80211_newstate()
938 IEEE80211_SEND_MGMT(ic, in, in ieee80211_newstate()
957 ieee80211_notify_node_join(ic, in); in ieee80211_newstate()
963 wd.wd_secalloc = ieee80211_crypto_getciphertype(ic); in ieee80211_newstate()
964 wd.wd_opmode = ic->ic_opmode; in ieee80211_newstate()
970 if (ic->ic_flags & IEEE80211_F_DATAPAD) { in ieee80211_newstate()
975 (void) mac_pdata_update(ic->ic_mach, &wd, sizeof (wd)); in ieee80211_newstate()
988 ic->ic_scan.nt_inact_timer = IEEE80211_INACT_WAIT; in ieee80211_newstate()
989 ic->ic_sta.nt_inact_timer = IEEE80211_INACT_WAIT; in ieee80211_newstate()
992 IEEE80211_UNLOCK(ic); in ieee80211_newstate()