summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-10-28 21:04:32 +0100
committerThomas Haller <thaller@redhat.com>2020-10-30 11:58:44 +0100
commita7e1fa48fd956d39aa54bf0a393b71e00f34041e (patch)
tree54ce0ccd3c4ef8ee9d656363eee2fd149e5f20e6
parentf70ee67058c92a97549dc4aca11ef0567373efbf (diff)
downloadNetworkManager-a7e1fa48fd956d39aa54bf0a393b71e00f34041e.tar.gz
shared: add nm_g_variant_new_ay_inaddr() helper
-rw-r--r--shared/nm-glib-aux/nm-shared-utils.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/shared/nm-glib-aux/nm-shared-utils.h b/shared/nm-glib-aux/nm-shared-utils.h
index 06bf9dd049..e8aba6104c 100644
--- a/shared/nm-glib-aux/nm-shared-utils.h
+++ b/shared/nm-glib-aux/nm-shared-utils.h
@@ -1219,6 +1219,27 @@ nm_g_variant_is_of_type(GVariant *value, const GVariantType *type)
return value && g_variant_is_of_type(value, type);
}
+static inline GVariant *
+nm_g_variant_new_ay_inaddr(int addr_family, gconstpointer addr)
+{
+ return g_variant_new_fixed_array(G_VARIANT_TYPE_BYTE,
+ addr ?: &nm_ip_addr_zero,
+ nm_utils_addr_family_to_size(addr_family),
+ 1);
+}
+
+static inline GVariant *
+nm_g_variant_new_ay_in4addr(in_addr_t addr)
+{
+ return nm_g_variant_new_ay_inaddr(AF_INET, &addr);
+}
+
+static inline GVariant *
+nm_g_variant_new_ay_in6addr(const struct in6_addr *addr)
+{
+ return nm_g_variant_new_ay_inaddr(AF_INET6, addr);
+}
+
static inline void
nm_g_variant_builder_add_sv(GVariantBuilder *builder, const char *key, GVariant *val)
{