mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
socket-util: introduce in_addr_union similar to sockaddr_union and make use of it everywhere
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
***/
|
||||
|
||||
#include <netinet/ether.h>
|
||||
#include <net/if.h>
|
||||
|
||||
#include "util.h"
|
||||
#include "macro.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);
|
||||
};
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <sys/un.h>
|
||||
#include <net/if.h>
|
||||
#include <asm/types.h>
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/if_packet.h>
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user