mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
cfg80211: move IE split utilities here from mac80211
As the next patch will require the IE splitting utility functions in cfg80211, move them there from mac80211. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
ba8c3d6f16
commit
29464ccc78
5 changed files with 99 additions and 72 deletions
|
@ -1290,6 +1290,47 @@ int cfg80211_get_p2p_attr(const u8 *ies, unsigned int len,
|
|||
}
|
||||
EXPORT_SYMBOL(cfg80211_get_p2p_attr);
|
||||
|
||||
static bool ieee80211_id_in_list(const u8 *ids, int n_ids, u8 id)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < n_ids; i++)
|
||||
if (ids[i] == id)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
size_t ieee80211_ie_split_ric(const u8 *ies, size_t ielen,
|
||||
const u8 *ids, int n_ids,
|
||||
const u8 *after_ric, int n_after_ric,
|
||||
size_t offset)
|
||||
{
|
||||
size_t pos = offset;
|
||||
|
||||
while (pos < ielen && ieee80211_id_in_list(ids, n_ids, ies[pos])) {
|
||||
if (ies[pos] == WLAN_EID_RIC_DATA && n_after_ric) {
|
||||
pos += 2 + ies[pos + 1];
|
||||
|
||||
while (pos < ielen &&
|
||||
!ieee80211_id_in_list(after_ric, n_after_ric,
|
||||
ies[pos]))
|
||||
pos += 2 + ies[pos + 1];
|
||||
} else {
|
||||
pos += 2 + ies[pos + 1];
|
||||
}
|
||||
}
|
||||
|
||||
return pos;
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_ie_split_ric);
|
||||
|
||||
size_t ieee80211_ie_split(const u8 *ies, size_t ielen,
|
||||
const u8 *ids, int n_ids, size_t offset)
|
||||
{
|
||||
return ieee80211_ie_split_ric(ies, ielen, ids, n_ids, NULL, 0, offset);
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_ie_split);
|
||||
|
||||
bool ieee80211_operating_class_to_band(u8 operating_class,
|
||||
enum ieee80211_band *band)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue