common: third iteration of ipv6 netadr_t, now binary compatible with v4-to-v6 mapped addresses

This commit is contained in:
Alibek Omarov 2022-03-20 05:18:14 +03:00
parent 1a5a76a201
commit a1299e1dfe
1 changed files with 5 additions and 8 deletions

View File

@ -21,7 +21,7 @@
typedef enum
{
NA_UNUSED,
NA_UNUSED = 0,
NA_LOOPBACK,
NA_BROADCAST,
NA_IP,
@ -50,23 +50,20 @@ typedef struct netadr_s
struct
{
uint32_t type;
uint8_t ip[4];
uint8_t ipx[10];
};
struct
{
#if XASH_LITTLE_ENDIAN
uint16_t type6;
uint8_t ip6_0[2];
uint8_t ip6_10[2]; // or 10-th two IPv6 octets
#elif XASH_BIG_ENDIAN
uint8_t ip6_0[2];
uint8_t ip6_10[2]; // or 10-th two IPv6 octets
uint16_t type6;
#else
#error
#endif
uint8_t ip6_1[14];
};
};
uint8_t ip[4]; // or last 4 IPv6 octets
uint8_t ipx[10]; // or first 10 IPv6 octets
uint16_t port;
} netadr_t;
#pragma pack( pop )