From: Lennart Poettering Date: Wed, 18 Jun 2014 10:34:02 +0000 (+0200) Subject: socket-util: introduce in_addr_union similar to sockaddr_union and make use of it... X-Git-Tag: v215~349 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=5d3de3fe9cc452f1bfe3c2dcafecbd7f904da4dc socket-util: introduce in_addr_union similar to sockaddr_union and make use of it everywhere --- diff --git a/src/libsystemd/sd-rtnl/test-rtnl.c b/src/libsystemd/sd-rtnl/test-rtnl.c index 78f5cca66..e6ba08e07 100644 --- a/src/libsystemd/sd-rtnl/test-rtnl.c +++ b/src/libsystemd/sd-rtnl/test-rtnl.c @@ -20,6 +20,7 @@ ***/ #include +#include #include "util.h" #include "macro.h" diff --git a/src/network/networkd.h b/src/network/networkd.h index 3b081d527..308be832e 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -36,6 +36,7 @@ #include "list.h" #include "set.h" #include "condition-util.h" +#include "socket-util.h" #define CACHE_INFO_INFINITY_LIFE_TIME 0xFFFFFFFFU #define VXLAN_VID_MAX (1u << 24) - 1 @@ -184,10 +185,7 @@ struct Address { struct in_addr broadcast; struct ifa_cacheinfo cinfo; - union { - struct in_addr in; - struct in6_addr in6; - } in_addr; + union in_addr_union in_addr; LIST_FIELDS(Address, addresses); }; @@ -201,15 +199,8 @@ struct Route { unsigned char scope; uint32_t metrics; - union { - struct in_addr in; - struct in6_addr in6; - } in_addr; - - union { - struct in_addr in; - struct in6_addr in6; - } dst_addr; + union in_addr_union in_addr; + union in_addr_union dst_addr; LIST_FIELDS(Route, routes); }; diff --git a/src/shared/socket-util.h b/src/shared/socket-util.h index f938f8620..d125fca83 100644 --- a/src/shared/socket-util.h +++ b/src/shared/socket-util.h @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -42,6 +41,11 @@ union sockaddr_union { struct sockaddr_ll ll; }; +union in_addr_union { + struct in_addr in; + struct in6_addr in6; +}; + typedef struct SocketAddress { union sockaddr_union sockaddr;