Lines Matching refs:ic

199 	struct ieee80211com *ic = &sc->sc_ic;
288 ic->ic_ifp = ifp;
289 ic->ic_wme.wme_update = iwi_wme_update;
290 ic->ic_phytype = IEEE80211_T_OFDM; /* not only, but not used */
291 ic->ic_opmode = IEEE80211_M_STA; /* default to BSS mode */
292 ic->ic_state = IEEE80211_S_INIT;
297 ic->ic_caps =
308 ic->ic_myaddr[0] = val & 0xff;
309 ic->ic_myaddr[1] = val >> 8;
311 ic->ic_myaddr[2] = val & 0xff;
312 ic->ic_myaddr[3] = val >> 8;
314 ic->ic_myaddr[4] = val & 0xff;
315 ic->ic_myaddr[5] = val >> 8;
318 ether_sprintf(ic->ic_myaddr));
329 ic->ic_sup_rates[IEEE80211_MODE_11A] = ieee80211_std_rateset_11a;
333 ic->ic_channels[i].ic_freq =
335 ic->ic_channels[i].ic_flags = IEEE80211_CHAN_A;
338 ic->ic_channels[i].ic_freq =
340 ic->ic_channels[i].ic_flags = IEEE80211_CHAN_A;
345 ic->ic_sup_rates[IEEE80211_MODE_11B] = ieee80211_std_rateset_11b;
346 ic->ic_sup_rates[IEEE80211_MODE_11G] = ieee80211_std_rateset_11g;
350 ic->ic_channels[i].ic_freq =
352 ic->ic_channels[i].ic_flags =
368 ieee80211_ifattach(ic);
374 ic->ic_node_alloc = iwi_node_alloc;
375 sc->sc_node_free = ic->ic_node_free;
376 ic->ic_node_free = iwi_node_free;
378 sc->sc_newstate = ic->ic_newstate;
379 ic->ic_newstate = iwi_newstate;
383 ieee80211_media_init_with_lock(ic,
445 ieee80211_announce(ic);
822 struct ieee80211com *ic = ni->ni_ic;
823 struct iwi_softc *sc = ic->ic_ifp->if_softc;
878 struct ieee80211com *ic = &sc->sc_ic;
883 if (ic->ic_state == IEEE80211_S_RUN)
888 imr->ifm_active |= ieee80211_rate2media(ic, rate, ic->ic_curmode);
890 switch (ic->ic_opmode) {
910 iwi_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg)
912 struct iwi_softc *sc = ic->ic_ifp->if_softc;
915 ieee80211_state_name[ic->ic_state],
923 ieee80211_node_table_reset(&ic->ic_scan);
924 ic->ic_flags |= IEEE80211_F_SCAN | IEEE80211_F_ASCAN;
936 if (ic->ic_opmode == IEEE80211_M_IBSS &&
937 ic->ic_state == IEEE80211_S_SCAN)
939 else if (ic->ic_opmode == IEEE80211_M_MONITOR)
940 iwi_set_chan(sc, ic->ic_ibss_chan);
944 if (ic->ic_state == IEEE80211_S_AUTH)
954 return sc->sc_newstate(ic, nstate, arg);
977 iwi_wme_update(struct ieee80211com *ic)
981 struct iwi_softc *sc = ic->ic_ifp->if_softc;
990 if (!(ic->ic_flags & IEEE80211_F_WME))
995 wmep = &ic->ic_wme.wme_chanParams.cap_wmeParams[ac];
1085 iwi_fix_channel(struct ieee80211com *ic, struct mbuf *m)
1111 ic->ic_curchan = &ic->ic_channels[frm[2]];
1145 struct ieee80211com *ic = &sc->sc_ic;
1146 struct ifnet *ifp = ic->ic_ifp;
1211 if (ic->ic_state == IEEE80211_S_SCAN)
1212 iwi_fix_channel(ic, m);
1220 htole16(ic->ic_channels[frame->chan].ic_freq);
1222 htole16(ic->ic_channels[frame->chan].ic_flags);
1229 ni = ieee80211_find_rxnode(ic, (struct ieee80211_frame_min *)wh);
1232 ieee80211_input(ic, m, ni, frame->rssi_dbm, 0);
1243 struct ieee80211com *ic = &sc->sc_ic;
1257 ic->ic_channels[chan->nchan].ic_freq, chan->nchan));
1275 if (ic->ic_opmode != IEEE80211_M_MONITOR) {
1277 ieee80211_end_scan(ic);
1279 iwi_set_chan(sc, ic->ic_ibss_chan);
1291 ieee80211_node_authorize(ic->ic_bss);
1292 ieee80211_new_state(ic, IEEE80211_S_ASSOC, -1);
1326 ieee80211_new_state(ic, IEEE80211_S_RUN, -1);
1332 ieee80211_begin_scan(ic, 1);
1601 struct ieee80211com *ic = &sc->sc_ic;
1616 cap = &ic->ic_wme.wme_chanParams;
1625 if (ic->ic_opmode == IEEE80211_M_IBSS && in->in_station == -1) {
1638 k = ieee80211_crypto_encap(ic, ni, m0);
1652 tap->wt_chan_freq = htole16(ic->ic_ibss_chan->ic_freq);
1653 tap->wt_chan_flags = htole16(ic->ic_ibss_chan->ic_flags);
1714 (ic->ic_opmode == IEEE80211_M_IBSS) ? in->in_station : 0;
1724 if (ic->ic_flags & IEEE80211_F_PRIVACY) {
1726 desc->wep_txkey = ic->ic_crypto.cs_def_txkey;
1731 if (ic->ic_flags & IEEE80211_F_SHPREAMBLE)
1737 if (ic->ic_curmode == IEEE80211_MODE_11B)
1768 struct ieee80211com *ic = &sc->sc_ic;
1774 if (ic->ic_state != IEEE80211_S_RUN)
1785 ni = ieee80211_find_txnode(ic, eh->ether_dhost);
1794 if (ieee80211_classify(ic, m0, ni) != 0) {
1815 m0 = ieee80211_encap(ic, m0, ni);
1822 bpf_mtap3(ic->ic_rawbpf, m0, BPF_D_OUT);
1881 struct ieee80211com *ic = &sc->sc_ic;
1937 (ic->ic_roaming != IEEE80211_ROAMING_MANUAL))
2325 struct ieee80211com *ic = &sc->sc_ic;
2335 IEEE80211_ADDR_COPY(ic->ic_myaddr, CLLADDR(ifp->if_sadl));
2336 DPRINTF(("Setting MAC address to %s\n", ether_sprintf(ic->ic_myaddr)));
2337 error = iwi_cmd(sc, IWI_CMD_SET_MAC_ADDRESS, ic->ic_myaddr,
2347 config.answer_pbreq = (ic->ic_opmode == IEEE80211_M_IBSS) ? 1 : 0;
2362 data = htole32(ic->ic_rtsthreshold);
2368 data = htole32(ic->ic_fragthreshold);
2379 if (!IEEE80211_IS_CHAN_2GHZ(&ic->ic_channels[i]))
2401 if (!IEEE80211_IS_CHAN_5GHZ(&ic->ic_channels[i]))
2420 rs.nrates = ic->ic_sup_rates[IEEE80211_MODE_11G].rs_nrates;
2421 memcpy(rs.rates, ic->ic_sup_rates[IEEE80211_MODE_11G].rs_rates,
2430 rs.nrates = ic->ic_sup_rates[IEEE80211_MODE_11A].rs_nrates;
2431 memcpy(rs.rates, ic->ic_sup_rates[IEEE80211_MODE_11A].rs_rates,
2439 if (ic->ic_des_esslen != 0) {
2443 ieee80211_print_essid(ic->ic_des_essid,
2444 ic->ic_des_esslen);
2448 error = iwi_cmd(sc, IWI_CMD_SET_ESSID, ic->ic_des_essid,
2449 ic->ic_des_esslen, 0);
2461 if (ic->ic_flags & IEEE80211_F_PRIVACY) {
2464 wk = &ic->ic_crypto.cs_nw_keys[i];
2488 struct ieee80211com *ic = &sc->sc_ic;
2496 scan.channels[1] = ieee80211_chan2ieee(ic, chan);
2499 DPRINTF(("Setting channel to %u\n", ieee80211_chan2ieee(ic, chan)));
2506 struct ieee80211com *ic = &sc->sc_ic;
2519 if (ic->ic_des_esslen) {
2523 __func__, ic->ic_des_essid));
2526 ic->ic_des_essid, ic->ic_des_esslen, 1);
2538 if (IEEE80211_IS_CHAN_5GHZ(&ic->ic_channels[i]) &&
2539 isset(ic->ic_chan_active, i)) {
2553 if (IEEE80211_IS_CHAN_2GHZ(&ic->ic_channels[i]) &&
2554 isset(ic->ic_chan_active, i)) {
2570 struct ieee80211com *ic = &sc->sc_ic;
2571 struct ieee80211_node *ni = ic->ic_bss;
2586 if (ic->ic_curmode == IEEE80211_MODE_11G)
2588 config.answer_pbreq = (ic->ic_opmode == IEEE80211_M_IBSS) ? 1 : 0;
2626 if ((ic->ic_flags & IEEE80211_F_WME) && ni->ni_wme_ie != NULL) {
2643 if (ic->ic_opt_ie != NULL) {
2644 DPRINTF(("Setting optional IE (len=%u)\n", ic->ic_opt_ie_len));
2645 error = iwi_cmd(sc, IWI_CMD_SET_OPTIE, ic->ic_opt_ie,
2646 ic->ic_opt_ie_len, 1);
2664 assoc.chan = ieee80211_chan2ieee(ic, ni->ni_chan);
2667 assoc.auth = (ic->ic_crypto.cs_def_txkey << 4) | IWI_AUTH_SHARED;
2669 if (ic->ic_flags & IEEE80211_F_SHPREAMBLE)
2672 if ((ic->ic_flags & IEEE80211_F_WME) && ni->ni_wme_ie != NULL)
2674 if (ic->ic_flags & IEEE80211_F_WPA)
2676 if (ic->ic_opmode == IEEE80211_M_IBSS && ni->ni_tstamp.tsf == 0)
2682 if (ic->ic_opmode == IEEE80211_M_IBSS)
2686 if (ic->ic_flags & IEEE80211_F_PRIVACY)
2688 if ((ic->ic_flags & IEEE80211_F_SHPREAMBLE) &&
2691 if (ic->ic_flags & IEEE80211_F_SHSLOT)
2695 assoc.lintval = htole16(ic->ic_lintval);
2698 if (ic->ic_opmode == IEEE80211_M_IBSS)
2718 struct ieee80211com *ic = &sc->sc_ic;
2788 ic->ic_state = IEEE80211_S_INIT;
2793 if (ic->ic_opmode != IEEE80211_M_MONITOR) {
2794 if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL)
2795 ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
2797 ieee80211_new_state(ic, IEEE80211_S_RUN, -1);
2920 struct ieee80211com *ic = &sc->sc_ic;
2938 ieee80211_new_state(ic, IEEE80211_S_INIT, -1);