|
#include <netdb.h>
int getaddrinfo (const char * hostname, const char * service, const struct addrinfo * hints, struct addrinfo ** result);
struct addrinfo {
int ai_flags; / * AI_PASSIVE, AI_CANONNAME * /
int ai_family; / * AF_xxx * /
int ai_socktype; / * SOCK_xxx * /
int ai_protocol; / * 0 or IPPROTO_xxx for IPv4 and IPv6 * /
socklen_t ai_addrlen; / * length of ai_addr * /
char * ai_canonname; / * ptr to canonical name for host * /
struct sockaddr * ai_addr; / * ptr to socket address structure * /
struct addrinfo * ai_next; / * ptr to next structure in linked list * /
};
struct sockaddr_in6 {
uint8_t sin6_len; / * length of this struct (28) * /
sa_family_t sin6_family; / * AF_INET6 * /
in_port_t sin6_port; / * transport layer port # * /
/ * network byte ordered * /
uint32_t sin6_flowinfo; / * flow information, undefined * /
struct in6_addr sin6_addr; / * IPv6 address * /
/ * network byte ordered * /
uint32_t sin6_scope_id; / * set of interfaces for a scope * /
}; |
|