From f144fedd97d2a30105fe48462bfadc08e75e2ecd Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Sat, 19 Jan 2008 07:34:13 +0000 Subject: [PATCH] - Capabilities information field is 2bytes long. Mark old sta info structure's capinfo as deprecated. Add new field in sta info to deliver capabilities information to userland applications. - Update ifconfig(8) --- sbin/ifconfig/ifieee80211.c | 4 ++-- sys/netproto/802_11/ieee80211_ioctl.h | 5 +++-- sys/netproto/802_11/wlan/ieee80211_ioctl.c | 5 +++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index c375658f4f..3cc768feb6 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -25,7 +25,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.18.2.10 2006/08/10 06:09:23 sam Exp $ - * $DragonFly: src/sbin/ifconfig/ifieee80211.c,v 1.19 2008/01/19 07:03:55 sephe Exp $ + * $DragonFly: src/sbin/ifconfig/ifieee80211.c,v 1.20 2008/01/19 07:34:13 sephe Exp $ */ /*- @@ -1032,7 +1032,7 @@ list_stations(int s) , si->isi_inact , si->isi_txseqs[0] , si->isi_rxseqs[0] - , getcaps(si->isi_capinfo) + , getcaps(si->isi_capinfo2) , si->isi_erp ); printies(vp, si->isi_ie_len, 24); diff --git a/sys/netproto/802_11/ieee80211_ioctl.h b/sys/netproto/802_11/ieee80211_ioctl.h index 05128dd739..011ca65ab1 100644 --- a/sys/netproto/802_11/ieee80211_ioctl.h +++ b/sys/netproto/802_11/ieee80211_ioctl.h @@ -30,7 +30,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/net80211/ieee80211_ioctl.h,v 1.10.2.7 2006/09/02 17:09:26 sam Exp $ - * $DragonFly: src/sys/netproto/802_11/ieee80211_ioctl.h,v 1.7 2008/01/19 07:03:55 sephe Exp $ + * $DragonFly: src/sys/netproto/802_11/ieee80211_ioctl.h,v 1.8 2008/01/19 07:34:13 sephe Exp $ */ #ifndef _NET80211_IEEE80211_IOCTL_H_ #define _NET80211_IEEE80211_IOCTL_H_ @@ -313,7 +313,7 @@ struct ieee80211req_sta_info { uint16_t isi_state; /* state flags */ uint8_t isi_authmode; /* authentication algorithm */ uint8_t isi_rssi; /* receive signal strength */ - 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; @@ -328,6 +328,7 @@ struct ieee80211req_sta_info { uint16_t isi_txseqs[17]; /* seq to be transmitted */ uint16_t isi_rxseqs[17]; /* seq previous for qos frames*/ uint16_t isi_inact; /* inactivity timer */ + uint16_t isi_capinfo2; /* capabilities */ /* XXX frag state? */ /* variable length IE data */ }; diff --git a/sys/netproto/802_11/wlan/ieee80211_ioctl.c b/sys/netproto/802_11/wlan/ieee80211_ioctl.c index 692ed30ccb..bc02b47be6 100644 --- a/sys/netproto/802_11/wlan/ieee80211_ioctl.c +++ b/sys/netproto/802_11/wlan/ieee80211_ioctl.c @@ -30,7 +30,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.25.2.15 2006/09/02 17:09:26 sam Exp $ - * $DragonFly: src/sys/netproto/802_11/wlan/ieee80211_ioctl.c,v 1.12 2008/01/19 07:03:55 sephe Exp $ + * $DragonFly: src/sys/netproto/802_11/wlan/ieee80211_ioctl.c,v 1.13 2008/01/19 07:34:13 sephe Exp $ */ /* @@ -1127,7 +1127,8 @@ get_sta_info(void *arg, struct ieee80211_node *ni) si->isi_authmode = ni->ni_authmode; si->isi_rssi = ic->ic_node_getrssi(ni); 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; -- 2.41.0