3 #define F(t,n) {t *y = &x.n;}
4 #define C(n) switch(n){case n:;}
16 F(char**, h_addr_list
)
44 F(socklen_t
, ai_addrlen
)
45 F(struct sockaddr
*, ai_addr
)
46 F(char*, ai_canonname
)
47 F(struct addrinfo
*, ai_next
)
72 {void(*p
)(void) = endhostent
;}
73 {void(*p
)(void) = endnetent
;}
74 {void(*p
)(void) = endprotoent
;}
75 {void(*p
)(void) = endservent
;}
76 {const char*(*p
)(int) = gai_strerror
;}
77 {struct hostent
*(*p
)(void) = gethostent
;}
78 {struct netent
*(*p
)(uint32_t,int) = getnetbyaddr
;}
79 {struct netent
*(*p
)(const char*) = getnetbyname
;}
80 {struct netent
*(*p
)(void) = getnetent
;}
81 {struct protoent
*(*p
)(const char*) = getprotobyname
;}
82 {struct protoent
*(*p
)(int) = getprotobynumber
;}
83 {struct protoent
*(*p
)(void) = getprotoent
;}
84 {struct servent
*(*p
)(const char*,const char*) = getservbyname
;}
85 {struct servent
*(*p
)(int,const char*) = getservbyport
;}
86 {struct servent
*(*p
)(void) = getservent
;}
87 {void(*p
)(int) = sethostent
;}
88 {void(*p
)(int) = setnetent
;}
89 {void(*p
)(int) = setprotoent
;}
90 {void(*p
)(int) = setservent
;}
92 #include <sys/socket.h>
95 {void(*p
)(struct addrinfo
*) = freeaddrinfo
;}
96 {int(*p
)(const char*restrict
,const char*restrict
,const struct addrinfo
*restrict
,struct addrinfo
**restrict
) = getaddrinfo
;}
97 {int(*p
)(const struct sockaddr
*restrict
,socklen_t
,char*restrict
,socklen_t
,char*restrict
,socklen_t
,int) = getnameinfo
;}