summary refs log tree commit diff
path: root/src/libnm-client-public
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2023-02-10 11:50:34 +0100
committerMichael Biebl <biebl@debian.org>2023-02-10 11:50:34 +0100
commit1372848511cb896b80b51ed1a3e9606bd9816631 (patch)
tree674792b9385bdef935988894b45f06b2af39f88c /src/libnm-client-public
parent40ec077ea305994c1fc2130add6787ca0c73e2c6 (diff)
New upstream version 1.42.0 upstream/1.42.0
Diffstat (limited to 'src/libnm-client-public')
-rw-r--r--src/libnm-client-public/NetworkManager.h5
-rw-r--r--src/libnm-client-public/meson.build1
-rw-r--r--src/libnm-client-public/nm-autoptr.h2
-rw-r--r--src/libnm-client-public/nm-client.h36
-rw-r--r--src/libnm-client-public/nm-device-6lowpan.h2
-rw-r--r--src/libnm-client-public/nm-device-dummy.h2
-rw-r--r--src/libnm-client-public/nm-device-loopback.h41
-rw-r--r--src/libnm-client-public/nm-device-macsec.h4
-rw-r--r--src/libnm-client-public/nm-device-macvlan.h2
-rw-r--r--src/libnm-client-public/nm-device-ovs-bridge.h1
-rw-r--r--src/libnm-client-public/nm-device-ovs-port.h1
-rw-r--r--src/libnm-client-public/nm-device-team.h5
-rw-r--r--src/libnm-client-public/nm-device-tun.h2
-rw-r--r--src/libnm-client-public/nm-device-veth.h2
-rw-r--r--src/libnm-client-public/nm-device-vxlan.h6
-rw-r--r--src/libnm-client-public/nm-device-wifi-p2p.h4
-rw-r--r--src/libnm-client-public/nm-ethtool-utils.h2
17 files changed, 99 insertions, 19 deletions
diff --git a/src/libnm-client-public/NetworkManager.h b/src/libnm-client-public/NetworkManager.h
index 1cd94d11..da661db9 100644
--- a/src/libnm-client-public/NetworkManager.h
+++ b/src/libnm-client-public/NetworkManager.h
@@ -15,6 +15,8 @@
 
 #include "nm-core-enum-types.h"
 
+#include "nm-errors.h"
+
 #include "nm-connection.h"
 #include "nm-simple-connection.h"
 #include "nm-keyfile.h"
@@ -42,6 +44,7 @@
 #include "nm-setting-ip6-config.h"
 #include "nm-setting-ip-config.h"
 #include "nm-setting-ip-tunnel.h"
+#include "nm-setting-loopback.h"
 #include "nm-setting-macsec.h"
 #include "nm-setting-macvlan.h"
 #include "nm-setting-match.h"
@@ -109,6 +112,7 @@
 #include "nm-device-generic.h"
 #include "nm-device-infiniband.h"
 #include "nm-device-ip-tunnel.h"
+#include "nm-device-loopback.h"
 #include "nm-device-macsec.h"
 #include "nm-device-macvlan.h"
 #include "nm-device-modem.h"
@@ -120,6 +124,7 @@
 #include "nm-device-tun.h"
 #include "nm-device-veth.h"
 #include "nm-device-vlan.h"
+#include "nm-device-vrf.h"
 #include "nm-device-vxlan.h"
 #include "nm-device-wifi.h"
 #include "nm-device-wifi-p2p.h"
