summary refs log tree commit diff
path: root/src/nmcli/devices.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2024-01-25 09:46:18 +0100
committerMichael Biebl <biebl@debian.org>2024-01-25 09:46:18 +0100
commit70e18d99b8e3e77bb37e218d7ac582130156f8ef (patch)
treed40c587e6d3f0e094ff558e415f1bb9803643214 /src/nmcli/devices.c
parentd4d8b2b91f7ba000d97a8b2aab48c85000c11314 (diff)
New upstream version 1.45.90 upstream/1.45.90
Diffstat (limited to 'src/nmcli/devices.c')
-rw-r--r--src/nmcli/devices.c58
1 files changed, 37 insertions, 21 deletions
diff --git a/src/nmcli/devices.c b/src/nmcli/devices.c
index a56f0f81..a3ea7c45 100644
--- a/src/nmcli/devices.c
+++ b/src/nmcli/devices.c
@@ -597,6 +597,12 @@ _metagen_device_detail_wifi_properties_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_ARG
                 ? (NM_FLAGS_HAS(wcaps, NM_WIFI_DEVICE_CAP_FREQ_5GHZ) ? N_("yes") : N_("no"))
                 : N_("unknown"),
             get_type);
+    case NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_6GHZ:
+        return nmc_meta_generic_get_str_i18n(
+            NM_FLAGS_HAS(wcaps, NM_WIFI_DEVICE_CAP_FREQ_VALID)
+                ? (NM_FLAGS_HAS(wcaps, NM_WIFI_DEVICE_CAP_FREQ_6GHZ) ? N_("yes") : N_("no"))
+                : N_("unknown"),
+            get_type);
     case NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_MESH:
         return nmc_meta_generic_get_bool(NM_FLAGS_HAS(wcaps, NM_WIFI_DEVICE_CAP_MESH), get_type);
     case NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_IBSS_RSN:
