diff options
author | sam <sam@FreeBSD.org> | 2003-09-15 22:28:07 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2003-09-15 22:28:07 +0000 |
commit | c9c933e78b7f78237d8012aa7fd7e0f113823c5a (patch) | |
tree | 0e47a901ca00cc77a28a919bce48d95fbd978a11 /sys/net80211/ieee80211_node.c | |
parent | 9ba7155cfe8dabb2beb540ffb24b3d14e17f357d (diff) | |
download | FreeBSD-src-c9c933e78b7f78237d8012aa7fd7e0f113823c5a.zip FreeBSD-src-c9c933e78b7f78237d8012aa7fd7e0f113823c5a.tar.gz |
Generalize the per-node RSSI data so drivers can do more interesting
things than record a single value.
o add a per-node method for returning the "current RSSI" for a node
o create a default method that returns ni_rssi which is the rssi for
the last received frame
o use the per-node "get rssi" method to return data for the RID's
submitted by wicontrol, et. al.
Loosely based on work by Tom Marshall <tommy@home.tig-grr.com> for MADWIFI.
Diffstat (limited to 'sys/net80211/ieee80211_node.c')
-rw-r--r-- | sys/net80211/ieee80211_node.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 5ea3466..fe0c9b1 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -70,6 +70,9 @@ static struct ieee80211_node *ieee80211_node_alloc(struct ieee80211com *); static void ieee80211_node_free(struct ieee80211com *, struct ieee80211_node *); static void ieee80211_node_copy(struct ieee80211com *, struct ieee80211_node *, const struct ieee80211_node *); +static u_int8_t ieee80211_node_getrssi(struct ieee80211com *, + struct ieee80211_node *); + static void ieee80211_setup_node(struct ieee80211com *ic, struct ieee80211_node *ni, u_int8_t *macaddr); static void _ieee80211_free_node(struct ieee80211com *, @@ -86,6 +89,7 @@ ieee80211_node_attach(struct ifnet *ifp) ic->ic_node_alloc = ieee80211_node_alloc; ic->ic_node_free = ieee80211_node_free; ic->ic_node_copy = ieee80211_node_copy; + ic->ic_node_getrssi = ieee80211_node_getrssi; } void @@ -406,6 +410,12 @@ ieee80211_node_copy(struct ieee80211com *ic, *dst = *src; } +static u_int8_t +ieee80211_node_getrssi(struct ieee80211com *ic, struct ieee80211_node *ni) +{ + return ni->ni_rssi; +} + static void ieee80211_setup_node(struct ieee80211com *ic, struct ieee80211_node *ni, u_int8_t *macaddr) |