Lines Matching defs:ic

478 	struct ieee80211com *ic = &sc->sc_ic;
497 mac_tx_update(ic->ic_mach);
509 struct ieee80211com *ic = &sc->sc_ic;
577 ni = ieee80211_find_rxnode(ic, wh);
580 (void) ieee80211_input(ic, m, ni, desc->rssi, 0);
601 rum_ack_rate(struct ieee80211com *ic, int rate)
610 return ((ic->ic_curmode == IEEE80211_MODE_11B) ? 4 : rate);
684 struct ieee80211com *ic = &sc->sc_ic;
718 if (rate != 2 && (ic->ic_flags & IEEE80211_F_SHPREAMBLE))
726 rum_send(ieee80211com_t *ic, mblk_t *mp, uint8_t type)
728 struct rum_softc *sc = (struct rum_softc *)ic;
781 ni = ieee80211_find_txnode(ic, wh->i_addr1);
791 (void) ieee80211_encap(ic, m, ni);
795 k = ieee80211_crypto_encap(ic, m);
811 if (ic->ic_fixed_rate != IEEE80211_FIXED_RATE_NONE)
812 rate = ic->ic_bss->in_rates.ir_rates[ic->ic_fixed_rate];
826 dur = rum_txtime(RUM_ACK_SIZE, rum_ack_rate(ic, rate),
827 ic->ic_flags) + sc->sifs;
831 rate = IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan) ? 12 : 2;
836 dur = rum_txtime(RUM_ACK_SIZE, rum_ack_rate(ic, rate),
837 ic->ic_flags) + sc->sifs;
871 ic->ic_stats.is_tx_frags++;
872 ic->ic_stats.is_tx_bytes += pktlen;
893 struct ieee80211com *ic = &sc->sc_ic;
901 if (ic->ic_state != IEEE80211_S_RUN) {
903 "discard, state %u\n", ic->ic_state);
911 if (rum_send(ic, mp, IEEE80211_FC0_TYPE_DATA) != DDI_SUCCESS) {
1022 struct ieee80211com *ic = &sc->sc_ic;
1028 if (!IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan))
1052 struct ieee80211com *ic = &sc->sc_ic;
1055 if (ic->ic_curmode == IEEE80211_MODE_11B) {
1058 } else if (IEEE80211_IS_CHAN_5GHZ(ic->ic_bss->in_chan)) {
1120 struct ieee80211com *ic = &sc->sc_ic;
1126 chan = ieee80211_chan2ieee(ic, c);
1151 if (c->ich_flags != ic->ic_curchan->ich_flags) {
1155 ic->ic_curchan = c;
1194 struct ieee80211com *ic = &sc->sc_ic;
1197 if (ic->ic_opmode != IEEE80211_M_STA) {
1208 tmp |= ic->ic_bss->in_intval * 16;
1211 if (ic->ic_opmode == IEEE80211_M_STA)
1221 rum_update_slot(struct ieee80211com *ic, int onoff)
1223 struct rum_softc *sc = (struct rum_softc *)ic;
1227 slottime = (ic->ic_flags & IEEE80211_F_SHSLOT) ? 9 : 20;
1295 struct ieee80211com *ic = &sc->sc_ic;
1299 rum_eeprom_read(sc, RT2573_EEPROM_ADDRESS, ic->ic_macaddr, 6);
1387 struct ieee80211com *ic = &sc->sc_ic;
1389 if (ic->ic_state == IEEE80211_S_SCAN)
1390 ieee80211_next_scan(ic);
1394 rum_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg)
1396 struct rum_softc *sc = (struct rum_softc *)ic;
1404 ostate = ic->ic_state;
1426 rum_set_chan(sc, ic->ic_curchan);
1432 rum_set_chan(sc, ic->ic_curchan);
1436 rum_set_chan(sc, ic->ic_curchan);
1440 rum_set_chan(sc, ic->ic_curchan);
1442 ni = ic->ic_bss;
1444 if (ic->ic_opmode != IEEE80211_M_MONITOR) {
1445 rum_update_slot(ic, 1);
1452 if (ic->ic_opmode != IEEE80211_M_MONITOR)
1456 if (ic->ic_opmode == IEEE80211_M_STA &&
1457 ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE)
1464 err = sc->sc_newstate(ic, nstate, arg);
1469 ieee80211_start_watchdog(ic, 1);
1650 struct ieee80211com *ic = &sc->sc_ic;
1653 ieee80211_new_state(ic, IEEE80211_S_INIT, -1);
1654 ieee80211_stop_watchdog(ic); /* stop the watchdog */
1677 struct ieee80211com *ic = &sc->sc_ic;
1708 rum_select_band(sc, ic->ic_curchan);
1710 rum_set_chan(sc, ic->ic_curchan);
1715 rum_set_macaddr(sc, ic->ic_macaddr);
1734 if (ic->ic_opmode != IEEE80211_M_MONITOR) {
1737 if (ic->ic_opmode != IEEE80211_M_HOSTAP)
1756 struct ieee80211com *ic;
1768 ic = &sc->sc_ic;
1769 ieee80211_new_state(ic, IEEE80211_S_INIT, -1);
1770 ieee80211_stop_watchdog(ic); /* stop the watchdog */
1963 struct ieee80211com *ic = &sc->sc_ic;
1967 ic->ic_watchdog_timer = 0;
1979 (void) ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
1984 if (ic->ic_state == IEEE80211_S_RUN)
1989 ieee80211_watchdog(ic);
1992 ieee80211_start_watchdog(ic, ntimer);
2030 struct ieee80211com *ic = &sc->sc_ic;
2035 IEEE80211_ADDR_COPY(ic->ic_macaddr, macaddr);
2074 struct ieee80211com *ic = &sc->sc_ic;
2077 err = ieee80211_setprop(ic, pr_name, wldp_pr_num,
2084 (void) ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
2120 struct ieee80211com *ic = &sc->sc_ic;
2123 err = ieee80211_ioctl(ic, wq, mp);
2129 (void) ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
2140 ieee80211com_t *ic = &sc->sc_ic;
2146 ni = ic->ic_bss;
2151 *val = ((ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) ?
2153 : ic->ic_fixed_rate) * 500000ull;
2165 *val = ic->ic_stats.is_rx_bytes;
2168 *val = ic->ic_stats.is_rx_frags;
2171 *val = ic->ic_stats.is_tx_bytes;
2174 *val = ic->ic_stats.is_tx_frags;
2194 return (ieee80211_stat(ic, stat, val));
2208 struct ieee80211com *ic;
2240 ic = (ieee80211com_t *)&sc->sc_ic;
2283 ic->ic_phytype = IEEE80211_T_OFDM; /* not only, but not used */
2284 ic->ic_opmode = IEEE80211_M_STA; /* default to BSS mode */
2285 ic->ic_state = IEEE80211_S_INIT;
2287 ic->ic_maxrssi = 63;
2288 ic->ic_set_shortslot = rum_update_slot;
2289 ic->ic_xmit = rum_send;
2292 ic->ic_caps =
2297 ic->ic_caps |= IEEE80211_C_WPA; /* Support WPA/WPA2 */
2304 ic->ic_sup_rates[IEEE80211_MODE_11A] = rum_rateset_11a;
2308 ic->ic_sup_channels[i].ich_freq =
2310 ic->ic_sup_channels[i].ich_flags = IEEE80211_CHAN_A;
2313 ic->ic_sup_channels[i].ich_freq =
2315 ic->ic_sup_channels[i].ich_flags = IEEE80211_CHAN_A;
2318 ic->ic_sup_channels[i].ich_freq =
2320 ic->ic_sup_channels[i].ich_flags = IEEE80211_CHAN_A;
2323 ic->ic_sup_channels[i].ich_freq =
2325 ic->ic_sup_channels[i].ich_flags = IEEE80211_CHAN_A;
2330 ic->ic_sup_rates[IEEE80211_MODE_11B] = rum_rateset_11b;
2331 ic->ic_sup_rates[IEEE80211_MODE_11G] = rum_rateset_11g;
2335 ic->ic_sup_channels[i].ich_freq =
2337 ic->ic_sup_channels[i].ich_flags =
2342 ieee80211_attach(ic);
2345 ieee80211_register_door(ic, ddi_driver_name(devinfo),
2349 sc->sc_newstate = ic->ic_newstate;
2350 ic->ic_newstate = rum_newstate;
2351 ic->ic_watchdog = rum_watchdog;
2352 ieee80211_media_init(ic);
2353 ic->ic_def_txkey = 0;
2363 wd.wd_opmode = ic->ic_opmode;
2365 IEEE80211_ADDR_COPY(wd.wd_bssid, ic->ic_bss->in_bssid);
2376 macp->m_src_addr = ic->ic_macaddr;
2383 err = mac_register(macp, &ic->ic_mach);
2412 mac_link_update(ic->ic_mach, LINK_STATE_DOWN);
2416 (void) mac_unregister(ic->ic_mach);