about summary refs log tree commit diff
path: root/libnm-core/nm-libnm-core-intern
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2020-06-29 22:16:54 +0200
committerMichael Biebl <biebl@debian.org>2020-06-29 22:16:54 +0200
commit238d328f69e0f4b838f361d7ddac1d6134bfd631 (patch)
tree411ff73bb36d725e3a337d2fddbccc7b074622e0 /libnm-core/nm-libnm-core-intern
parente8d426c51e83b8465f9be527fd014f51443f829d (diff)
parent10ae7d8cd706062742d0cdb1803d49909aef9e06 (diff)
Update upstream source from tag 'upstream/1.25.91'
Update to upstream version '1.25.91'
with Debian dir 82448cadc1dd251ffbe44b7c339cadeb55eb776b
Diffstat (limited to 'libnm-core/nm-libnm-core-intern')
-rw-r--r--libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.c30
-rw-r--r--libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.h4
2 files changed, 34 insertions, 0 deletions
diff --git a/libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.c b/libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.c
index df2f2e77..8d2ea09c 100644
--- a/libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.c
+++ b/libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.c
@@ -6,6 +6,8 @@
 
 #include "nm-common-macros.h"
 
+#include <linux/rtnetlink.h>
+
 /*****************************************************************************/
 
 gboolean
@@ -178,3 +180,31 @@ nm_client_permission_result_to_string (NMClientPermissionResult permission)
 	nm_assert_not_reached ();
 	return NULL;
 }
+
+NM_UTILS_STRING_TABLE_LOOKUP_DEFINE (
+	nm_utils_route_type_by_name,
+	guint8,
+	{ nm_assert (name); },
+	{ return RTN_UNSPEC; },
+	{ "blackhole",   RTN_BLACKHOLE   },
+	{ "broadcast",   RTN_BROADCAST   },
+	{ "local",       RTN_LOCAL       },
+	{ "multicast",   RTN_MULTICAST   },
+	{ "nat",         RTN_NAT         },
+	{ "prohibit",    RTN_PROHIBIT    },
+	{ "throw",       RTN_THROW       },
+	{ "unicast",     RTN_UNICAST     },
+	{ "unreachable", RTN_UNREACHABLE },
+);
+
+NM_UTILS_ENUM2STR_DEFINE (nm_utils_route_type2str, guint8,
+	NM_UTILS_ENUM2STR (RTN_BLACKHOLE, "blackhole"),
+	NM_UTILS_ENUM2STR (RTN_BROADCAST, "broadcast"),
+	NM_UTILS_ENUM2STR (RTN_LOCAL, "local"),
+	NM_UTILS_ENUM2STR (RTN_MULTICAST, "multicast"),
+	NM_UTILS_ENUM2STR (RTN_NAT, "nat"),
+	NM_UTILS_ENUM2STR (RTN_PROHIBIT, "prohibit"),
+	NM_UTILS_ENUM2STR (RTN_THROW, "throw"),
+	NM_UTILS_ENUM2STR (RTN_UNICAST, "unicast"),
+	NM_UTILS_ENUM2STR (RTN_UNREACHABLE, "unreachable"),
+);
diff --git a/libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.h b/libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.h
index a35a5e15..afc214d4 100644
--- a/libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.h
+++ b/libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.h
@@ -112,4 +112,8 @@ NMClientPermission nm_auth_permission_from_string (const char *str);
 NMClientPermissionResult nm_client_permission_result_from_string (const char *nm);
 const char *nm_client_permission_result_to_string (NMClientPermissionResult permission);
 
+guint8 nm_utils_route_type_by_name (const char *name);
+
+const char *nm_utils_route_type2str (guint8 val, char *buf, gsize len);
+
 #endif /* __NM_LIBNM_SHARED_UTILS_H__ */