summary refs log tree commit diff
path: root/src/libnm-core-public
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2026-07-03 19:53:18 +0200
committerMichael Biebl <biebl@debian.org>2026-07-03 19:53:18 +0200
commit537bfce2bda471c92caabd388589230200891509 (patch)
treeaedeccfaf0ba52c238ecf51fc009c0db5d4b60f0 /src/libnm-core-public
parent869e9027026cdbb15d4e4a6327ff41d2697858eb (diff)
New upstream version 1.58~rc1 upstream/1.58_rc1
Diffstat (limited to 'src/libnm-core-public')
-rw-r--r--src/libnm-core-public/nm-connection.h2
-rw-r--r--src/libnm-core-public/nm-dbus-interface.h6
-rw-r--r--src/libnm-core-public/nm-setting-geneve.h18
-rw-r--r--src/libnm-core-public/nm-setting-ip4-config.h30
-rw-r--r--src/libnm-core-public/nm-utils.h30
-rw-r--r--src/libnm-core-public/nm-version-macros.h.in2
-rw-r--r--src/libnm-core-public/nm-version.h14
7 files changed, 81 insertions, 21 deletions
diff --git a/src/libnm-core-public/nm-connection.h b/src/libnm-core-public/nm-connection.h
index e14e23c2..db73711f 100644
--- a/src/libnm-core-public/nm-connection.h
+++ b/src/libnm-core-public/nm-connection.h
@@ -208,7 +208,7 @@ NMSettingDcb        *nm_connection_get_setting_dcb(NMConnection *connection);
 NM_AVAILABLE_IN_1_8
 NMSettingDummy   *nm_connection_get_setting_dummy(NMConnection *connection);
 NMSettingGeneric *nm_connection_get_setting_generic(NMConnection *connection);
-NM_AVAILABLE_IN_1_56_1
+NM_AVAILABLE_IN_1_58
 NMSettingGeneve     *nm_connection_get_setting_geneve(NMConnection *connection);
 NMSettingGsm        *nm_connection_get_setting_gsm(NMConnection *connection);
 NMSettingInfiniband *nm_connection_get_setting_infiniband(NMConnection *connection);
