| 387 | } |
| 388 | |
| 389 | static const struct ieee80211_channel * |
| 390 | getcurchan(int s) |
| 391 | { |
| 392 | if (gotcurchan) |
| 393 | return &curchan; |
| 394 | if (get80211(s, IEEE80211_IOC_CURCHAN, &curchan, sizeof(curchan)) < 0) { |
| 395 | int val; |
| 396 | /* fall back to legacy ioctl */ |
| 397 | if (get80211val(s, IEEE80211_IOC_CHANNEL, &val) < 0) |
| 398 | err(-1, "cannot figure out current channel"); |
| 399 | getchaninfo(s); |
| 400 | mapchan(&curchan, val, 0); |
| 401 | } |
| 402 | gotcurchan = 1; |
| 403 | return &curchan; |
| 404 | } |
| 405 | |
| 406 | static enum ieee80211_phymode |
| 407 | chan2mode(const struct ieee80211_channel *c) |
no test coverage detected