kernel_optimize_test/net/wireless
Johannes Berg 0f3b07f027 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>
2019-02-08 13:51:46 +01:00
..
certs
.gitignore
ap.c
chan.c cfg80211: add some missing fall through annotations 2018-12-18 13:15:08 +01:00
core.c nl80211: announce radios/interfaces when switching namespaces 2018-11-09 11:21:10 +01:00
core.h cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
debugfs.c
debugfs.h
ethtool.c
ibss.c
Kconfig
lib80211_crypt_ccmp.c crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations 2018-11-20 14:26:55 +08:00
lib80211_crypt_tkip.c crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations 2018-11-20 14:26:55 +08:00
lib80211_crypt_wep.c crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations 2018-11-20 14:26:55 +08:00
lib80211.c
Makefile cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
mesh.c
mlme.c cfg80211: add missing constraint for user-supplied VHT mask 2018-11-09 08:55:32 +01:00
nl80211.c netlink: reduce NLA_POLICY_NESTED{,_ARRAY} arguments 2019-02-01 11:06:55 +01:00
nl80211.h cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
ocb.c
of.c
pmsr.c cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
radiotap.c
rdev-ops.h cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
reg.c Merge remote-tracking branch 'net-next/master' into mac80211-next 2019-02-01 11:05:35 +01:00
reg.h
scan.c cfg80211: add and use strongly typed element iteration macros 2019-02-08 13:51:46 +01:00
sme.c cfg80211: Prevent regulatory restore during STA disconnect in concurrent interfaces 2018-11-09 09:11:47 +01:00
sysfs.c
sysfs.h
trace.c
trace.h cfg80211: add peer measurement with FTM initiator API 2018-11-09 11:20:13 +01:00
util.c This time we have too many changes to list, highlights: 2018-12-19 08:36:18 -08:00
wext-compat.c cfg80211: mark expected switch fall-throughs 2019-01-25 14:05:31 +01:00
wext-compat.h
wext-core.c
wext-priv.c
wext-proc.c
wext-sme.c
wext-spy.c