//Extension from POSIX.1:2001
#ifdef __USE_EOPEN2K
//Structure to contain information about address of a service provider
struct addrinfo{
int ai_flags;
int ai_family;
int ai_socktype;
int ai_protocol;
socklen_t ai_addrlen;
struct sockaddr *ai_addr;
char *ai_canonname;
struct addrinfo *ai_next;
}
参数解释:
- ai_flags:标志,包括AI_PASSIVE,AI_CANONNAME以及AI_NUMERICHOST。完整的可选参数在这个文件中进行了定义。
- ai_family:协议族,包括PF_UNSPEC以及PF_INET等,完整的可选参数在sys/socket.h中进行了定义
- ai_socktype:套接字类型,包括SOCK_STREAM以及SOCK_DGRAM等,完整的可选参数在sys/socket.h中进行了定义
- ai_protocol:协议,包括IPPROTO_TCP以及IPPROTO_UDP,完整的可选参数在netinet/in.h中进行了定义
- ai_addrlen:ai_addr参数的长度
- ai_canonname:The canonical name for nodename.
- ai_addr:套接字地址
- ai_next:链表中指向下一个addrinfo结构体的指针