#define sockaddr_in ps_sockaddr_in
#define sockaddr ps_sockaddr
/**
@brief BSD generic socket address structure.
*/
//2+14=16bytes
struct ps_sockaddr
{
uint16 ps_sa_family; /**< Socket address family. */
unsigned char ps_sa_data[14]; /**< Address data. */
};
//2+2+4+8=16bytes
struct ps_sockaddr_in
{
uint16 ps_sin_family; /**< Internet socket family. */
uint16 ps_sin_port; /**< Internet socket port. */
/** Internet socket address. */
struct ps_in_addr ps_sin_addr;
char ps_sin_zero[8]; /**< Zeros the data for this address type. */
};
struct ps_in_addr /* structure defined for historic reasons.*/
{
uint32 ps_s_addr; /**< Socket address.*/
};
/* IPv6 address structure */
struct ps_in6_addr
{
union
{
uint8 u6_addr8[16];
uint16 u6_addr16[8];
uint32 u6_addr32[4];
uint64 u6_addr64[2];
} in6_u;
#define ps_s6_addr in6_u.u6_addr8
#define ps_s6_addr16 in6_u.u6_addr16
#define ps_s6_addr32 in6_u.u6_addr32
#define ps_s6_addr64 in6_u.u6_addr64
};