char *inet_net_ntop(int af, const void *netp, int bits, char *pres, size_t psize) { switch (af) { case AF_INET: return inet_net_ntop_ipv4(netp, bits, pres, psize); default: errno = EAFNOSUPPORT; return NULL; } }
/* * char * * inet_net_ntop(af, src, bits, dst, size) * convert network number from network to presentation format. * generates CIDR style result always. * return: * pointer to dst, or NULL if an error occurred (check errno). * author: * Paul Vixie (ISC), July 1996 */ char * inet_net_ntop(int af, const void *src, int bits, char *dst, size_t size) { switch (af) { case AF_INET: return (inet_net_ntop_ipv4(src, bits, dst, size)); case AF_INET6: return (inet_net_ntop_ipv6(src, bits, dst, size)); default: errno = EAFNOSUPPORT; return (NULL); } }
/* * char * * inet_net_ntop(af, src, bits, dst, size) * convert host/network address from network to presentation format. * "src"'s size is determined from its "af". * return: * pointer to dst, or NULL if an error occurred (check errno). * note: * 192.5.5.1/28 has a nonzero host part, which means it isn't a network * as called for by inet_net_pton() but it can be a host address with * an included netmask. * author: * Paul Vixie (ISC), October 1998 */ char * inet_net_ntop(int af, const void *src, int bits, char *dst, size_t size) { /* * We need to cover both the address family constants used by the PG inet * type (PGSQL_AF_INET and PGSQL_AF_INET6) and those used by the system * libraries (AF_INET and AF_INET6). We can safely assume PGSQL_AF_INET * == AF_INET, but the INET6 constants are very likely to be different. * If AF_INET6 isn't defined, silently ignore it. */ switch (af) { case PGSQL_AF_INET: return (inet_net_ntop_ipv4(src, bits, dst, size)); case PGSQL_AF_INET6: #if defined(AF_INET6) && AF_INET6 != PGSQL_AF_INET6 case AF_INET6: #endif return (inet_net_ntop_ipv6(src, bits, dst, size)); default: errno = EAFNOSUPPORT; return (NULL); } }