aboutsummaryrefslogtreecommitdiffstats
path: root/hostapd/ctrl_iface.c
diff options
context:
space:
mode:
authorAnton Nayshtut <qca_antonn@qca.qualcomm.com>2015-07-19 09:13:23 (GMT)
committerJouni Malinen <j@w1.fi>2015-07-21 10:24:36 (GMT)
commitb328145296d6595cfd9b326cd6dfb4fcbdda89e2 (patch)
treef3fae04c1a31494a3c51fe3d86c8c668d5f6788f /hostapd/ctrl_iface.c
parentd71bdfbd83d7525ade28357c2951ff6dab8f2be5 (diff)
downloadhostap-b328145296d6595cfd9b326cd6dfb4fcbdda89e2.zip
hostap-b328145296d6595cfd9b326cd6dfb4fcbdda89e2.tar.gz
hostap-b328145296d6595cfd9b326cd6dfb4fcbdda89e2.tar.bz2
hostapd: Introduce hostapd_interfaces_get_hapd()
This function will be used in DUP_NETWORK command implementation. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'hostapd/ctrl_iface.c')
-rw-r--r--hostapd/ctrl_iface.c32
1 files changed, 22 insertions, 10 deletions
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
index 5ef3597..43ed6d7 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -2589,27 +2589,39 @@ hostapd_global_ctrl_iface_fst_detach(struct hapd_interfaces *interfaces,
#endif /* CONFIG_FST */
-static int hostapd_global_ctrl_iface_ifname(struct hapd_interfaces *interfaces,
- const char *ifname,
- char *buf, char *reply,
- int reply_size,
- struct sockaddr_un *from,
- socklen_t fromlen)
+
+static struct hostapd_data *
+hostapd_interfaces_get_hapd(struct hapd_interfaces *interfaces,
+ const char *ifname)
{
size_t i, j;
- struct hostapd_data *hapd = NULL;
- for (i = 0; hapd == NULL && i < interfaces->count; i++) {
+ for (i = 0; i < interfaces->count; i++) {
struct hostapd_iface *iface = interfaces->iface[i];
for (j = 0; j < iface->num_bss; j++) {
+ struct hostapd_data *hapd;
+
hapd = iface->bss[j];
if (os_strcmp(ifname, hapd->conf->iface) == 0)
- break;
- hapd = NULL;
+ return hapd;
}
}
+ return NULL;
+}
+
+
+static int hostapd_global_ctrl_iface_ifname(struct hapd_interfaces *interfaces,
+ const char *ifname,
+ char *buf, char *reply,
+ int reply_size,
+ struct sockaddr_un *from,
+ socklen_t fromlen)
+{
+ struct hostapd_data *hapd;
+
+ hapd = hostapd_interfaces_get_hapd(interfaces, ifname);
if (hapd == NULL) {
int res;