diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/in-addr-util.c | 12 | ||||
-rw-r--r-- | src/shared/in-addr-util.h | 3 |
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_; |