diff options
author | Thomas Haller <thaller@redhat.com> | 2020-10-28 21:04:32 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2020-10-30 11:58:44 +0100 |
commit | a7e1fa48fd956d39aa54bf0a393b71e00f34041e (patch) | |
tree | 54ce0ccd3c4ef8ee9d656363eee2fd149e5f20e6 | |
parent | f70ee67058c92a97549dc4aca11ef0567373efbf (diff) | |
download | NetworkManager-a7e1fa48fd956d39aa54bf0a393b71e00f34041e.tar.gz |
shared: add nm_g_variant_new_ay_inaddr() helper
-rw-r--r-- | shared/nm-glib-aux/nm-shared-utils.h | 21 |
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) { |