summary refs log tree commit diff
path: root/clients/cloud-setup/nm-cloud-setup-utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'clients/cloud-setup/nm-cloud-setup-utils.h')
-rw-r--r--clients/cloud-setup/nm-cloud-setup-utils.h127
1 files changed, 127 insertions, 0 deletions
diff --git a/clients/cloud-setup/nm-cloud-setup-utils.h b/clients/cloud-setup/nm-cloud-setup-utils.h
new file mode 100644
index 00000000..7c3e267a
--- /dev/null
+++ b/clients/cloud-setup/nm-cloud-setup-utils.h
@@ -0,0 +1,127 @@
+// SPDX-License-Identifier: LGPL-2.1+
+
+#ifndef __NM_CLOUD_SETUP_UTILS_H__
+#define __NM_CLOUD_SETUP_UTILS_H__
+
+#include "nm-glib-aux/nm-logging-fwd.h"
+
+/*****************************************************************************/
+
+/* mark names for  variables that can be used as configuration. Search
+ * for NMCS_ENV_VARIABLE() to find all honored environment variables. */
+#define NMCS_ENV_VARIABLE(var) ""var""
+
+/*****************************************************************************/
+
+extern volatile NMLogLevel _nm_logging_configured_level;
+
+static inline gboolean
+nm_logging_enabled (NMLogLevel level)
+{
+	return level >= _nm_logging_configured_level;
+}
+
+void _nm_logging_enabled_init (const char *level_str);
+
+void _nm_log_impl_cs (NMLogLevel level,
+                      const char *fmt,
+                      ...) _nm_printf (2, 3);
+
+#define _nm_log(level, ...) \
+	_nm_log_impl_cs ((level), __VA_ARGS__);
+
+#define _NMLOG(level, ...) \
+	G_STMT_START { \
+		const NMLogLevel _level = (level); \
+		\
+		if (nm_logging_enabled (_level)) { \
+			_nm_log (_level, __VA_ARGS__); \
+		} \
+	} G_STMT_END
+
+/*****************************************************************************/
+
+#ifndef NM_DIST_VERSION
+#define NM_DIST_VERSION VERSION
+#endif
+
+/*****************************************************************************/
+
+gpointer nmcs_wait_for_objects_register (gpointer target);
+
+gboolean nmcs_wait_for_objects_iterate_until_done (GMainContext *context,
+                                                   int timeout_msec);
+
+/*****************************************************************************/
+
+typedef void (*NMCSUtilsPollProbeStartFcn) (GCancellable *cancellable,
+                                            gpointer probe_user_data,
+                                            GAsyncReadyCallback callback,
+                                            gpointer user_data);
+
+typedef gboolean (*NMCSUtilsPollProbeFinishFcn) (GObject *source,
+                                                 GAsyncResult *result,
+                                                 gpointer probe_user_data,
+                                                 GError **error);
+
+void nmcs_utils_poll (int poll_timeout_ms,
+                      int ratelimit_timeout_ms,
+                      int sleep_timeout_ms,
+                      NMCSUtilsPollProbeStartFcn probe_start_fcn,
+                      NMCSUtilsPollProbeFinishFcn probe_finish_fcn,
+                      gpointer probe_user_data,
+                      GCancellable *cancellable,
+                      GAsyncReadyCallback callback,
+                      gpointer user_data);
+
+gboolean nmcs_utils_poll_finish (GAsyncResult *result,
+                                 gpointer *probe_user_data,
+                                 GError **error);
+
+/*****************************************************************************/
+
+char *nmcs_utils_hwaddr_normalize (const char *hwaddr, gssize len);
+
+/*****************************************************************************/
+
+const char *nmcs_utils_parse_memmem (GBytes *mem, const char *needle);
+
+const char *nmcs_utils_parse_get_full_line (GBytes *mem, const char *needle);
+
+/*****************************************************************************/
+
+char *nmcs_utils_uri_build_concat_v (const char *base,
+                                     const char **components,
+                                     gsize n_components);
+
+#define nmcs_utils_uri_build_concat(base, ...) nmcs_utils_uri_build_concat_v (base, ((const char *[]) { __VA_ARGS__ }), NM_NARG (__VA_ARGS__))
+
+/*****************************************************************************/
+
+gboolean nmcs_setting_ip_replace_ipv4_addresses (NMSettingIPConfig *s_ip,
+                                                 NMIPAddress **entries_arr,
+                                                 guint entries_len);
+
+gboolean nmcs_setting_ip_replace_ipv4_routes (NMSettingIPConfig *s_ip,
+                                              NMIPRoute **entries_arr,
+                                              guint entries_len);
+
+gboolean nmcs_setting_ip_replace_ipv4_rules (NMSettingIPConfig *s_ip,
+                                             NMIPRoutingRule **entries_arr,
+                                             guint entries_len);
+
+/*****************************************************************************/
+
+NMConnection *nmcs_device_get_applied_connection (NMDevice *device,
+                                                  GCancellable *cancellable,
+                                                  guint64 *version_id,
+                                                  GError **error);
+
+gboolean nmcs_device_reapply (NMDevice *device,
+                              GCancellable *sigterm_cancellable,
+                              NMConnection *connection,
+                              guint64 version_id,
+                              gboolean *out_version_id_changed,
+                              GError **error);
+
+#endif /* __NM_CLOUD_SETUP_UTILS_H__ */