summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2019-02-07 21:44:41 +0100
committerJohannes Berg <johannes.berg@intel.com>2019-02-08 13:51:46 +0100
commit0f3b07f027f87a38ebe5c436490095df762819be (patch)
treede50f59459836721da01ed32f43a678736275800 /net/mac80211
parent341203e78943236d4a8e4ca58d6a236195f0652e (diff)
downloadlinux-0f3b07f027f87a38ebe5c436490095df762819be.tar.bz2
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>
Diffstat (limited to 'net/mac80211')
0 files changed, 0 insertions, 0 deletions