Lines Matching full:ic
49 null_getradiocaps(struct ieee80211com *ic, int maxchan, in null_getradiocaps() argument
53 if (maxchan > ic->ic_nchans) in null_getradiocaps()
54 maxchan = ic->ic_nchans; in null_getradiocaps()
55 memcpy(c, ic->ic_channels, maxchan*sizeof(struct ieee80211_channel)); in null_getradiocaps()
60 null_setregdomain(struct ieee80211com *ic, in null_setregdomain() argument
68 ieee80211_regdomain_attach(struct ieee80211com *ic) in ieee80211_regdomain_attach() argument
70 if (ic->ic_regdomain.regdomain == 0 && in ieee80211_regdomain_attach()
71 ic->ic_regdomain.country == CTRY_DEFAULT) { in ieee80211_regdomain_attach()
72 ic->ic_regdomain.location = ' '; /* both */ in ieee80211_regdomain_attach()
75 ic->ic_getradiocaps = null_getradiocaps; in ieee80211_regdomain_attach()
76 ic->ic_setregdomain = null_setregdomain; in ieee80211_regdomain_attach()
80 ieee80211_regdomain_detach(struct ieee80211com *ic) in ieee80211_regdomain_detach() argument
82 if (ic->ic_countryie != NULL) { in ieee80211_regdomain_detach()
83 IEEE80211_FREE(ic->ic_countryie, M_80211_NODE_IE); in ieee80211_regdomain_detach()
84 ic->ic_countryie = NULL; in ieee80211_regdomain_detach()
114 ieee80211_init_channels(struct ieee80211com *ic, in ieee80211_init_channels() argument
117 struct ieee80211_channel *chans = ic->ic_channels; in ieee80211_init_channels()
118 int *nchans = &ic->ic_nchans; in ieee80211_init_channels()
122 cbw_flags = (ic->ic_htcaps & IEEE80211_HTCAP_CHWIDTH40) ? in ieee80211_init_channels()
152 if (IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160MHZ(ic->ic_vht_cap.vht_cap_info)) in ieee80211_init_channels()
155 ic->ic_vht_cap.vht_cap_info)) in ieee80211_init_channels()
168 ic->ic_regdomain = *rd; in ieee80211_init_channels()
233 ieee80211_alloc_countryie(struct ieee80211com *ic) in ieee80211_alloc_countryie() argument
259 const struct ieee80211_regdomain *rd = &ic->ic_regdomain; in ieee80211_alloc_countryie()
268 ic_printf(ic, "%s: unable to allocate memory for country ie\n", in ieee80211_alloc_countryie()
276 ic_printf(ic, "no ISO country string for cc %d; using blanks\n", in ieee80211_alloc_countryie()
298 skip = skipflags[ieee80211_chan2mode(ic->ic_bsschan)]; in ieee80211_alloc_countryie()
299 if (IEEE80211_IS_CHAN_5GHZ(ic->ic_bsschan)) in ieee80211_alloc_countryie()
301 else if (IEEE80211_IS_CHAN_2GHZ(ic->ic_bsschan)) in ieee80211_alloc_countryie()
303 for (i = 0; i < ic->ic_nchans; i++) { in ieee80211_alloc_countryie()
304 const struct ieee80211_channel *c = &ic->ic_channels[i]; in ieee80211_alloc_countryie()
314 ic_printf(ic, "%s: country ie too big, " in ieee80211_alloc_countryie()
343 allvapsdown(struct ieee80211com *ic) in allvapsdown() argument
347 IEEE80211_LOCK_ASSERT(ic); in allvapsdown()
348 TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) in allvapsdown()
358 struct ieee80211com *ic = vap->iv_ic; in ieee80211_setregdomain() local
409 IEEE80211_LOCK(ic); in ieee80211_setregdomain()
411 if (!allvapsdown(ic)) { in ieee80211_setregdomain()
412 IEEE80211_UNLOCK(ic); in ieee80211_setregdomain()
417 error = ic->ic_setregdomain(ic, ®->rd, in ieee80211_setregdomain()
420 IEEE80211_UNLOCK(ic); in ieee80211_setregdomain()
443 memcpy(&ic->ic_regdomain, ®->rd, sizeof(reg->rd)); in ieee80211_setregdomain()
445 memcpy(ic->ic_channels, reg->chaninfo.ic_chans, in ieee80211_setregdomain()
447 ic->ic_nchans = reg->chaninfo.ic_nchans; in ieee80211_setregdomain()
448 memset(&ic->ic_channels[ic->ic_nchans], 0, in ieee80211_setregdomain()
449 (IEEE80211_CHAN_MAX - ic->ic_nchans) * in ieee80211_setregdomain()
451 ieee80211_chan_init(ic); in ieee80211_setregdomain()
456 if (ic->ic_countryie != NULL) { in ieee80211_setregdomain()
457 IEEE80211_FREE(ic->ic_countryie, M_80211_NODE_IE); in ieee80211_setregdomain()
458 ic->ic_countryie = NULL; in ieee80211_setregdomain()
461 ieee80211_dfs_reset(ic); in ieee80211_setregdomain()
463 c = ieee80211_find_channel(ic, desfreq, desflags); in ieee80211_setregdomain()
467 IEEE80211_UNLOCK(ic); in ieee80211_setregdomain()