@@ -1088,6 +1088,48 @@ struct ieee80211_ext {
1088
1088
} u ;
1089
1089
} __packed __aligned (2 );
1090
1090
1091
+ #define IEEE80211_TWT_CONTROL_NDP BIT(0)
1092
+ #define IEEE80211_TWT_CONTROL_RESP_MODE BIT(1)
1093
+ #define IEEE80211_TWT_CONTROL_NEG_TYPE_BROADCAST BIT(3)
1094
+ #define IEEE80211_TWT_CONTROL_RX_DISABLED BIT(4)
1095
+ #define IEEE80211_TWT_CONTROL_WAKE_DUR_UNIT BIT(5)
1096
+
1097
+ #define IEEE80211_TWT_REQTYPE_REQUEST BIT(0)
1098
+ #define IEEE80211_TWT_REQTYPE_SETUP_CMD GENMASK(3, 1)
1099
+ #define IEEE80211_TWT_REQTYPE_TRIGGER BIT(4)
1100
+ #define IEEE80211_TWT_REQTYPE_IMPLICIT BIT(5)
1101
+ #define IEEE80211_TWT_REQTYPE_FLOWTYPE BIT(6)
1102
+ #define IEEE80211_TWT_REQTYPE_FLOWID GENMASK(9, 7)
1103
+ #define IEEE80211_TWT_REQTYPE_WAKE_INT_EXP GENMASK(14, 10)
1104
+ #define IEEE80211_TWT_REQTYPE_PROTECTION BIT(15)
1105
+
1106
+ enum ieee80211_twt_setup_cmd {
1107
+ TWT_SETUP_CMD_REQUEST ,
1108
+ TWT_SETUP_CMD_SUGGEST ,
1109
+ TWT_SETUP_CMD_DEMAND ,
1110
+ TWT_SETUP_CMD_GROUPING ,
1111
+ TWT_SETUP_CMD_ACCEPT ,
1112
+ TWT_SETUP_CMD_ALTERNATE ,
1113
+ TWT_SETUP_CMD_DICTATE ,
1114
+ TWT_SETUP_CMD_REJECT ,
1115
+ };
1116
+
1117
+ struct ieee80211_twt_params {
1118
+ __le16 req_type ;
1119
+ __le64 twt ;
1120
+ u8 min_twt_dur ;
1121
+ __le16 mantissa ;
1122
+ u8 channel ;
1123
+ } __packed ;
1124
+
1125
+ struct ieee80211_twt_setup {
1126
+ u8 dialog_token ;
1127
+ u8 element_id ;
1128
+ u8 length ;
1129
+ u8 control ;
1130
+ u8 params [];
1131
+ } __packed ;
1132
+
1091
1133
struct ieee80211_mgmt {
1092
1134
__le16 frame_control ;
1093
1135
__le16 duration ;
@@ -1252,6 +1294,10 @@ struct ieee80211_mgmt {
1252
1294
__le16 toa_error ;
1253
1295
u8 variable [0 ];
1254
1296
} __packed ftm ;
1297
+ struct {
1298
+ u8 action_code ;
1299
+ u8 variable [];
1300
+ } __packed s1g ;
1255
1301
} u ;
1256
1302
} __packed action ;
1257
1303
} u ;
@@ -2881,6 +2927,7 @@ enum ieee80211_eid {
2881
2927
WLAN_EID_AID_RESPONSE = 211 ,
2882
2928
WLAN_EID_S1G_BCN_COMPAT = 213 ,
2883
2929
WLAN_EID_S1G_SHORT_BCN_INTERVAL = 214 ,
2930
+ WLAN_EID_S1G_TWT = 216 ,
2884
2931
WLAN_EID_S1G_CAPABILITIES = 217 ,
2885
2932
WLAN_EID_VENDOR_SPECIFIC = 221 ,
2886
2933
WLAN_EID_QOS_PARAMETER = 222 ,
@@ -2950,6 +2997,7 @@ enum ieee80211_category {
2950
2997
WLAN_CATEGORY_FST = 18 ,
2951
2998
WLAN_CATEGORY_UNPROT_DMG = 20 ,
2952
2999
WLAN_CATEGORY_VHT = 21 ,
3000
+ WLAN_CATEGORY_S1G = 22 ,
2953
3001
WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126 ,
2954
3002
WLAN_CATEGORY_VENDOR_SPECIFIC = 127 ,
2955
3003
};
@@ -3023,6 +3071,20 @@ enum ieee80211_key_len {
3023
3071
WLAN_KEY_LEN_BIP_GMAC_256 = 32 ,
3024
3072
};
3025
3073
3074
+ enum ieee80211_s1g_actioncode {
3075
+ WLAN_S1G_AID_SWITCH_REQUEST ,
3076
+ WLAN_S1G_AID_SWITCH_RESPONSE ,
3077
+ WLAN_S1G_SYNC_CONTROL ,
3078
+ WLAN_S1G_STA_INFO_ANNOUNCE ,
3079
+ WLAN_S1G_EDCA_PARAM_SET ,
3080
+ WLAN_S1G_EL_OPERATION ,
3081
+ WLAN_S1G_TWT_SETUP ,
3082
+ WLAN_S1G_TWT_TEARDOWN ,
3083
+ WLAN_S1G_SECT_GROUP_ID_LIST ,
3084
+ WLAN_S1G_SECT_ID_FEEDBACK ,
3085
+ WLAN_S1G_TWT_INFORMATION = 11 ,
3086
+ };
3087
+
3026
3088
#define IEEE80211_WEP_IV_LEN 4
3027
3089
#define IEEE80211_WEP_ICV_LEN 4
3028
3090
#define IEEE80211_CCMP_HDR_LEN 8
0 commit comments