Browse Source

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

pull/2/head
Alibek Omarov 3 years ago
parent
commit
a1299e1dfe
  1. 13
      common/netadr.h

13
common/netadr.h

@ -21,7 +21,7 @@ @@ -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 @@ -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 )

Loading…
Cancel
Save