Blame clients/cloud-setup/nm-cloud-setup-utils.h

Packit Service a1bd4f
/* SPDX-License-Identifier: LGPL-2.1+ */
Packit 5756e2
Packit 5756e2
#ifndef __NM_CLOUD_SETUP_UTILS_H__
Packit 5756e2
#define __NM_CLOUD_SETUP_UTILS_H__
Packit 5756e2
Packit 5756e2
#include "nm-glib-aux/nm-logging-fwd.h"
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit 5756e2
/* mark names for  variables that can be used as configuration. Search
Packit 5756e2
 * for NMCS_ENV_VARIABLE() to find all honored environment variables. */
Packit Service a1bd4f
#define NMCS_ENV_VARIABLE(var) "" var ""
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit 5756e2
extern volatile NMLogLevel _nm_logging_configured_level;
Packit 5756e2
Packit 5756e2
static inline gboolean
Packit Service a1bd4f
nm_logging_enabled(NMLogLevel level)
Packit 5756e2
{
Packit Service a1bd4f
    return level >= _nm_logging_configured_level;
Packit 5756e2
}
Packit 5756e2
Packit Service a1bd4f
void _nm_logging_enabled_init(const char *level_str);
Packit 5756e2
Packit Service a1bd4f
void _nm_log_impl_cs(NMLogLevel level, const char *fmt, ...) _nm_printf(2, 3);
Packit 5756e2
Packit Service a1bd4f
#define _nm_log(level, ...) _nm_log_impl_cs((level), __VA_ARGS__);
Packit 5756e2
Packit Service a1bd4f
#define _NMLOG(level, ...)                 \
Packit Service a1bd4f
    G_STMT_START                           \
Packit Service a1bd4f
    {                                      \
Packit Service a1bd4f
        const NMLogLevel _level = (level); \
Packit Service a1bd4f
                                           \
Packit Service a1bd4f
        if (nm_logging_enabled(_level)) {  \
Packit Service a1bd4f
            _nm_log(_level, __VA_ARGS__);  \
Packit Service a1bd4f
        }                                  \
Packit Service a1bd4f
    }                                      \
Packit Service a1bd4f
    G_STMT_END
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit 5756e2
#ifndef NM_DIST_VERSION
Packit Service a1bd4f
    #define NM_DIST_VERSION VERSION
Packit 5756e2
#endif
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit Service a1bd4f
gpointer nmcs_wait_for_objects_register(gpointer target);
Packit 5756e2
Packit Service a1bd4f
gboolean nmcs_wait_for_objects_iterate_until_done(GMainContext *context, int timeout_msec);
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit Service a1bd4f
typedef void (*NMCSUtilsPollProbeStartFcn)(GCancellable *      cancellable,
Packit Service a1bd4f
                                           gpointer            probe_user_data,
Packit Service a1bd4f
                                           GAsyncReadyCallback callback,
Packit Service a1bd4f
                                           gpointer            user_data);
Packit Service a1bd4f
Packit Service a1bd4f
typedef gboolean (*NMCSUtilsPollProbeFinishFcn)(GObject *     source,
Packit Service a1bd4f
                                                GAsyncResult *result,
Packit Service a1bd4f
                                                gpointer      probe_user_data,
Packit Service a1bd4f
                                                GError **     error);
Packit Service a1bd4f
Packit Service a1bd4f
void nmcs_utils_poll(int                         poll_timeout_ms,
Packit Service a1bd4f
                     int                         ratelimit_timeout_ms,
Packit Service a1bd4f
                     int                         sleep_timeout_ms,
Packit Service a1bd4f
                     NMCSUtilsPollProbeStartFcn  probe_start_fcn,
Packit Service a1bd4f
                     NMCSUtilsPollProbeFinishFcn probe_finish_fcn,
Packit Service a1bd4f
                     gpointer                    probe_user_data,
Packit Service a1bd4f
                     GCancellable *              cancellable,
Packit Service a1bd4f
                     GAsyncReadyCallback         callback,
Packit Service a1bd4f
                     gpointer                    user_data);
Packit Service a1bd4f
Packit Service a1bd4f
gboolean nmcs_utils_poll_finish(GAsyncResult *result, gpointer *probe_user_data, GError **error);
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit Service a1bd4f
char *nmcs_utils_hwaddr_normalize(const char *hwaddr, gssize len);
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit Service a1bd4f
const char *nmcs_utils_parse_memmem(GBytes *mem, const char *needle);
Packit 5756e2
Packit Service a1bd4f
const char *nmcs_utils_parse_get_full_line(GBytes *mem, const char *needle);
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit Service a1bd4f
char *nmcs_utils_uri_build_concat_v(const char *base, const char **components, gsize n_components);
Packit 5756e2
Packit Service a1bd4f
#define nmcs_utils_uri_build_concat(base, ...) \
Packit Service a1bd4f
    nmcs_utils_uri_build_concat_v(base, ((const char *[]){__VA_ARGS__}), NM_NARG(__VA_ARGS__))
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit Service a1bd4f
gboolean nmcs_setting_ip_replace_ipv4_addresses(NMSettingIPConfig *s_ip,
Packit Service a1bd4f
                                                NMIPAddress **     entries_arr,
Packit Service a1bd4f
                                                guint              entries_len);
Packit 5756e2
Packit Service a1bd4f
gboolean nmcs_setting_ip_replace_ipv4_routes(NMSettingIPConfig *s_ip,
Packit Service a1bd4f
                                             NMIPRoute **       entries_arr,
Packit Service a1bd4f
                                             guint              entries_len);
Packit 5756e2
Packit Service a1bd4f
gboolean nmcs_setting_ip_replace_ipv4_rules(NMSettingIPConfig *s_ip,
Packit Service a1bd4f
                                            NMIPRoutingRule ** entries_arr,
Packit Service a1bd4f
                                            guint              entries_len);
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit Service a1bd4f
NMConnection *nmcs_device_get_applied_connection(NMDevice *    device,
Packit Service a1bd4f
                                                 GCancellable *cancellable,
Packit Service a1bd4f
                                                 guint64 *     version_id,
Packit Service a1bd4f
                                                 GError **     error);
Packit Service a1bd4f
Packit Service a1bd4f
gboolean nmcs_device_reapply(NMDevice *    device,
Packit Service a1bd4f
                             GCancellable *sigterm_cancellable,
Packit Service a1bd4f
                             NMConnection *connection,
Packit Service a1bd4f
                             guint64       version_id,
Packit Service a1bd4f
                             gboolean *    out_version_id_changed,
Packit Service a1bd4f
                             GError **     error);
Packit 5756e2
Packit 5756e2
#endif /* __NM_CLOUD_SETUP_UTILS_H__ */