diff --git a/src/libnm-client-public/meson.build b/src/libnm-client-public/meson.build
index 5232bcb4..bac7e457 100644
--- a/src/libnm-client-public/meson.build
+++ b/src/libnm-client-public/meson.build
@@ -20,6 +20,7 @@ libnm_client_headers = files(
   'nm-device-generic.h',
   'nm-device-infiniband.h',
   'nm-device-ip-tunnel.h',
+  'nm-device-loopback.h',
   'nm-device-macsec.h',
   'nm-device-macvlan.h',
   'nm-device-modem.h',
diff --git a/src/libnm-client-public/nm-autoptr.h b/src/libnm-client-public/nm-autoptr.h
index 6c34946c..31ae2cce 100644
--- a/src/libnm-client-public/nm-autoptr.h
+++ b/src/libnm-client-public/nm-autoptr.h
@@ -43,6 +43,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceEthernet, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceGeneric, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceIPTunnel, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceInfiniband, g_object_unref)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceLoopback, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceMacsec, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceMacvlan, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceModem, g_object_unref)
@@ -82,6 +83,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingIP6Config, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingIPConfig, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingIPTunnel, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingInfiniband, g_object_unref)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingLoopback, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingMacsec, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingMacvlan, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingMatch, g_object_unref)
diff --git a/src/libnm-client-public/nm-client.h b/src/libnm-client-public/nm-client.h
index da5e509e..9d54827e 100644
--- a/src/libnm-client-public/nm-client.h
+++ b/src/libnm-client-public/nm-client.h
@@ -22,12 +22,21 @@ G_BEGIN_DECLS
  *   can be disabled. You can toggle this flag to enable and disable automatic
  *   fetching of the permissions. Watch also nm_client_get_permissions_state()
  *   to know whether the permissions are up to date.
+ * @NM_CLIENT_INSTANCE_FLAGS_INITIALIZED_GOOD: as #NMClient is an GInitable
+ *   and GAsyncInitable, nm_client_get_instance_flags() returns this flag
+ *   once initialization completed with success. This flag cannot be set
+ *   as NM_CLIENT_INSTANCE_FLAGS property. Since: 1.42.
+ * @NM_CLIENT_INSTANCE_FLAGS_INITIALIZED_BAD: like @NM_CLIENT_INSTANCE_FLAGS_INITIALIZED_GOOD
+ *   indicates that the instance completed initialization with failure. In that
+ *   case the instance is unusable. Since: 1.42.
  *
  * Since: 1.24
  */
 typedef enum /*< flags >*/ {
     NM_CLIENT_INSTANCE_FLAGS_NONE                      = 0,
-    NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS = 1,
+    NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS = 0x1,
+    NM_CLIENT_INSTANCE_FLAGS_INITIALIZED_GOOD          = 0x2,
+    NM_CLIENT_INSTANCE_FLAGS_INITIALIZED_BAD           = 0x4,
 } NMClientInstanceFlags;
 
 #define NM_TYPE_CLIENT            (nm_client_get_type())
