Lines Matching defs:ic
215 struct ieee80211com *ic = &sc->sc_ic;
218 if (ic->ic_curmode == IEEE80211_MODE_11B) {
221 } else if (IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan)) {
326 struct ieee80211com *ic = &sc->sc_ic;
330 chan = ieee80211_chan2ieee(ic, c);
340 power -= (100 - ic->ic_txpowlimit) / 8;
407 if (ic->ic_state != IEEE80211_S_SCAN) {
429 struct ieee80211com *ic = &sc->sc_ic;
436 tmp = 16 * ic->ic_bss->in_intval;
442 preload = (ic->ic_opmode == IEEE80211_M_STA) ? 384 : 1024;
448 if (ic->ic_opmode == IEEE80211_M_STA)
461 struct ieee80211com *ic = &sc->sc_ic;
466 if (!(ic->ic_flags & IEEE80211_F_SHPREAMBLE)) {
479 (ic->ic_flags & IEEE80211_F_SHPREAMBLE) ? "short" : "long");
487 rt2560_update_slot(struct ieee80211com *ic, int onoff)
489 struct rt2560_softc *sc = (struct rt2560_softc *)ic;
494 /* slottime = (ic->ic_flags & IEEE80211_F_SHSLOT) ? 9 : 20; */
501 eifs = (ic->ic_curmode == IEEE80211_MODE_11B) ? 364 : 60;
787 rt2560_node_alloc(ieee80211com_t *ic)
798 ieee80211com_t *ic = in->in_ic;
800 ic->ic_node_cleanup(in);
814 struct ieee80211com *ic = &sc->sc_ic;
816 if (ic->ic_state == IEEE80211_S_SCAN)
817 (void) ieee80211_next_scan(ic);
840 struct ieee80211com *ic = &sc->sc_ic;
842 ieee80211_iterate_nodes(&ic->ic_sta, rt2560_iter_func, arg);
851 struct ieee80211com *ic = &sc->sc_ic;
857 state = ic->ic_state;
858 ic->ic_state = sc->sc_ostate;
862 ieee80211_new_state(ic, state, -1);
867 rt2560_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg)
869 struct rt2560_softc *sc = (struct rt2560_softc *)ic;
876 ostate = ic->ic_state;
905 rt2560_set_chan(sc, ic->ic_curchan);
911 rt2560_set_chan(sc, ic->ic_curchan);
915 rt2560_set_chan(sc, ic->ic_curchan);
923 rt2560_set_chan(sc, ic->ic_curchan);
925 ni = ic->ic_bss;
927 if (ic->ic_opmode != IEEE80211_M_MONITOR) {
935 if (ic->ic_opmode != IEEE80211_M_MONITOR) {
945 err = sc->sc_newstate(ic, nstate, arg);
950 ieee80211_start_watchdog(ic, 1);
1016 struct ieee80211com *ic = &sc->sc_ic;
1047 ral_rssadapt_raise_rate(ic, &rn->rssadapt,
1063 ral_rssadapt_lower_rate(ic, data->ni,
1090 mac_tx_update(ic->ic_mach);
1175 struct ieee80211com *ic = &sc->sc_ic;
1253 ni = ieee80211_find_rxnode(ic, wh);
1257 ral_rssadapt_input(ic, ni, &rn->rssadapt, desc->rssi);
1260 (void) ieee80211_input(ic, m, ni, desc->rssi, 0);
1302 rt2560_ack_rate(struct ieee80211com *ic, int rate)
1311 return ((ic->ic_curmode == IEEE80211_MODE_11B) ? 4 : rate);
1386 struct ieee80211com *ic = &sc->sc_ic;
1421 if (rate != 2 && (ic->ic_flags & IEEE80211_F_SHPREAMBLE))
1428 rt2560_mgmt_send(ieee80211com_t *ic, mblk_t *mp, uint8_t type)
1430 struct rt2560_softc *sc = (struct rt2560_softc *)ic;
1475 ni = ieee80211_find_txnode(ic, wh->i_addr1);
1485 k = ieee80211_crypto_encap(ic, m);
1498 rate = IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan) ? 12 : 2;
1509 dur = rt2560_txtime(RAL_ACK_SIZE, rate, ic->ic_flags) +
1543 ic->ic_stats.is_tx_frags++;
1544 ic->ic_stats.is_tx_bytes += pktlen;
1558 rt2560_send(ieee80211com_t *ic, mblk_t *mp)
1560 struct rt2560_softc *sc = (struct rt2560_softc *)ic;
1605 ni = ieee80211_find_txnode(ic, wh->i_addr1);
1613 (void) ieee80211_encap(ic, m, ni);
1616 k = ieee80211_crypto_encap(ic, m);
1641 if (ic->ic_fixed_rate != IEEE80211_FIXED_RATE_NONE) {
1642 rs = &ic->ic_sup_rates[ic->ic_curmode];
1643 rate = rs->ir_rates[ic->ic_fixed_rate];
1658 if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) {
1669 dur = rt2560_txtime(RAL_ACK_SIZE, rt2560_ack_rate(ic, rate),
1670 ic->ic_flags) + RAL_SIFS;
1697 ic->ic_stats.is_tx_frags++;
1698 ic->ic_stats.is_tx_bytes += pktlen;
1714 struct ieee80211com *ic = &sc->sc_ic;
1726 if (ic->ic_state != IEEE80211_S_RUN) {
1728 "discard, state %u\n", ic->ic_state);
1736 if (rt2560_send(ic, mp) != DDI_SUCCESS) {
1912 struct ieee80211com *ic = &sc->sc_ic;
1914 ieee80211_new_state(ic, IEEE80211_S_INIT, -1);
1915 ieee80211_stop_watchdog(ic); /* stop the watchdog */
1945 struct ieee80211com *ic = &sc->sc_ic;
1959 rt2560_set_macaddr(sc, ic->ic_macaddr);
1966 rt2560_update_slot(ic, 1);
1980 rt2560_set_chan(sc, ic->ic_curchan);
1984 if (ic->ic_opmode != IEEE80211_M_MONITOR) {
1986 if (ic->ic_opmode != IEEE80211_M_HOSTAP)
2012 struct ieee80211com *ic = &sc->sc_ic;
2016 ic->ic_watchdog_timer = 0;
2028 (void) ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
2033 if (ic->ic_state == IEEE80211_S_RUN)
2038 ieee80211_watchdog(ic);
2041 ieee80211_start_watchdog(ic, ntimer);
2079 struct ieee80211com *ic = &sc->sc_ic;
2084 IEEE80211_ADDR_COPY(ic->ic_macaddr, macaddr);
2123 struct ieee80211com *ic = &sc->sc_ic;
2126 err = ieee80211_setprop(ic, pr_name, wldp_pr_num,
2133 (void) ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
2169 struct ieee80211com *ic = &sc->sc_ic;
2172 err = ieee80211_ioctl(ic, wq, mp);
2178 (void) ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
2189 ieee80211com_t *ic = &sc->sc_ic;
2190 ieee80211_node_t *ni = ic->ic_bss;
2196 *val = ((ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) ?
2198 : ic->ic_fixed_rate) / 2 * 1000000;
2210 *val = ic->ic_stats.is_rx_bytes;
2213 *val = ic->ic_stats.is_rx_frags;
2216 *val = ic->ic_stats.is_tx_bytes;
2219 *val = ic->ic_stats.is_tx_frags;
2239 return (ieee80211_stat(ic, stat, val));
2346 struct ieee80211com *ic;
2382 ic = (ieee80211com_t *)&sc->sc_ic;
2438 rt2560_get_macaddr(sc, ic->ic_macaddr);
2471 ic->ic_phytype = IEEE80211_T_OFDM; /* not only, but not used */
2472 ic->ic_opmode = IEEE80211_M_STA; /* default to BSS mode */
2473 ic->ic_state = IEEE80211_S_INIT;
2475 ic->ic_maxrssi = 63;
2476 ic->ic_set_shortslot = rt2560_update_slot;
2477 ic->ic_xmit = rt2560_mgmt_send;
2480 ic->ic_caps =
2485 ic->ic_caps |= IEEE80211_C_WPA; /* Support WPA/WPA2 */
2492 ic->ic_sup_rates[IEEE80211_MODE_11A] = rt2560_rateset_11a;
2496 ic->ic_sup_channels[i].ich_freq =
2498 ic->ic_sup_channels[i].ich_flags = IEEE80211_CHAN_A;
2501 ic->ic_sup_channels[i].ich_freq =
2503 ic->ic_sup_channels[i].ich_flags = IEEE80211_CHAN_A;
2506 ic->ic_sup_channels[i].ich_freq =
2508 ic->ic_sup_channels[i].ich_flags = IEEE80211_CHAN_A;
2513 ic->ic_sup_rates[IEEE80211_MODE_11B] = rt2560_rateset_11b;
2514 ic->ic_sup_rates[IEEE80211_MODE_11G] = rt2560_rateset_11g;
2518 ic->ic_sup_channels[i].ich_freq =
2520 ic->ic_sup_channels[i].ich_flags =
2525 ieee80211_attach(ic);
2528 ieee80211_register_door(ic, ddi_driver_name(devinfo),
2531 ic->ic_node_alloc = rt2560_node_alloc;
2532 ic->ic_node_free = rt2560_node_free;
2535 sc->sc_newstate = ic->ic_newstate;
2536 ic->ic_newstate = rt2560_newstate;
2537 ic->ic_watchdog = rt2560_watchdog;
2538 ieee80211_media_init(ic);
2539 ic->ic_def_txkey = 0;
2572 wd.wd_opmode = ic->ic_opmode;
2574 IEEE80211_ADDR_COPY(wd.wd_bssid, ic->ic_bss->in_bssid);
2585 macp->m_src_addr = ic->ic_macaddr;
2592 err = mac_register(macp, &ic->ic_mach);
2614 mac_link_update(ic->ic_mach, LINK_STATE_DOWN);