#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include "gai.h"
int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags)
{
switch (sa->sa_family) {
#ifdef IPV4
case AF_INET:{
struct sockaddr_in *sain = (struct sockaddr_in *) sa;
return (gn_ipv46(host, hostlen, serv, servlen, &sain->sin_addr, sizeof(struct in_addr), AF_INET, sain->sin_port, flags));
}
#endif
#ifdef IPV6
case AF_INET6:{
struct sockaddr_in6 *sain = (struct sockaddr_in6 *) sa;
return (gn_ipv46(host, hostlen, serv, servlen,
&sain->sin6_addr, sizeof(struct in6_addr), AF_INET6, sain->sin6_port, flags));
}
#endif
default:
return (1);
}
}
syntax highlighted by Code2HTML, v. 0.9.1