mirror of
https://github.com/FWGS/xash3d-fwgs
synced 2024-11-26 03:39:16 +01:00
common: update netadr_t structure to include IPv6 addresses
This commit is contained in:
parent
ae6ad74994
commit
9ae72dbc47
@ -16,6 +16,9 @@
|
||||
#ifndef NETADR_H
|
||||
#define NETADR_H
|
||||
|
||||
#include "build.h"
|
||||
#include STDINT_H
|
||||
|
||||
typedef enum
|
||||
{
|
||||
NA_UNUSED,
|
||||
@ -23,15 +26,56 @@ typedef enum
|
||||
NA_BROADCAST,
|
||||
NA_IP,
|
||||
NA_IPX,
|
||||
NA_BROADCAST_IPX
|
||||
NA_BROADCAST_IPX,
|
||||
NA_IP6,
|
||||
NA_MULTICAST_IP6, // all nodes multicast
|
||||
} netadrtype_t;
|
||||
|
||||
#define NETADR_T_SIZE 20
|
||||
|
||||
// Original structure:
|
||||
// typedef struct netadr_s
|
||||
// {
|
||||
// netadrtype_t type;
|
||||
// unsigned char ip[4];
|
||||
// unsigned char ipx[10];
|
||||
// unsigned short port;
|
||||
// } netadr_t;
|
||||
|
||||
typedef struct netadr_s
|
||||
{
|
||||
netadrtype_t type;
|
||||
unsigned char ip[4];
|
||||
unsigned char ipx[10];
|
||||
unsigned short port;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
#if XASH_LITTLE_ENDIAN
|
||||
uint16_t type6;
|
||||
uint16_t port6;
|
||||
#elif XASH_BIG_ENDIAN
|
||||
uint16_t port6;
|
||||
uint16_t type6;
|
||||
#else
|
||||
#error
|
||||
#endif
|
||||
};
|
||||
uint32_t type;
|
||||
};
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
uint16_t ip6[8];
|
||||
};
|
||||
|
||||
struct
|
||||
{
|
||||
uint8_t ip[4];
|
||||
uint8_t ipx[10];
|
||||
uint16_t port;
|
||||
};
|
||||
};
|
||||
} netadr_t;
|
||||
|
||||
extern int _check_netadr_t_size[sizeof( netadr_t ) == NETADR_T_SIZE ? 1 : -1];
|
||||
|
||||
#endif//NETADR_H
|
||||
|
Loading…
Reference in New Issue
Block a user