Changeset View
Changeset View
Standalone View
Standalone View
sbin/ifconfig/ifieee80211.c
Show First 20 Lines • Show All 3,711 Lines • ▼ Show 20 Lines | printf(" (rssi %.1f:%.1f:%.1f:%.1f nf %d:%d:%d:%d)", | ||||
mi->ch[3].rssi[0] / 2.0, | mi->ch[3].rssi[0] / 2.0, | ||||
mi->ch[0].noise[0], | mi->ch[0].noise[0], | ||||
mi->ch[1].noise[0], | mi->ch[1].noise[0], | ||||
mi->ch[2].noise[0], | mi->ch[2].noise[0], | ||||
mi->ch[3].noise[0]); | mi->ch[3].noise[0]); | ||||
} | } | ||||
static void | static void | ||||
printbssidname(const struct ether_addr *n) | |||||
{ | |||||
char name[MAXHOSTNAMELEN + 1]; | |||||
if (ether_ntohost(name, n) != 0) | |||||
return; | |||||
printf(" (%s)", name); | |||||
} | |||||
static void | |||||
list_scan(int s) | list_scan(int s) | ||||
{ | { | ||||
uint8_t buf[24*1024]; | uint8_t buf[24*1024]; | ||||
char ssid[IEEE80211_NWID_LEN+1]; | char ssid[IEEE80211_NWID_LEN+1]; | ||||
const uint8_t *cp; | const uint8_t *cp; | ||||
int len, idlen; | int len, idlen; | ||||
if (get80211len(s, IEEE80211_IOC_SCAN_RESULTS, buf, sizeof(buf), &len) < 0) | if (get80211len(s, IEEE80211_IOC_SCAN_RESULTS, buf, sizeof(buf), &len) < 0) | ||||
Show All 34 Lines | printf("%-*.*s %s %3d %3dM %4d:%-4d %4d %-4.4s" | ||||
, ieee80211_mhz2ieee(sr->isr_freq, sr->isr_flags) | , ieee80211_mhz2ieee(sr->isr_freq, sr->isr_flags) | ||||
, getmaxrate(sr->isr_rates, sr->isr_nrates) | , getmaxrate(sr->isr_rates, sr->isr_nrates) | ||||
, (sr->isr_rssi/2)+sr->isr_noise, sr->isr_noise | , (sr->isr_rssi/2)+sr->isr_noise, sr->isr_noise | ||||
, sr->isr_intval | , sr->isr_intval | ||||
, getcaps(sr->isr_capinfo) | , getcaps(sr->isr_capinfo) | ||||
); | ); | ||||
printies(vp + sr->isr_ssid_len + sr->isr_meshid_len, | printies(vp + sr->isr_ssid_len + sr->isr_meshid_len, | ||||
sr->isr_ie_len, 24); | sr->isr_ie_len, 24); | ||||
printbssidname((const struct ether_addr *)sr->isr_bssid); | |||||
printf("\n"); | printf("\n"); | ||||
cp += sr->isr_len, len -= sr->isr_len; | cp += sr->isr_len, len -= sr->isr_len; | ||||
} while (len >= sizeof(struct ieee80211req_scan_result)); | } while (len >= sizeof(struct ieee80211req_scan_result)); | ||||
} | } | ||||
static void | static void | ||||
scan_and_wait(int s) | scan_and_wait(int s) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 1,121 Lines • ▼ Show 20 Lines | ieee80211_status(int s) | ||||
if (c->ic_freq != IEEE80211_CHAN_ANY) { | if (c->ic_freq != IEEE80211_CHAN_ANY) { | ||||
char buf[14]; | char buf[14]; | ||||
printf(" channel %d (%u MHz%s)", c->ic_ieee, c->ic_freq, | printf(" channel %d (%u MHz%s)", c->ic_ieee, c->ic_freq, | ||||
get_chaninfo(c, 1, buf, sizeof(buf))); | get_chaninfo(c, 1, buf, sizeof(buf))); | ||||
} else if (verbose) | } else if (verbose) | ||||
printf(" channel UNDEF"); | printf(" channel UNDEF"); | ||||
if (get80211(s, IEEE80211_IOC_BSSID, data, IEEE80211_ADDR_LEN) >= 0 && | if (get80211(s, IEEE80211_IOC_BSSID, data, IEEE80211_ADDR_LEN) >= 0 && | ||||
(memcmp(data, zerobssid, sizeof(zerobssid)) != 0 || verbose)) | (memcmp(data, zerobssid, sizeof(zerobssid)) != 0 || verbose)) { | ||||
printf(" bssid %s", ether_ntoa((struct ether_addr *)data)); | printf(" bssid %s", ether_ntoa((struct ether_addr *)data)); | ||||
printbssidname((struct ether_addr *)data); | |||||
} | |||||
if (get80211len(s, IEEE80211_IOC_STATIONNAME, data, sizeof(data), &len) != -1) { | if (get80211len(s, IEEE80211_IOC_STATIONNAME, data, sizeof(data), &len) != -1) { | ||||
printf("\n\tstationname "); | printf("\n\tstationname "); | ||||
print_string(data, len); | print_string(data, len); | ||||
} | } | ||||
spacer = ' '; /* force first break */ | spacer = ' '; /* force first break */ | ||||
LINE_BREAK(); | LINE_BREAK(); | ||||
▲ Show 20 Lines • Show All 1,158 Lines • Show Last 20 Lines |