summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/in-addr-util.c12
-rw-r--r--src/shared/in-addr-util.h3
2 files changed, 15 insertions, 0 deletions
diff --git a/src/shared/in-addr-util.c b/src/shared/in-addr-util.c
index 6ece85e37d..0c6ebec336 100644
--- a/src/shared/in-addr-util.c
+++ b/src/shared/in-addr-util.c
@@ -231,3 +231,15 @@ int in_addr_from_string_auto(const char *s, unsigned *family, union in_addr_unio
return -EINVAL;
}
+
+static const char* const family_table[] = {
+ [AF_UNSPEC] = "unspec",
+ [AF_UNIX] = "unix",
+ [AF_INET] = "inet",
+ [AF_INET6] = "inet6",
+ [AF_NETLINK] = "netlink",
+ [AF_PACKET] = "packet",
+ [AF_BLUETOOTH] = "bluetooth",
+ [AF_NFC] = "nfc",
+};
+DEFINE_STRING_TABLE_LOOKUP(family, int);
diff --git a/src/shared/in-addr-util.h b/src/shared/in-addr-util.h
index aae1f16608..6cfdb14a89 100644
--- a/src/shared/in-addr-util.h
+++ b/src/shared/in-addr-util.h
@@ -43,3 +43,6 @@ static inline size_t FAMILY_ADDRESS_SIZE(int family) {
assert(family == AF_INET || family == AF_INET6);
return family == AF_INET6 ? 16 : 4;
}
+
+const char* family_to_string(int i) _const_;
+int family_from_string(const char *s) _pure_;