Skip to content
Snippets Groups Projects

hostapd: harmonize ubus channel and bandwith events

Open Marina Maslova requested to merge marsik_format_events into devel
1 file
+ 229
0
Compare changes
  • Side-by-side
  • Inline
--- a/src/ap/ubus.c
+++ b/src/ap/ubus.c
@@ -135,11 +135,11 @@ static void hostapd_ubus_ap_enable(struc
data = blobmsg_open_table(&b, "data");
if (!data)
goto exit;
- if (blobmsg_add_string(&b, "freq", argv[1] + strlen("freq=")))
+ if (blobmsg_add_u32(&b, "freq", atoi(argv[1] + strlen("freq="))))
goto exit;
- if (blobmsg_add_u32(&b, "dfs", atoi(argv[2] + strlen("dfs="))))
+ if (blobmsg_add_u32(&b, "bandwidth", atoi(argv[3] + strlen("width="))))
goto exit;
- if (blobmsg_add_u32(&b, "width", atoi(argv[3] + strlen("width="))))
+ if (blobmsg_add_u32(&b, "dfs", atoi(argv[2] + strlen("dfs="))))
goto exit;
blobmsg_close_table(&b, data);
}
@@ -876,13 +876,10 @@ static void hostapd_ubus_dfs_radar(struc
char service[] = "wifi.radio";
struct blob_buf b;
unsigned char channel;
- char chan[8];
char *argv[8];
int argc;
void *data;
char *str;
- char width_buf[50];
- char *width;
int chwidth;
/* freq=%d ht_enabled=%d chan_offset=%d chan_width=%d cf1=%d cf2=%d */
@@ -908,22 +905,18 @@ static void hostapd_ubus_dfs_radar(struc
chwidth = atoi(argv[4] + strlen("chan_width="));
chwidth = get_real_chan_width(chwidth);
- snprintf(width_buf, sizeof(width_buf), "%d", chwidth);
- width = width_buf;
-
data = blobmsg_open_table(&b, "data");
if (!data)
goto exit;
- if (blobmsg_add_string(&b, "freq", argv[1] + strlen("freq=")))
+ if (blobmsg_add_u32(&b, "freq", atoi(argv[1] + strlen("freq="))))
goto exit;
ieee80211_freq_to_chan(atoi(argv[1] + strlen("freq=")), &channel);
- snprintf(chan, sizeof(chan), "%u", channel);
- if (blobmsg_add_string(&b, "channel", chan))
+ if (blobmsg_add_u32(&b, "channel", channel))
goto exit;
- if (blobmsg_add_string(&b, "bandwidth", width))
+ if (blobmsg_add_u32(&b, "bandwidth", chwidth))
goto exit;
blobmsg_close_table(&b, data);
@@ -965,9 +958,9 @@ static void hostapd_ubus_dfs_new_channel
data = blobmsg_open_table(&b, "data");
if (!data)
goto exit;
- if (blobmsg_add_string(&b, "freq", argv[1] + strlen("freq=")))
+ if (blobmsg_add_u32(&b, "freq", atoi(argv[1] + strlen("freq="))))
goto exit;
- if (blobmsg_add_string(&b, "channel", argv[2] + strlen("chan=")))
+ if (blobmsg_add_u32(&b, "channel", atoi(argv[2] + strlen("chan="))))
goto exit;
blobmsg_close_table(&b, data);
@@ -988,8 +981,6 @@ static void hostapd_ubus_dfs_cac_start(s
char *str;
int chwidth;
int sec_chan;
- char width_buf[50];
- char *width;
/* freq=%d chan=%d sec_chan=%d, width=%d, seg0=%d, seg1=%d, cac_time=%d */
memset(&b, 0, sizeof(b));
@@ -1019,8 +1010,6 @@ static void hostapd_ubus_dfs_cac_start(s
}
chwidth = get_real_chan_width(chwidth);
- snprintf(width_buf, sizeof(width_buf), "%d", chwidth);
- width = width_buf;
if (blobmsg_add_string(&b, "ifname", hapd->conf->iface))
goto exit;
@@ -1030,13 +1019,13 @@ static void hostapd_ubus_dfs_cac_start(s
data = blobmsg_open_table(&b, "data");
if (!data)
goto exit;
- if (blobmsg_add_string(&b, "freq", argv[1] + strlen("freq=")))
+ if (blobmsg_add_u32(&b, "freq", atoi(argv[1] + strlen("freq="))))
goto exit;
- if (blobmsg_add_string(&b, "channel", argv[2] + strlen("chan=")))
+ if (blobmsg_add_u32(&b, "channel", atoi(argv[2] + strlen("chan="))))
goto exit;
- if (blobmsg_add_string(&b, "bandwidth", width))
+ if (blobmsg_add_u32(&b, "bandwidth", chwidth))
goto exit;
- if (blobmsg_add_string(&b, "cac_time", argv[7] + strlen("cac_time=")))
+ if (blobmsg_add_u32(&b, "cac_time", atoi(argv[7] + strlen("cac_time="))))
goto exit;
blobmsg_close_table(&b, data);
@@ -1052,14 +1041,11 @@ static void hostapd_ubus_dfs_cac_complet
char service[] = "wifi.radio";
struct blob_buf b;
unsigned char channel;
- char chan[8];
char *argv[12];
int argc;
void *data;
char *str;
- char width_buf[50];
- int chwidth;
- char *width;
+ int chwidth;
/* success=%d freq=%d ht_enabled=%d chan_offset=%d chan_width=%d cf1=%d cf2=%d */
memset(&b, 0, sizeof(b));
@@ -1085,23 +1071,20 @@ static void hostapd_ubus_dfs_cac_complet
chwidth = atoi(argv[5] + strlen("chan_width="));
chwidth = get_real_chan_width(chwidth);
- snprintf(width_buf, sizeof(width_buf), "%d", chwidth);
- width = width_buf;
data = blobmsg_open_table(&b, "data");
if (!data)
goto exit;
- if (blobmsg_add_string(&b, "freq", argv[2] + strlen("freq=")))
+ if (blobmsg_add_u32(&b, "freq", atoi(argv[2] + strlen("freq="))))
goto exit;
ieee80211_freq_to_chan(atoi(argv[2] + strlen("freq=")), &channel);
- snprintf(chan, sizeof(chan), "%u", channel);
- if (blobmsg_add_string(&b, "channel", chan))
+ if (blobmsg_add_u32(&b, "channel", channel))
goto exit;
- if (blobmsg_add_string(&b, "bandwidth", width))
+ if (blobmsg_add_u32(&b, "bandwidth", chwidth))
goto exit;
- if (blobmsg_add_string(&b, "success", argv[1] + strlen("success=")))
+ if (blobmsg_add_u32(&b, "success", atoi(argv[1] + strlen("success="))))
goto exit;
blobmsg_close_table(&b, data);
@@ -1117,14 +1100,11 @@ static void hostapd_ubus_dfs_nop_finishe
char service[] = "wifi.radio";
struct blob_buf b;
unsigned char channel;
- char chan[8];
char *argv[8];
int argc;
void *data;
char *str;
- char width_buf[50];
int chwidth;
- char *width;
/* freq=%d ht_enabled=%d chan_offset=%d chan_width=%d cf1=%d cf2=%d */
memset(&b, 0, sizeof(b));
@@ -1148,21 +1128,18 @@ static void hostapd_ubus_dfs_nop_finishe
chwidth = atoi(argv[4] + strlen("chan_width="));
chwidth = get_real_chan_width(chwidth);
- snprintf(width_buf, sizeof(width_buf), "%d", chwidth);
- width = width_buf;
data = blobmsg_open_table(&b, "data");
if (!data)
goto exit;
- if (blobmsg_add_string(&b, "freq", argv[1] + strlen("freq=")))
+ if (blobmsg_add_u32(&b, "freq", atoi(argv[1] + strlen("freq="))))
goto exit;
ieee80211_freq_to_chan(atoi(argv[1] + strlen("freq=")), &channel);
- snprintf(chan, sizeof(chan), "%u", channel);
- if (blobmsg_add_string(&b, "channel", chan))
+ if (blobmsg_add_u32(&b, "channel", channel))
goto exit;
- if (blobmsg_add_string(&b, "bandwidth", width))
+ if (blobmsg_add_u32(&b, "bandwidth", chwidth))
goto exit;
blobmsg_close_table(&b, data);
@@ -1178,14 +1155,11 @@ static void hostapd_ubus_dfs_pre_cac_exp
char service[] = "wifi.radio";
struct blob_buf b;
unsigned char channel;
- char chan[8];
char *argv[8];
int argc;
void *data;
char *str;
- char width_buf[50];
int chwidth;
- char *width;
/* freq=%d ht_enabled=%d chan_offset=%d chan_width=%d cf1=%d cf2=%d */
memset(&b, 0, sizeof(b));
@@ -1209,21 +1183,18 @@ static void hostapd_ubus_dfs_pre_cac_exp
chwidth = atoi(argv[4] + strlen("chan_width="));
chwidth = get_real_chan_width(chwidth);
- snprintf(width_buf, sizeof(width_buf), "%d", chwidth);
- width = width_buf;
data = blobmsg_open_table(&b, "data");
if (!data)
goto exit;
- if (blobmsg_add_string(&b, "freq", argv[1] + strlen("freq=")))
+ if (blobmsg_add_u32(&b, "freq", atoi(argv[1] + strlen("freq="))))
goto exit;
ieee80211_freq_to_chan(atoi(argv[1] + strlen("freq=")), &channel);
- snprintf(chan, sizeof(chan), "%u", channel);
- if (blobmsg_add_string(&b, "channel", chan))
+ if (blobmsg_add_u32(&b, "channel", channel))
goto exit;
- if (blobmsg_add_string(&b, "bandwidth", width))
+ if (blobmsg_add_u32(&b, "bandwidth", chwidth))
goto exit;
blobmsg_close_table(&b, data);
Loading