diff mbox series

[5/5] nl80211util: Add builder for CMD_EXTERNAL_AUTH

Message ID 20240823161848.485685-5-denkenz@gmail.com (mailing list archive)
State New
Headers show
Series [1/5] defs: Add defs.h to hold certain global definitions | expand

Checks

Context Check Description
tedd_an/pre-ci_am success Success
prestwoj/iwd-ci-gitlint success GitLint

Commit Message

Denis Kenzior Aug. 23, 2024, 4:18 p.m. UTC
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 mbox series

Patch

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,