int (*softap_start)(const char *ifname);
int (*stop)(const char *ifname);
int (*get_mac)(const char *ifname, char **mac);
+ int (*device_control)(const char *command, int argc, char *argv[]);
} hal_backend_wifi_funcs;
#ifdef __cplusplus
int hal_wifi_softap_start(const char *ifname);
int hal_wifi_stop(const char *ifname);
int hal_wifi_get_mac(const char *ifname, char **mac);
+int hal_wifi_device_control(const char *command, int argc, char *argv[]);
#ifdef __cplusplus
}
{
if (!g_wifi_funcs)
return -ENOTSUP;
+
+ if (!g_wifi_funcs->sta_start)
+ return -ENOTSUP;
+
return g_wifi_funcs->sta_start(ifname);
}
{
if (!g_wifi_funcs)
return -ENOTSUP;
+
+ if (!g_wifi_funcs->p2p_start)
+ return -ENOTSUP;
+
return g_wifi_funcs->p2p_start(ifname);
}
{
if (!g_wifi_funcs)
return -ENOTSUP;
+
+ if (!g_wifi_funcs->softap_start)
+ return -ENOTSUP;
+
return g_wifi_funcs->softap_start(ifname);
}
{
if (!g_wifi_funcs)
return -ENOTSUP;
+
+ if (!g_wifi_funcs->stop)
+ return -ENOTSUP;
+
return g_wifi_funcs->stop(ifname);
}
{
if (!g_wifi_funcs)
return -ENOTSUP;
+
+ if (!g_wifi_funcs->get_mac)
+ return -ENOTSUP;
+
return g_wifi_funcs->get_mac(ifname, mac);
}
+
+EXPORT
+int hal_wifi_device_control(const char *command, int argc, char *argv[])
+{
+ if (!g_wifi_funcs)
+ return -ENOTSUP;
+
+ if (!g_wifi_funcs->device_control)
+ return -ENOTSUP;
+
+ return g_wifi_funcs->device_control(command, argc, argv);
+}