未验证 提交 5116d46b 编写于 作者: O openharmony_ci 提交者: Gitee

!174 支持NL80211 HISI的trunk版本

Merge pull request !174 from 毛宇锋/1027
......@@ -402,6 +402,9 @@ ohos_shared_library("wpa") {
if ("${CONFIG_HISI}" == "true") {
sources += [ "$WPA_ROOT_DIR/wpa_supplicant_lib/driver_nl80211_hisi.c" ]
cflags += [ "-DCONFIG_DRIVER_NL80211_HISI" ]
if (use_musl) {
cflags += [ "-DCONFIG_DRIVER_NL80211_HISI_TRUNK" ]
}
}
configs = [ ":wpa_warnings" ]
......
......@@ -123,6 +123,9 @@ int wpa_driver_nl80211_driver_cmd(void *priv, char *cmd, char *buf, size_t buf_l
struct ifreq ifr;
int ret = 0;
int ret_s;
#ifdef CONFIG_DRIVER_NL80211_HISI_TRUNK
char temp_cmd[MAX_PRIV_CMD_SIZE] = {0};
#endif
wpa_printf(MSG_ERROR, "wpa_driver_nl80211_driver_cmd:cmd = %s", cmd);
if (os_strcasecmp(cmd, "STOP") == 0) {
......@@ -183,7 +186,12 @@ int wpa_driver_nl80211_driver_cmd(void *priv, char *cmd, char *buf, size_t buf_l
}
/* Hisi private data structure cmd should use buf_len, rather than strlen(cmd) */
#ifdef CONFIG_DRIVER_NL80211_HISI_TRUNK
priv_cmd.buf = temp_cmd;
ret_s = memcpy_s(temp_cmd, buf_len_tmp, cmd, buf_len);
#else
ret_s = memcpy_s(buf, buf_len_tmp, cmd, buf_len);
#endif /* CONFIG_DRIVER_NL80211_HISI_TRUNK */
if (ret_s != EOK) {
wpa_printf(MSG_ERROR, "%s:%d, memcpy failed, ret=%d", __func__, __LINE__, ret_s);
}
......@@ -198,7 +206,11 @@ int wpa_driver_nl80211_driver_cmd(void *priv, char *cmd, char *buf, size_t buf_l
wpa_printf(MSG_ERROR, "%s:%d, memcpy failed, ret=%d", __func__, __LINE__, ret_s);
}
#ifdef CONFIG_DRIVER_NL80211_HISI_TRUNK
priv_cmd.total_len = sizeof(temp_cmd);
#else
priv_cmd.total_len = buf_len; /* MAX_PRIV_CMD_SIZE */
#endif /* CONFIG_DRIVER_NL80211_HISI_TRUNK */
priv_cmd.used_len = buf_len; /* strlen(cmd) */
ifr.ifr_data = (void *) &priv_cmd;
......@@ -635,6 +647,9 @@ static void get_cust_config_params(void)
wifi_priv_cmd ioctl_data = {0};
int ret;
int len;
#ifdef CONFIG_DRIVER_NL80211_HISI_TRUNK
char buff[MAX_PRIV_CMD_SIZE] = {0};
#endif /* CONFIG_DRIVER_NL80211_HISI_TRUNK */
if (-1 == (skfd = wpa_sockets_open())) {
wpa_printf(MSG_ERROR,
......@@ -642,7 +657,12 @@ static void get_cust_config_params(void)
return;
}
#ifdef CONFIG_DRIVER_NL80211_HISI_TRUNK
ioctl_data.buf = buff;
len = snprintf_s(buff, MAX_PRIV_CMD_SIZE, MAX_PRIV_CMD_SIZE - 1, "WPAS_GET_CUST");
#else
len = snprintf_s(ioctl_data.buf, MAX_PRIV_CMD_SIZE, MAX_PRIV_CMD_SIZE - 1, "WPAS_GET_CUST");
#endif
if (len == -1) {
wpa_printf(MSG_ERROR, "%s:%d, snprintf failed, ret=%d", __func__, __LINE__, len);
}
......
......@@ -69,9 +69,15 @@ typedef int int32;
typedef unsigned long long uint64;
typedef struct wifi_priv_cmd {
int total_len;
int used_len;
char buf[MAX_PRIV_CMD_SIZE];
#ifdef CONFIG_DRIVER_NL80211_HISI_TRUNK
char *buf;
int total_len;
int used_len;
#else
int total_len;
int used_len;
char buf[MAX_PRIV_CMD_SIZE];
#endif
} wifi_priv_cmd;
typedef struct
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册