mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-09 05:58:01 +02:00
supplicant: use util functions for Wi-Fi frequencies
This commit is contained in:
parent
1a6b631690
commit
3c122235dc
1 changed files with 27 additions and 7 deletions
|
|
@ -306,12 +306,32 @@ nm_supplicant_config_get_blobs (NMSupplicantConfig * self)
|
|||
return NM_SUPPLICANT_CONFIG_GET_PRIVATE (self)->blobs;
|
||||
}
|
||||
|
||||
#define TWO_GHZ_FREQS "2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467 2472 2484"
|
||||
#define FIVE_GHZ_FREQS "4915 4920 4925 4935 4940 4945 4960 4980 5035 5040 5045 5055 5060 5080 " \
|
||||
"5170 5180 5190 5200 5210 5220 5230 5240 5260 5280 5300 5320 5500 " \
|
||||
"5520 5540 5560 5580 5600 5620 5640 5660 5680 5700 5745 5765 5785 " \
|
||||
"5805 5825"
|
||||
static const char *
|
||||
wifi_freqs_to_string (gboolean bg_band)
|
||||
{
|
||||
static const char *str_2ghz = NULL;
|
||||
static const char *str_5ghz = NULL;
|
||||
const char *str;
|
||||
|
||||
str = bg_band ? str_2ghz : str_5ghz;
|
||||
|
||||
if (G_UNLIKELY (str == NULL)) {
|
||||
GString *tmp;
|
||||
const guint *freqs;
|
||||
int i;
|
||||
|
||||
freqs = bg_band ? nm_utils_wifi_2ghz_freqs () : nm_utils_wifi_5ghz_freqs ();
|
||||
tmp = g_string_sized_new (bg_band ? 70 : 225);
|
||||
for (i = 0; freqs[i]; i++)
|
||||
g_string_append_printf (tmp, i == 0 ? "%d" : " %d", freqs[i]);
|
||||
str = g_string_free (tmp, FALSE);
|
||||
if (bg_band)
|
||||
str_2ghz = str;
|
||||
else
|
||||
str_5ghz = str;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
gboolean
|
||||
nm_supplicant_config_add_setting_wireless (NMSupplicantConfig * self,
|
||||
|
|
@ -395,9 +415,9 @@ nm_supplicant_config_add_setting_wireless (NMSupplicantConfig * self,
|
|||
const char *freqs = NULL;
|
||||
|
||||
if (!strcmp (band, "a"))
|
||||
freqs = FIVE_GHZ_FREQS;
|
||||
freqs = wifi_freqs_to_string (FALSE);
|
||||
else if (!strcmp (band, "bg"))
|
||||
freqs = TWO_GHZ_FREQS;
|
||||
freqs = wifi_freqs_to_string (TRUE);
|
||||
|
||||
if (freqs && !nm_supplicant_config_add_option (self, "freq_list", freqs, strlen (freqs), FALSE)) {
|
||||
nm_log_warn (LOGD_SUPPLICANT, "Error adding frequency list/band to supplicant config.");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue