PERFORCE change 133644 for review
Sepherosa Ziehau
sephe at FreeBSD.org
Sat Jan 19 00:30:19 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=133644
Change 133644 by sephe at sephe_zealot:sam_wifi on 2008/01/19 08:30:06
Capabilities information is 2bytes long. Deprecate isi_capinfo and
isr_capinfo, which are 1byte long. Add isi_capinfo2 and isr_capinfo2.
This makes 'ifconfig iface list scan' list complete BSS capabilities,
noticablely "short slot time"
Obtained from: DragonFly
Affected files ...
.. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#71 edit
.. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#85 edit
.. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#46 edit
.. //depot/projects/wifi/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#10 edit
Differences ...
==== //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#71 (text+ko) ====
@@ -1965,7 +1965,7 @@
, getmaxrate(sr->isr_rates, sr->isr_nrates)
, (sr->isr_rssi/2)+sr->isr_noise, sr->isr_noise
, sr->isr_intval
- , getcaps(sr->isr_capinfo)
+ , getcaps(sr->isr_capinfo2)
);
printies(vp + sr->isr_ssid_len, sr->isr_ie_len, 24);
printf("\n");
@@ -2121,7 +2121,7 @@
, si->isi_inact
, gettxseq(si)
, getrxseq(si)
- , getcaps(si->isi_capinfo)
+ , getcaps(si->isi_capinfo2)
, getflags(si->isi_state)
);
printies(cp + si->isi_ie_off, si->isi_ie_len, 24);
==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#85 (text+ko) ====
@@ -438,7 +438,8 @@
sr->isr_rssi = se->se_rssi;
sr->isr_noise = se->se_noise;
sr->isr_intval = se->se_intval;
- sr->isr_capinfo = se->se_capinfo;
+ sr->isr_capinfo = se->se_capinfo; /* deprecated */
+ sr->isr_capinfo2 = se->se_capinfo;
sr->isr_erp = se->se_erp;
IEEE80211_ADDR_COPY(sr->isr_bssid, se->se_bssid);
nr = min(se->se_rates[1], IEEE80211_RATE_MAXSIZE);
@@ -560,7 +561,8 @@
si->isi_authmode = ni->ni_authmode;
ic->ic_node_getsignal(ni, &si->isi_rssi, &si->isi_noise);
si->isi_noise = 0; /* XXX */
- si->isi_capinfo = ni->ni_capinfo;
+ si->isi_capinfo = ni->ni_capinfo; /* deprecated */
+ si->isi_capinfo2 = ni->ni_capinfo;
si->isi_erp = ni->ni_erp;
IEEE80211_ADDR_COPY(si->isi_macaddr, ni->ni_macaddr);
si->isi_nrates = ni->ni_rates.rs_nrates;
==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#46 (text+ko) ====
@@ -344,7 +344,7 @@
uint8_t isi_authmode; /* authentication algorithm */
int8_t isi_rssi; /* receive signal strength */
int8_t isi_noise; /* noise floor */
- uint8_t isi_capinfo; /* capabilities */
+ uint8_t isi_capinfo; /* deprecated */
uint8_t isi_erp; /* ERP element */
uint8_t isi_macaddr[IEEE80211_ADDR_LEN];
uint8_t isi_nrates;
@@ -358,6 +358,7 @@
uint16_t isi_txseqs[IEEE80211_TID_SIZE];/* tx seq #/TID */
uint16_t isi_rxseqs[IEEE80211_TID_SIZE];/* rx seq#/TID */
uint16_t isi_inact; /* inactivity timer */
+ uint16_t isi_capinfo2; /* capabilities */
/* XXX frag state? */
/* variable length IE data */
};
@@ -531,12 +532,13 @@
int8_t isr_noise;
int8_t isr_rssi;
uint8_t isr_intval; /* beacon interval */
- uint8_t isr_capinfo; /* capabilities */
+ uint8_t isr_capinfo; /* deprecated */
uint8_t isr_erp; /* ERP element */
uint8_t isr_bssid[IEEE80211_ADDR_LEN];
uint8_t isr_nrates;
uint8_t isr_rates[IEEE80211_RATE_MAXSIZE];
uint8_t isr_ssid_len; /* SSID length */
+ uint16_t isr_capinfo2; /* capabilities */
/* variable length SSID followed by IE data */
};
==== //depot/projects/wifi/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#10 (text+ko) ====
@@ -641,7 +641,7 @@
wsr->noise = sr->isr_noise;
wsr->qual = sr->isr_rssi;
wsr->level = 0; /* XXX? */
- wsr->caps = sr->isr_capinfo;
+ wsr->caps = sr->isr_capinfo2;
wsr->maxrate = getmaxrate(sr->isr_rates, sr->isr_nrates);
vp = ((u_int8_t *)sr) + sr->isr_ie_off;
memcpy(wsr->ssid, vp, sr->isr_ssid_len);
More information about the p4-projects
mailing list