[PATCH 5/5] nl80211util: Add builder for CMD_EXTERNAL_AUTH

Denis Kenzior
2024-08-23T16:18:54Z

This is for sending status from the STA to the driver
---
src/nl80211util.c | 15 +++++++++++++++
src/nl80211util.h | 5 +++++
2 files changed, 20 insertions(+)

diff --git a/src/nl80211util.c b/src/nl80211util.c
index c1218c21fcd2..fcf70b9f1740 100644
--- a/src/nl80211util.c
+++ b/src/nl80211util.c
@@ -654,6 +654,21 @@ struct l_genl_msg *nl80211_build_cmd_frame(uint32_t ifindex,
return msg;
}

+struct l_genl_msg *nl80211_build_external_auth(uint32_t ifindex,
+ uint16_t status_code,
+ const uint8_t *ssid, size_t ssid_len,
+ const uint8_t bssid[static 6])
+{
+ struct l_genl_msg *msg = l_genl_msg_new(NL80211_CMD_EXTERNAL_AUTH);
+
+ l_genl_msg_append_attr(msg, NL80211_ATTR_IFINDEX, 4, &ifindex);
+ l_genl_msg_append_attr(msg, NL80211_ATTR_STATUS_CODE, 2, &status_code);
+ l_genl_msg_append_attr(msg, NL80211_ATTR_SSID, ssid_len, ssid);
+ l_genl_msg_append_attr(msg, NL80211_ATTR_BSSID, 6, bssid);
+
+ return msg;
+}
+
int nl80211_parse_chandef(struct l_genl_msg *msg, struct band_chandef *out)
{
struct band_chandef t;
diff --git a/src/nl80211util.h b/src/nl80211util.h
index d966e04978c9..67fd7d7bdaa6 100644
--- a/src/nl80211util.h
+++ b/src/nl80211util.h
@@ -87,6 +87,11 @@ struct l_genl_msg *nl80211_build_cmd_frame(uint32_t ifindex,
struct iovec *iov,
size_t iov_len);

+struct l_genl_msg *nl80211_build_external_auth(uint32_t ifindex,
+ uint16_t status_code,
+ const uint8_t *ssid, size_t ssid_len,
+ const uint8_t bssid[static 6]);
+
int nl80211_parse_chandef(struct l_genl_msg *msg, struct band_chandef *out);
int nl80211_parse_supported_frequencies(struct l_genl_attr *band_freqs,
struct scan_freq_set *supported_list,
--
2.45.2