MCPcopy Create free account
hub / github.com/F-Stack/f-stack / list_txpow

Function list_txpow

tools/ifconfig/ifieee80211.c:4187–4237  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4185}
4186
4187static void
4188list_txpow(int s)
4189{
4190 struct ieee80211req_chaninfo *achans;
4191 uint8_t reported[IEEE80211_CHAN_BYTES];
4192 struct ieee80211_channel *c, *prev;
4193 int i, half;
4194
4195 getchaninfo(s);
4196 achans = malloc(IEEE80211_CHANINFO_SPACE(chaninfo));
4197 if (achans == NULL)
4198 errx(1, "no space for active channel list");
4199 achans->ic_nchans = 0;
4200 memset(reported, 0, sizeof(reported));
4201 for (i = 0; i < chaninfo->ic_nchans; i++) {
4202 c = &chaninfo->ic_chans[i];
4203 /* suppress duplicates as above */
4204 if (isset(reported, c->ic_ieee) && !verbose) {
4205 /* XXX we assume duplicates are adjacent */
4206 assert(achans->ic_nchans > 0);
4207 prev = &achans->ic_chans[achans->ic_nchans-1];
4208 /* display highest power on channel */
4209 if (c->ic_maxpower > prev->ic_maxpower)
4210 *prev = *c;
4211 } else {
4212 achans->ic_chans[achans->ic_nchans++] = *c;
4213 setbit(reported, c->ic_ieee);
4214 }
4215 }
4216 if (!verbose) {
4217 half = achans->ic_nchans / 2;
4218 if (achans->ic_nchans % 2)
4219 half++;
4220
4221 for (i = 0; i < achans->ic_nchans / 2; i++) {
4222 print_txpow(&achans->ic_chans[i]);
4223 print_txpow(&achans->ic_chans[half+i]);
4224 printf("\n");
4225 }
4226 if (achans->ic_nchans % 2) {
4227 print_txpow(&achans->ic_chans[i]);
4228 printf("\n");
4229 }
4230 } else {
4231 for (i = 0; i < achans->ic_nchans; i++) {
4232 print_txpow_verbose(&achans->ic_chans[i]);
4233 printf("\n");
4234 }
4235 }
4236 free(achans);
4237}
4238
4239static void
4240list_keys(int s)

Callers 1

ifieee80211.cFile · 0.85

Calls 7

getchaninfoFunction · 0.85
mallocFunction · 0.85
memsetFunction · 0.85
print_txpowFunction · 0.85
print_txpow_verboseFunction · 0.85
printfFunction · 0.50
freeFunction · 0.50

Tested by

no test coverage detected