cfg80211: add and use strongly typed element iteration macros
Rather than always iterating elements from frames with pure
u8 pointers, add a type "struct element" that encapsulates
the id/datalen/data format of them.
Then, add the element iteration macros
* for_each_element
* for_each_element_id
* for_each_element_extid
which take, as their first 'argument', such a structure and
iterate through a given u8 array interpreting it as elements.
While at it and since we'll need it, also add
* for_each_subelement
* for_each_subelement_id
* for_each_subelement_extid
which instead of taking data/length just take an outer element
and use its data/datalen.
Also add for_each_element_completed() to determine if any of
the loops above completed, i.e. it was able to parse all of
the elements successfully and no data remained.
Use for_each_element_id() in cfg80211_find_ie_match() as the
first user of this.
Signed-off-by:
Johannes Berg <johannes.berg@intel.com>
Loading
-
mentioned in commit ea631b4d
-
mentioned in commit dca06f27
-
mentioned in commit b7fb4786
-
mentioned in commit f3383b4f
-
mentioned in commit dee867e5
-
mentioned in commit 2b494905
-
mentioned in commit 7b534d98
-
mentioned in commit 3b705310
-
mentioned in commit d906f241
-
mentioned in commit 460659e0
-
mentioned in commit a959c29d
-
mentioned in commit 34e64460
Please sign in to comment