wifi: ieee80211: add structs for TBTT information access
authorBenjamin Berg <benjamin.berg@intel.com>
Sun, 18 Jun 2023 18:49:51 +0000 (21:49 +0300)
committerChristian Lamparter <chunkeey@gmail.com>
Sat, 16 Sep 2023 21:53:42 +0000 (23:53 +0200)
The TBTT information can have various lengths with different elements
thare are present. Add definitions for the two types that we are
interested in (i.e. the ones that contain the BSSID).

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230618214436.2a6f8766a3ec.Ic962e28492212cc8ee1eb602b8f07a4ea172fc4a@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
include/linux/ieee80211.h

index bb3b7b948a6bf150061881090417ea61a95c741e..b68fbaeac23594c6bc58cdbe532312dd1c212a73 100644 (file)
@@ -4452,6 +4452,28 @@ struct ieee80211_rnr_mld_params {
 #define IEEE80211_RNR_MLD_PARAMS_UPDATES_INCLUDED              0x1000
 #define IEEE80211_RNR_MLD_PARAMS_DISABLED_LINK                 0x2000
 
+/* Format of the TBTT information element if it has 7, 8 or 9 bytes */
+struct ieee80211_tbtt_info_7_8_9 {
+       u8 tbtt_offset;
+       u8 bssid[6];
+
+       /* The following element is optional, structure may not grow */
+       u8 bss_params;
+       u8 psd_20;
+} __packed;
+
+/* Format of the TBTT information element if it has >= 11 bytes */
+struct ieee80211_tbtt_info_ge_11 {
+       u8 tbtt_offset;
+       u8 bssid[6];
+       __le32 short_ssid;
+
+       /* The following elements are optional, structure may grow */
+       u8 bss_params;
+       u8 psd_20;
+       struct ieee80211_rnr_mld_params mld_params;
+} __packed;
+
 /* multi-link device */
 #define IEEE80211_MLD_MAX_NUM_LINKS    15