aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/util.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-07-02 11:18:40 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 15:01:53 -0400
commit517357c685ccc4b5783cc7dbdae8824ada19a97f (patch)
tree1e3532ca39233dd59b106011788f68a21ffc88c4 /net/wireless/util.c
parent0eb14647fc6b56f73efb28a72ca0c7cc03a653f9 (diff)
cfg80211: assimilate and export ieee80211_bss_get_ie
This function from mac80211 seems generally useful, and I will need it in cfg80211 soon. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/util.c')
-rw-r--r--net/wireless/util.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/net/wireless/util.c b/net/wireless/util.c
index 25550692dda6..28f8f96801d4 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -502,3 +502,24 @@ unsigned int cfg80211_classify8021d(struct sk_buff *skb)
502 return dscp >> 5; 502 return dscp >> 5;
503} 503}
504EXPORT_SYMBOL(cfg80211_classify8021d); 504EXPORT_SYMBOL(cfg80211_classify8021d);
505
506const u8 *ieee80211_bss_get_ie(struct cfg80211_bss *bss, u8 ie)
507{
508 u8 *end, *pos;
509
510 pos = bss->information_elements;
511 if (pos == NULL)
512 return NULL;
513 end = pos + bss->len_information_elements;
514
515 while (pos + 1 < end) {
516 if (pos + 2 + pos[1] > end)
517 break;
518 if (pos[0] == ie)
519 return pos;
520 pos += 2 + pos[1];
521 }
522
523 return NULL;
524}
525EXPORT_SYMBOL(ieee80211_bss_get_ie);