chiark / gitweb /
man: add initial version of daemon(7)
[elogind.git] / src / socket-util.c
index 32f6bcb94196380049860485a0bab4102e29dbf6..4a1b3d8b515536e97fd0b186ceeed5d8ab276a32 100644 (file)
@@ -443,7 +443,7 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
         return true;
 }
 
-bool socket_address_is(const SocketAddress *a, const char *s) {
+bool socket_address_is(const SocketAddress *a, const char *s, int type) {
         struct SocketAddress b;
 
         assert(a);
@@ -452,6 +452,8 @@ bool socket_address_is(const SocketAddress *a, const char *s) {
         if (socket_address_parse(&b, s) < 0)
                 return false;
 
+        b.type = type;
+
         return socket_address_equal(a, &b);
 }
 
@@ -466,3 +468,11 @@ bool socket_address_needs_mount(const SocketAddress *a, const char *prefix) {
 
         return path_startswith(a->sockaddr.un.sun_path, prefix);
 }
+
+static const char* const socket_address_bind_ipv6_only_table[_SOCKET_ADDRESS_BIND_IPV6_ONLY_MAX] = {
+        [SOCKET_ADDRESS_DEFAULT] = "default",
+        [SOCKET_ADDRESS_BOTH] = "both",
+        [SOCKET_ADDRESS_IPV6_ONLY] = "ipv6-only"
+};
+
+DEFINE_STRING_TABLE_LOOKUP(socket_address_bind_ipv6_only, SocketAddressBindIPv6Only);