diff --git a/src/libnm-core-public/nm-dbus-interface.h b/src/libnm-core-public/nm-dbus-interface.h
index 513d1fa3..c16a115a 100644
--- a/src/libnm-core-public/nm-dbus-interface.h
+++ b/src/libnm-core-public/nm-dbus-interface.h
@@ -251,7 +251,7 @@ typedef enum {
  * @NM_DEVICE_TYPE_LOOPBACK: a loopback interface. Since: 1.42.
  * @NM_DEVICE_TYPE_HSR: A HSR/PRP device. Since: 1.46.
  * @NM_DEVICE_TYPE_IPVLAN: A IPVLAN device. Since: 1.52.
- * @NM_DEVICE_TYPE_GENEVE: A GENEVE device. Since: 1.58, 1.56.1.
+ * @NM_DEVICE_TYPE_GENEVE: A GENEVE device. Since: 1.58.
  *
  * #NMDeviceType values indicate the type of hardware represented by a
  * device object.
@@ -1256,7 +1256,7 @@ typedef enum /*< flags >*/ {
  *
  * Values for the SetManaged() D-Bus call of a device and nm_device_set_managed_async().
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  */
 typedef enum {
     NM_DEVICE_MANAGED_NO    = 0,
@@ -1283,7 +1283,7 @@ typedef enum {
  * are mutually exclusive, and they only make sense together with %NM_DEVICE_MANAGED_FLAGS_PERMANENT.
  * If none is set, the matching criteria is selected automatically.
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  */
 typedef enum /*< flags >*/ {
     NM_DEVICE_MANAGED_FLAGS_NONE              = 0,
diff --git a/src/libnm-core-public/nm-setting-geneve.h b/src/libnm-core-public/nm-setting-geneve.h
index 642697dc..bff8fba1 100644
--- a/src/libnm-core-public/nm-setting-geneve.h
+++ b/src/libnm-core-public/nm-setting-geneve.h
@@ -42,7 +42,7 @@ G_BEGIN_DECLS
  * #NMSettingGeneveDf values indicate how the Don't Fragment (DF) flag should be handled
  * in the outer IP header of GENEVE tunnel packets.
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  */
 typedef enum {
     NM_SETTING_GENEVE_DF_UNSET   = 0,
@@ -52,21 +52,21 @@ typedef enum {
 
 typedef struct _NMSettingGeneveClass NMSettingGeneveClass;
 
-NM_AVAILABLE_IN_1_56_1
+NM_AVAILABLE_IN_1_58
 GType nm_setting_geneve_get_type(void);
-NM_AVAILABLE_IN_1_56_1
+NM_AVAILABLE_IN_1_58
 NMSetting *nm_setting_geneve_new(void);
-NM_AVAILABLE_IN_1_56_1
+NM_AVAILABLE_IN_1_58
 guint nm_setting_geneve_get_id(NMSettingGeneve *setting);
-NM_AVAILABLE_IN_1_56_1
+NM_AVAILABLE_IN_1_58
 const char *nm_setting_geneve_get_remote(NMSettingGeneve *setting);
-NM_AVAILABLE_IN_1_56_1
+NM_AVAILABLE_IN_1_58
 guint nm_setting_geneve_get_destination_port(NMSettingGeneve *setting);
-NM_AVAILABLE_IN_1_56_1
+NM_AVAILABLE_IN_1_58
 guint nm_setting_geneve_get_tos(NMSettingGeneve *setting);
-NM_AVAILABLE_IN_1_56_1
+NM_AVAILABLE_IN_1_58
 guint nm_setting_geneve_get_ttl(NMSettingGeneve *setting);
-NM_AVAILABLE_IN_1_56_1
+NM_AVAILABLE_IN_1_58
 NMSettingGeneveDf nm_setting_geneve_get_df(NMSettingGeneve *setting);
 
 G_END_DECLS
diff --git a/src/libnm-core-public/nm-setting-ip4-config.h b/src/libnm-core-public/nm-setting-ip4-config.h
index c40a7603..f4224747 100644
--- a/src/libnm-core-public/nm-setting-ip4-config.h
+++ b/src/libnm-core-public/nm-setting-ip4-config.h
@@ -34,6 +34,7 @@ G_BEGIN_DECLS
 #define NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER "dhcp-vendor-class-identifier"
 #define NM_SETTING_IP4_CONFIG_DHCP_IPV6_ONLY_PREFERRED     "dhcp-ipv6-only-preferred"
 #define NM_SETTING_IP4_CONFIG_LINK_LOCAL                   "link-local"
+#define NM_SETTING_IP4_CONFIG_CLAT                         "clat"
 
 /**
  * NM_SETTING_IP4_CONFIG_METHOD_AUTO:
@@ -109,6 +110,8 @@ typedef enum {
  * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_DEFAULT: use the global default value
  * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO: the option is disabled
  * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES: the option is enabled
+ * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_AUTO: the option is enabled when
+ *    the IPv6 method is "auto" and CLAT is enabled. Since: 1.58
  *
  * #NMSettingIP4DhcpIpv6OnlyPreferred values specify if the "IPv6-Only Preferred"
  * option (RFC 8925) for DHCPv4 is enabled.
@@ -119,8 +122,32 @@ typedef enum {
     NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_DEFAULT = -1,
     NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO      = 0,
     NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES     = 1,
+    NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_AUTO    = 2,
 } NMSettingIP4DhcpIpv6OnlyPreferred;
 
+/**
+ * NMSettingIp4ConfigClat:
+ * @NM_SETTING_IP4_CONFIG_CLAT_DEFAULT: use the global default value
+ * @NM_SETTING_IP4_CONFIG_CLAT_NO: disable CLAT
+ * @NM_SETTING_IP4_CONFIG_CLAT_AUTO: enable CLAT only when the IPv4 method
+ *   is 'auto' and the device doesn't have a native IPv4 gateway.
+ * @NM_SETTING_IP4_CONFIG_CLAT_FORCE: enable CLAT even with IPv4 methods
+ *   other than 'auto' and even if the device has a native IPv4 gateway.
+ *
+ * #NMSettingIP4ConfigClat values specify if CLAT (Customer-side translator)
+ * is enabled or not. CLAT is used to implement the client part of 464XLAT
+ * (RFC 6877), an architecture that provides IPv4 connectivity to hosts on
+ * IPv6-only networks.
+ *
+ * Since: 1.58
+ */
+typedef enum {
+    NM_SETTING_IP4_CONFIG_CLAT_DEFAULT = -1,
+    NM_SETTING_IP4_CONFIG_CLAT_NO      = 0,
+    NM_SETTING_IP4_CONFIG_CLAT_AUTO    = 1,
+    NM_SETTING_IP4_CONFIG_CLAT_FORCE   = 2,
+} NMSettingIp4ConfigClat;
+
 typedef struct _NMSettingIP4ConfigClass NMSettingIP4ConfigClass;
 
 GType nm_setting_ip4_config_get_type(void);
@@ -141,6 +168,9 @@ NM_AVAILABLE_IN_1_52
 NMSettingIP4DhcpIpv6OnlyPreferred
 nm_setting_ip4_config_get_dhcp_ipv6_only_preferred(NMSettingIP4Config *setting);
 
+NM_AVAILABLE_IN_1_58
+NMSettingIp4ConfigClat nm_setting_ip4_config_get_clat(NMSettingIP4Config *setting);
+
 G_END_DECLS
 
 #endif /* __NM_SETTING_IP4_CONFIG_H__ */
diff --git a/src/libnm-core-public/nm-utils.h b/src/libnm-core-public/nm-utils.h
index e46bf472..04398459 100644
--- a/src/libnm-core-public/nm-utils.h
+++ b/src/libnm-core-public/nm-utils.h
@@ -135,14 +135,36 @@ const char *nm_utils_file_search_in_paths(const char                       *prog
                                           gpointer                          user_data,
                                           GError                          **error);
 
-guint32  nm_utils_wifi_freq_to_channel(guint32 freq);
-guint32  nm_utils_wifi_channel_to_freq(guint32 channel, const char *band);
-guint32  nm_utils_wifi_find_next_channel(guint32 channel, int direction, char *band);
-gboolean nm_utils_wifi_is_channel_valid(guint32 channel, const char *band);
+/**
+ * NMWifiBand:
+ * @NM_WIFI_BAND_UNKNOWN: the band is unknown
+ * @NM_WIFI_BAND_2_4_GHZ: the 2.4 GHz band
+ * @NM_WIFI_BAND_5_GHZ: the 5 GHz band
+ * @NM_WIFI_BAND_6_GHZ: the 6 GHz band
+ *
+ * Describes a Wi-Fi radio frequency band.
+ *
+ * Since: 1.58
+ */
+typedef enum {
+    NM_WIFI_BAND_UNKNOWN,
+    NM_WIFI_BAND_2_4_GHZ,
+    NM_WIFI_BAND_5_GHZ,
+    NM_WIFI_BAND_6_GHZ,
+} NMWifiBand;
+
+guint32 nm_utils_wifi_freq_to_channel(guint32 freq);
+NM_AVAILABLE_IN_1_58
+NMWifiBand nm_utils_wifi_freq_to_band(guint32 freq);
+guint32    nm_utils_wifi_channel_to_freq(guint32 channel, const char *band);
+guint32    nm_utils_wifi_find_next_channel(guint32 channel, int direction, char *band);
+gboolean   nm_utils_wifi_is_channel_valid(guint32 channel, const char *band);
 NM_AVAILABLE_IN_1_2
 const guint *nm_utils_wifi_2ghz_freqs(void);
 NM_AVAILABLE_IN_1_2
 const guint *nm_utils_wifi_5ghz_freqs(void);
+NM_AVAILABLE_IN_1_58
+const guint *nm_utils_wifi_6ghz_freqs(void);
 
 const char *nm_utils_wifi_strength_bars(guint8 strength);
 
diff --git a/src/libnm-core-public/nm-version-macros.h.in b/src/libnm-core-public/nm-version-macros.h.in
index fdecfa68..c1e0ba54 100644
--- a/src/libnm-core-public/nm-version-macros.h.in
+++ b/src/libnm-core-public/nm-version-macros.h.in
@@ -79,7 +79,7 @@
 #define NM_VERSION_1_52   (NM_ENCODE_VERSION(1, 52, 0))
 #define NM_VERSION_1_54   (NM_ENCODE_VERSION(1, 54, 0))
 #define NM_VERSION_1_56   (NM_ENCODE_VERSION(1, 56, 0))
-#define NM_VERSION_1_56_1 (NM_ENCODE_VERSION(1, 56, 1))
+#define NM_VERSION_1_58   (NM_ENCODE_VERSION(1, 58, 0))
 
 /* For releases, NM_API_VERSION is equal to NM_VERSION.
  *
diff --git a/src/libnm-core-public/nm-version.h b/src/libnm-core-public/nm-version.h
index 6e18acdd..f9985119 100644
--- a/src/libnm-core-public/nm-version.h
+++ b/src/libnm-core-public/nm-version.h
@@ -453,10 +453,18 @@
 #define NM_AVAILABLE_IN_1_56
 #endif
 
-#if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_56_1
-#define NM_AVAILABLE_IN_1_56_1 G_UNAVAILABLE(1, 56.1)
+#if NM_VERSION_MIN_REQUIRED >= NM_VERSION_1_58
+#define NM_DEPRECATED_IN_1_58        G_DEPRECATED
+#define NM_DEPRECATED_IN_1_58_FOR(f) G_DEPRECATED_FOR(f)
 #else
-#define NM_AVAILABLE_IN_1_56_1
+#define NM_DEPRECATED_IN_1_58
+#define NM_DEPRECATED_IN_1_58_FOR(f)
+#endif
+
+#if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_58
+#define NM_AVAILABLE_IN_1_58 G_UNAVAILABLE(1, 58)
+#else
+#define NM_AVAILABLE_IN_1_58
 #endif
 
 /*