@@ -38,6 +47,7 @@ typedef enum /*< flags >*/ {
 #define NM_CLIENT_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_CLIENT, NMClientClass))
 
 #define NM_CLIENT_VERSION         "version"
+#define NM_CLIENT_VERSION_INFO    "version-info"
 #define NM_CLIENT_STATE           "state"
 #define NM_CLIENT_STARTUP         "startup"
 #define NM_CLIENT_NM_RUNNING      "nm-running"
@@ -125,7 +135,7 @@ GQuark nm_client_error_quark(void);
  *
  * Since: 1.6
  */
-typedef struct NMDnsEntry NMDnsEntry;
+typedef struct _NMDnsEntry NMDnsEntry;
 
 NM_AVAILABLE_IN_1_6
 GType nm_dns_entry_get_type(void);
@@ -178,9 +188,13 @@ NM_AVAILABLE_IN_1_22
 const char *nm_client_get_dbus_name_owner(NMClient *client);
 
 const char *nm_client_get_version(NMClient *client);
-NMState     nm_client_get_state(NMClient *client);
-gboolean    nm_client_get_startup(NMClient *client);
-gboolean    nm_client_get_nm_running(NMClient *client);
+
+NM_AVAILABLE_IN_1_42
+const guint32 *nm_client_get_version_info(NMClient *client, gsize *length);
+
+NMState  nm_client_get_state(NMClient *client);
+gboolean nm_client_get_startup(NMClient *client);
+gboolean nm_client_get_nm_running(NMClient *client);
 
 NMObject *nm_client_get_object_by_path(NMClient *client, const char *dbus_path);
 
@@ -504,6 +518,18 @@ gboolean nm_utils_file_is_certificate(const char *filename);
 gboolean nm_utils_file_is_private_key(const char *filename, gboolean *out_encrypted);
 gboolean nm_utils_file_is_pkcs12(const char *filename);
 
+/*****************************************************************************/
+
+NM_AVAILABLE_IN_1_42
+void nm_client_wait_shutdown(NMClient           *client,
+                             gboolean            integrate_maincontext,
+                             GCancellable       *cancellable,
+                             GAsyncReadyCallback callback,
+                             gpointer            user_data);
+
+NM_AVAILABLE_IN_1_42
+gboolean nm_client_wait_shutdown_finish(GAsyncResult *result, GError **error);
+
 G_END_DECLS
 
 #endif /* __NM_CLIENT_H__ */
diff --git a/src/libnm-client-public/nm-device-6lowpan.h b/src/libnm-client-public/nm-device-6lowpan.h
index 7feba237..62bb2203 100644
--- a/src/libnm-client-public/nm-device-6lowpan.h
+++ b/src/libnm-client-public/nm-device-6lowpan.h
@@ -38,7 +38,7 @@ typedef struct _NMDevice6LowpanClass NMDevice6LowpanClass;
 NM_AVAILABLE_IN_1_14
 GType nm_device_6lowpan_get_type(void);
 
-NM_AVAILABLE_IN_1_40_4
+NM_AVAILABLE_IN_1_42
 NMDevice *nm_device_6lowpan_get_parent(NMDevice6Lowpan *device);
 
 G_END_DECLS
diff --git a/src/libnm-client-public/nm-device-dummy.h b/src/libnm-client-public/nm-device-dummy.h
index 0e6c6fe6..f869d0f6 100644
--- a/src/libnm-client-public/nm-device-dummy.h
+++ b/src/libnm-client-public/nm-device-dummy.h
@@ -36,8 +36,8 @@ typedef struct _NMDeviceDummyClass NMDeviceDummyClass;
 
 GType nm_device_dummy_get_type(void);
 
-NM_AVAILABLE_IN_1_10
 NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
+NM_AVAILABLE_IN_1_10
 const char *nm_device_dummy_get_hw_address(NMDeviceDummy *device);
 
 G_END_DECLS
diff --git a/src/libnm-client-public/nm-device-loopback.h b/src/libnm-client-public/nm-device-loopback.h
new file mode 100644
index 00000000..ae5dcc47
--- /dev/null
+++ b/src/libnm-client-public/nm-device-loopback.h
@@ -0,0 +1,41 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2022 Red Hat, Inc.
+ */
+
+#ifndef __NM_DEVICE_LOOPBACK_H__
+#define __NM_DEVICE_LOOPBACK_H__
+
+#if !defined(__NETWORKMANAGER_H_INSIDE__) && !defined(NETWORKMANAGER_COMPILATION)
+#error "Only <NetworkManager.h> can be included directly."
+#endif
+
+#include "nm-device.h"
+
+G_BEGIN_DECLS
+
+#define NM_TYPE_DEVICE_LOOPBACK (nm_device_loopback_get_type())
+#define NM_DEVICE_LOOPBACK(obj) \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_DEVICE_LOOPBACK, NMDeviceLoopback))
+#define NM_DEVICE_LOOPBACK_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_DEVICE_LOOPBACK, NMDeviceLoopbackClass))
+#define NM_IS_DEVICE_LOOPBACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_DEVICE_LOOPBACK))
+#define NM_IS_DEVICE_LOOPBACK_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_DEVICE_LOOPBACK))
+#define NM_DEVICE_LOOPBACK_GET_CLASS(obj) \
+    (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_DEVICE_LOOPBACK, NMDeviceLoopbackClass))
+
+/**
+ * NMDeviceLoopback:
+ *
+ * Since: 1.42
+ */
+typedef struct _NMDeviceLoopback      NMDeviceLoopback;
+typedef struct _NMDeviceLoopbackClass NMDeviceLoopbackClass;
+
+NM_AVAILABLE_IN_1_42
+GType nm_device_loopback_get_type(void);
+
+G_END_DECLS
+
+#endif /* __NM_DEVICE_LOOPBACK_H__ */
diff --git a/src/libnm-client-public/nm-device-macsec.h b/src/libnm-client-public/nm-device-macsec.h
index f4f6f03d..307233d2 100644
--- a/src/libnm-client-public/nm-device-macsec.h
+++ b/src/libnm-client-public/nm-device-macsec.h
@@ -50,11 +50,11 @@ typedef struct _NMDeviceMacsecClass NMDeviceMacsecClass;
 NM_AVAILABLE_IN_1_6
 GType nm_device_macsec_get_type(void);
 
