TDLS: Add get_capability tdls command

Command returns info in format: UNSUPPORTED/INTERNAL/EXTERNAL

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
This commit is contained in:
Dmitry Shmidt 2014-03-13 15:12:38 -07:00 committed by Jouni Malinen
parent ea7526bfb3
commit 6e9375e4e1

View file

@ -538,6 +538,22 @@ static int wpa_supplicant_ctrl_iface_tdls_teardown(
return ret; return ret;
} }
static int ctrl_iface_get_capability_tdls(
struct wpa_supplicant *wpa_s, char *buf, size_t buflen)
{
int ret;
ret = os_snprintf(buf, buflen, "%s\n",
wpa_s->drv_flags & WPA_DRIVER_FLAGS_TDLS_SUPPORT ?
(wpa_s->drv_flags &
WPA_DRIVER_FLAGS_TDLS_EXTERNAL_SETUP ?
"EXTERNAL" : "INTERNAL") : "UNSUPPORTED");
if (ret < 0 || (size_t) ret > buflen)
return -1;
return ret;
}
#endif /* CONFIG_TDLS */ #endif /* CONFIG_TDLS */
@ -3180,6 +3196,11 @@ static int wpa_supplicant_ctrl_iface_get_capability(
if (os_strcmp(field, "freq") == 0) if (os_strcmp(field, "freq") == 0)
return ctrl_iface_get_capability_freq(wpa_s, buf, buflen); return ctrl_iface_get_capability_freq(wpa_s, buf, buflen);
#ifdef CONFIG_TDLS
if (os_strcmp(field, "tdls") == 0)
return ctrl_iface_get_capability_tdls(wpa_s, buf, buflen);
#endif /* CONFIG_TDLS */
wpa_printf(MSG_DEBUG, "CTRL_IFACE: Unknown GET_CAPABILITY field '%s'", wpa_printf(MSG_DEBUG, "CTRL_IFACE: Unknown GET_CAPABILITY field '%s'",
field); field);