@@ -2852,6 +2852,33 @@ error_return:
static int
+hostapd_global_ctrl_iface_interfaces(struct hapd_interfaces *interfaces,
+ char *reply, int reply_size)
+{
+ int i, res;
+ char *pos, *end;
+ struct hostapd_iface *iface;
+
+ pos = reply;
+ end = reply + reply_size;
+
+ for (i = 0; i < interfaces->count; i++) {
+ iface = interfaces->iface[i];
+
+ res = os_snprintf(pos, end - pos, "%s ctrl_iface=%s\n",
+ iface->conf->bss[0]->iface,
+ iface->conf->bss[0]->ctrl_interface);
+ if (os_snprintf_error(end - pos, res)) {
+ *pos = '\0';
+ break;
+ }
+ pos += res;
+ }
+
+ return pos - reply;
+}
+
+static int
hostapd_global_ctrl_iface_dup_network(struct hapd_interfaces *interfaces,
char *cmd)
{
@@ -3053,6 +3080,10 @@ static void hostapd_global_ctrl_iface_receive(int sock, void *eloop_ctx,
reply_len = os_snprintf(reply, reply_size, "OK\n");
else
reply_len = -1;
+ } else if (os_strncmp(buf, "INTERFACES", 10) == 0) {
+ reply_len = hostapd_global_ctrl_iface_interfaces(interfaces,
+ reply,
+ sizeof(buffer));
} else {
wpa_printf(MSG_DEBUG, "Unrecognized global ctrl_iface command "
"ignored");
Print available interfaces with ctrl_iface. This is useful in case we using UDP CTRL and add interface using ADD command. After that we need to know which udp port we should use for this new added interface. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> --- hostapd/ctrl_iface.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)