-NM_AVAILABLE_IN_1_40_4
+NM_AVAILABLE_IN_1_42
 NMDevice *nm_device_macsec_get_parent(NMDeviceMacsec *device);
 
-NM_AVAILABLE_IN_1_6
 NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
+NM_AVAILABLE_IN_1_6
 const char *nm_device_macsec_get_hw_address(NMDeviceMacsec *device);
 
 NM_AVAILABLE_IN_1_6
diff --git a/src/libnm-client-public/nm-device-macvlan.h b/src/libnm-client-public/nm-device-macvlan.h
index 85292069..432a7206 100644
--- a/src/libnm-client-public/nm-device-macvlan.h
+++ b/src/libnm-client-public/nm-device-macvlan.h
@@ -50,8 +50,8 @@ gboolean nm_device_macvlan_get_no_promisc(NMDeviceMacvlan *device);
 NM_AVAILABLE_IN_1_2
 gboolean nm_device_macvlan_get_tap(NMDeviceMacvlan *device);
 
-NM_AVAILABLE_IN_1_2
 NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
+NM_AVAILABLE_IN_1_2
 const char *nm_device_macvlan_get_hw_address(NMDeviceMacvlan *device);
 
 G_END_DECLS
diff --git a/src/libnm-client-public/nm-device-ovs-bridge.h b/src/libnm-client-public/nm-device-ovs-bridge.h
index a6c9ff0b..a2540114 100644
--- a/src/libnm-client-public/nm-device-ovs-bridge.h
+++ b/src/libnm-client-public/nm-device-ovs-bridge.h
@@ -38,6 +38,7 @@ typedef struct _NMDeviceOvsBridgeClass NMDeviceOvsBridgeClass;
 NM_AVAILABLE_IN_1_10
 GType nm_device_ovs_bridge_get_type(void);
 
+NM_DEPRECATED_IN_1_34_FOR(nm_device_get_ports)
 NM_AVAILABLE_IN_1_14
 const GPtrArray *nm_device_ovs_bridge_get_slaves(NMDeviceOvsBridge *device);
 
diff --git a/src/libnm-client-public/nm-device-ovs-port.h b/src/libnm-client-public/nm-device-ovs-port.h
index 8014ed91..41c61cfa 100644
--- a/src/libnm-client-public/nm-device-ovs-port.h
+++ b/src/libnm-client-public/nm-device-ovs-port.h
@@ -38,6 +38,7 @@ typedef struct _NMDeviceOvsPortClass NMDeviceOvsPortClass;
 NM_AVAILABLE_IN_1_10
 GType nm_device_ovs_port_get_type(void);
 
+NM_DEPRECATED_IN_1_34_FOR(nm_device_get_ports)
 NM_AVAILABLE_IN_1_14
 const GPtrArray *nm_device_ovs_port_get_slaves(NMDeviceOvsPort *device);
 
diff --git a/src/libnm-client-public/nm-device-team.h b/src/libnm-client-public/nm-device-team.h
index 406949a1..f3f48ff6 100644
--- a/src/libnm-client-public/nm-device-team.h
+++ b/src/libnm-client-public/nm-device-team.h
@@ -39,8 +39,11 @@ GType nm_device_team_get_type(void);
 NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
 const char *nm_device_team_get_hw_address(NMDeviceTeam *device);
 
-gboolean         nm_device_team_get_carrier(NMDeviceTeam *device);
+gboolean nm_device_team_get_carrier(NMDeviceTeam *device);
+
+NM_DEPRECATED_IN_1_34_FOR(nm_device_get_ports)
 const GPtrArray *nm_device_team_get_slaves(NMDeviceTeam *device);
+
 NM_AVAILABLE_IN_1_4
 const char *nm_device_team_get_config(NMDeviceTeam *device);
 
diff --git a/src/libnm-client-public/nm-device-tun.h b/src/libnm-client-public/nm-device-tun.h
index 42690358..97b01d5f 100644
--- a/src/libnm-client-public/nm-device-tun.h
+++ b/src/libnm-client-public/nm-device-tun.h
@@ -42,8 +42,8 @@ typedef struct _NMDeviceTunClass NMDeviceTunClass;
 NM_AVAILABLE_IN_1_2
 GType nm_device_tun_get_type(void);
 
-NM_AVAILABLE_IN_1_2
 NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
