version 1.2, 2015/04/20 18:10:35
|
version 1.3, 2015/04/20 18:20:34
|
|
|
| |
BEGIN_EXTERNC | BEGIN_EXTERNC |
| |
|
#if !defined(CONFIG_OS_WINDOWS) |
|
# include <sys/socket.h> |
|
# include <netdb.h> |
|
# include <netinet/in.h> |
|
#else |
|
# include <winsock.h> |
|
#endif |
|
|
|
#ifdef _PREFAST_ |
|
# pragma prefast (push) |
|
# pragma prefast (disable: 24002) |
|
#endif |
|
|
typedef struct _Addr | typedef struct _Addr |
{ | { |
MI_Uint64 opaque[2]; |
union padded_address |
|
{ |
|
struct sockaddr sock_addr; /* either a sockaddr_in or a sockaddr_in6 */ |
|
unsigned char padding[128]; /* the padding used in Linux, > sizeof (sockaddr_in6) */ |
|
} u; |
|
MI_Boolean is_ipv6; /* MI_TRUE if sa_family from u.sock_addr is AF_INET6 */ |
|
MI_Uint16 port_high_endian; /* a copy of sa_port from u.sock_addr */ |
|
MI_Uint16 sock_addr_size; /* a copy of af_size from u.sock_addr */ |
} | } |
Addr; | Addr; |
| |
|
#ifdef _PREFAST_ |
|
# pragma prefast (pop) |
|
#endif |
|
|
MI_Result Addr_Init( | MI_Result Addr_Init( |
Addr* self, | Addr* self, |
const char* host, | const char* host, |
unsigned short port); |
unsigned short port, |
|
MI_Boolean useSecondaryAddr); |
| |
void Addr_InitAny( | void Addr_InitAny( |
Addr* self, | Addr* self, |