@@ -644,6 +650,9 @@ const NmcMetaGenericInfo *const
             NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_5GHZ,
             "5GHZ"),
         _METAGEN_DEVICE_DETAIL_WIFI_PROPERTIES(
+            NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_6GHZ,
+            "6GHZ"),
+        _METAGEN_DEVICE_DETAIL_WIFI_PROPERTIES(
             NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_MESH,
             "MESH"),
         _METAGEN_DEVICE_DETAIL_WIFI_PROPERTIES(
@@ -725,15 +734,16 @@ const NmcMetaGenericInfo *const nmc_fields_dev_wifi_list[] = {
     NMC_META_GENERIC("CHAN"),      /* 5 */
     NMC_META_GENERIC("FREQ"),      /* 6 */
     NMC_META_GENERIC("RATE"),      /* 7 */
-    NMC_META_GENERIC("SIGNAL"),    /* 8 */
-    NMC_META_GENERIC("BARS"),      /* 9 */
-    NMC_META_GENERIC("SECURITY"),  /* 10 */
-    NMC_META_GENERIC("WPA-FLAGS"), /* 11 */
-    NMC_META_GENERIC("RSN-FLAGS"), /* 12 */
-    NMC_META_GENERIC("DEVICE"),    /* 13 */
-    NMC_META_GENERIC("ACTIVE"),    /* 14 */
-    NMC_META_GENERIC("IN-USE"),    /* 15 */
-    NMC_META_GENERIC("DBUS-PATH"), /* 16 */
+    NMC_META_GENERIC("BANDWIDTH"), /* 8 */
+    NMC_META_GENERIC("SIGNAL"),    /* 9 */
+    NMC_META_GENERIC("BARS"),      /* 10 */
+    NMC_META_GENERIC("SECURITY"),  /* 11 */
+    NMC_META_GENERIC("WPA-FLAGS"), /* 12 */
+    NMC_META_GENERIC("RSN-FLAGS"), /* 13 */
+    NMC_META_GENERIC("DEVICE"),    /* 14 */
+    NMC_META_GENERIC("ACTIVE"),    /* 15 */
+    NMC_META_GENERIC("IN-USE"),    /* 16 */
+    NMC_META_GENERIC("DBUS-PATH"), /* 17 */
     NULL,
 };
 #define NMC_FIELDS_DEV_WIFI_LIST_COMMON       "IN-USE,BSSID,SSID,MODE,CHAN,RATE,SIGNAL,BARS,SECURITY"
@@ -1072,8 +1082,8 @@ compare_devices(const void *a, const void *b)
     NMActiveConnection *da_ac = nm_device_get_active_connection(da);
     NMActiveConnection *db_ac = nm_device_get_active_connection(db);
 
-    NM_CMP_DIRECT(nm_device_get_state(db), nm_device_get_state(da));
     NM_CMP_RETURN(nmc_active_connection_cmp(db_ac, da_ac));
+    NM_CMP_DIRECT(nm_device_get_state(db), nm_device_get_state(da));
     NM_CMP_DIRECT_STRCMP0(nm_device_get_type_description(da), nm_device_get_type_description(db));
     NM_CMP_DIRECT_STRCMP0(nm_device_get_iface(da), nm_device_get_iface(db));
     NM_CMP_DIRECT_STRCMP0(nm_object_get_path(NM_OBJECT(da)), nm_object_get_path(NM_OBJECT(db)));
@@ -1305,7 +1315,9 @@ fill_output_access_point(NMAccessPoint *ap, const APInfo *info)
     NmcOutputField        *arr;
     gboolean               active;
     NM80211ApSecurityFlags wpa_flags, rsn_flags;
-    guint32                freq, bitrate;
+    guint32                freq;
+    guint32                bitrate;
+    guint32                bandwidth;
     guint8                 strength;
     GBytes                *ssid;
     const char            *bssid;
@@ -1315,6 +1327,7 @@ fill_output_access_point(NMAccessPoint *ap, const APInfo *info)
     char                  *ssid_str     = NULL;
     char                  *ssid_hex_str = NULL;
     char                  *bitrate_str;
+    char                  *bandwidth_str;
     char                  *strength_str;
     char                  *wpa_flags_str;
     char                  *rsn_flags_str;
@@ -1333,7 +1346,8 @@ fill_output_access_point(NMAccessPoint *ap, const APInfo *info)
     freq      = nm_access_point_get_frequency(ap);
     mode      = nm_access_point_get_mode(ap);
     bitrate   = nm_access_point_get_max_bitrate(ap);
-    strength  = MIN(nm_access_point_get_strength(ap), 100);
+    bandwidth = nm_access_point_get_bandwidth(ap);
+    strength  = NM_MIN(nm_access_point_get_strength(ap), 100u);
 
     /* Convert to strings */
     if (ssid) {
@@ -1347,6 +1361,7 @@ fill_output_access_point(NMAccessPoint *ap, const APInfo *info)
     channel_str   = g_strdup_printf("%u", nm_utils_wifi_freq_to_channel(freq));
     freq_str      = g_strdup_printf(_("%u MHz"), freq);
     bitrate_str   = g_strdup_printf(_("%u Mbit/s"), bitrate / 1000);
+    bandwidth_str = g_strdup_printf(_("%u MHz"), bandwidth);
     strength_str  = nm_strdup_int(strength);
     wpa_flags_str = ap_wpa_rsn_flags_to_string(wpa_flags, NM_META_ACCESSOR_GET_TYPE_PRETTY);
     rsn_flags_str = ap_wpa_rsn_flags_to_string(rsn_flags, NM_META_ACCESSOR_GET_TYPE_PRETTY);
@@ -1402,15 +1417,16 @@ fill_output_access_point(NMAccessPoint *ap, const APInfo *info)
     set_val_str(arr, 5, channel_str);
     set_val_str(arr, 6, freq_str);
     set_val_str(arr, 7, bitrate_str);
-    set_val_str(arr, 8, strength_str);
-    set_val_strc(arr, 9, sig_bars);
-    set_val_str(arr, 10, g_string_free(security_str, FALSE));
-    set_val_str(arr, 11, wpa_flags_str);
-    set_val_str(arr, 12, rsn_flags_str);
-    set_val_strc(arr, 13, info->device);
-    set_val_strc(arr, 14, active ? _("yes") : _("no"));
-    set_val_strc(arr, 15, active ? "*" : " ");
-    set_val_strc(arr, 16, nm_object_get_path(NM_OBJECT(ap)));
+    set_val_str(arr, 8, bandwidth_str);
+    set_val_str(arr, 9, strength_str);
+    set_val_strc(arr, 10, sig_bars);
+    set_val_str(arr, 11, g_string_free(security_str, FALSE));
+    set_val_str(arr, 12, wpa_flags_str);
+    set_val_str(arr, 13, rsn_flags_str);
+    set_val_strc(arr, 14, info->device);
+    set_val_strc(arr, 15, active ? _("yes") : _("no"));
+    set_val_strc(arr, 16, active ? "*" : " ");
+    set_val_strc(arr, 17, nm_object_get_path(NM_OBJECT(ap)));
 
     /* Set colors */
     color = wifi_signal_to_color(strength);