+NM_AVAILABLE_IN_1_2
 const char *nm_device_tun_get_hw_address(NMDeviceTun *device);
 
 NM_AVAILABLE_IN_1_2
diff --git a/src/libnm-client-public/nm-device-veth.h b/src/libnm-client-public/nm-device-veth.h
index 9de27595..623420cd 100644
--- a/src/libnm-client-public/nm-device-veth.h
+++ b/src/libnm-client-public/nm-device-veth.h
@@ -36,7 +36,7 @@ typedef struct _NMDeviceVethClass NMDeviceVethClass;
 NM_AVAILABLE_IN_1_30
 GType nm_device_veth_get_type(void);
 
-NM_AVAILABLE_IN_1_40_4
+NM_AVAILABLE_IN_1_42
 NMDevice *nm_device_veth_get_peer(NMDeviceVeth *device);
 
 G_END_DECLS
diff --git a/src/libnm-client-public/nm-device-vxlan.h b/src/libnm-client-public/nm-device-vxlan.h
index fa7511e1..2024801f 100644
--- a/src/libnm-client-public/nm-device-vxlan.h
+++ b/src/libnm-client-public/nm-device-vxlan.h
@@ -54,11 +54,11 @@ typedef struct _NMDeviceVxlanClass NMDeviceVxlanClass;
 NM_AVAILABLE_IN_1_2
 GType nm_device_vxlan_get_type(void);
 
-NM_AVAILABLE_IN_1_2
 NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
+NM_AVAILABLE_IN_1_2
 const char *nm_device_vxlan_get_hw_address(NMDeviceVxlan *device);
 
-NM_AVAILABLE_IN_1_40_4
+NM_AVAILABLE_IN_1_42
 gboolean nm_device_vxlan_get_carrier(NMDeviceVxlan *device);
 NM_AVAILABLE_IN_1_2
 NMDevice *nm_device_vxlan_get_parent(NMDeviceVxlan *device);
@@ -86,7 +86,7 @@ NM_AVAILABLE_IN_1_2
 guint nm_device_vxlan_get_limit(NMDeviceVxlan *device);
 NM_AVAILABLE_IN_1_2
 gboolean nm_device_vxlan_get_proxy(NMDeviceVxlan *device);
-NM_AVAILABLE_IN_1_40_4
+NM_AVAILABLE_IN_1_42
 gboolean nm_device_vxlan_get_rsc(NMDeviceVxlan *device);
 NM_AVAILABLE_IN_1_2
 gboolean nm_device_vxlan_get_l2miss(NMDeviceVxlan *device);
diff --git a/src/libnm-client-public/nm-device-wifi-p2p.h b/src/libnm-client-public/nm-device-wifi-p2p.h
index 31add1e3..44b59ccf 100644
--- a/src/libnm-client-public/nm-device-wifi-p2p.h
+++ b/src/libnm-client-public/nm-device-wifi-p2p.h
@@ -40,11 +40,11 @@ typedef struct _NMDeviceWifiP2PClass NMDeviceWifiP2PClass;
 NM_AVAILABLE_IN_1_16
 GType nm_device_wifi_p2p_get_type(void);
 
-NM_AVAILABLE_IN_1_16
 NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
+NM_AVAILABLE_IN_1_16
 const char *nm_device_wifi_p2p_get_hw_address(NMDeviceWifiP2P *device);
 
-NM_AVAILABLE_IN_1_40_4
+NM_AVAILABLE_IN_1_42
 NMWifiP2PPeer *nm_device_wifi_p2p_get_peer_by_path(NMDeviceWifiP2P *device, const char *path);
 
 NM_AVAILABLE_IN_1_16
diff --git a/src/libnm-client-public/nm-ethtool-utils.h b/src/libnm-client-public/nm-ethtool-utils.h
index 3656ed3f..fa9c3071 100644
--- a/src/libnm-client-public/nm-ethtool-utils.h
+++ b/src/libnm-client-public/nm-ethtool-utils.h
@@ -3,7 +3,7 @@
  * Copyright (C) 2018 Red Hat, Inc.
  */
 
-#ifndef __NM_ETHTOOL_UTILS_H__ /* lgtm[cpp/duplicate-include-guard] */
+#ifndef __NM_ETHTOOL_UTILS_H__
 #define __NM_ETHTOOL_UTILS_H__
 
 G_BEGIN_DECLS