Commit 6c411755 authored by Michael Graff's avatar Michael Graff
Browse files

add isc_sockaddr_any() and isc_sockaddr_any6 to set up a wildcarded...

add isc_sockaddr_any() and isc_sockaddr_any6 to set up a wildcarded address/port for v4 and v6 sockaddrs
parent 96e3bc37
......@@ -49,6 +49,12 @@ isc_sockaddr_eqaddrprefix(const isc_sockaddr_t *a, const isc_sockaddr_t *b,
unsigned int
isc_sockaddr_hash(const isc_sockaddr_t *sockaddr, isc_boolean_t address_only);
void
isc_sockaddr_any(isc_sockaddr_t *sockaddr);
void
isc_sockaddr_any6(isc_sockaddr_t *sockaddr);
void
isc_sockaddr_fromin(isc_sockaddr_t *sockaddr, const struct in_addr *ina,
in_port_t port);
......
......@@ -205,6 +205,34 @@ isc_sockaddr_hash(const isc_sockaddr_t *sockaddr, isc_boolean_t address_only) {
return (h);
}
void
isc_sockaddr_any(isc_sockaddr_t *sockaddr)
{
memset(sockaddr, 0, sizeof *sockaddr);
sockaddr->type.sin.sin_family = AF_INET;
#ifdef ISC_PLATFORM_HAVESALEN
sockaddr->type.sin.sin_len = sizeof sockaddr->type.sin;
#endif
sockaddr->type.sin.sin_addr.s_addr = INADDR_ANY;
sockaddr->type.sin.sin_port = 0;
sockaddr->length = sizeof sockaddr->type.sin;
ISC_LINK_INIT(sockaddr, link);
}
void
isc_sockaddr_any6(isc_sockaddr_t *sockaddr)
{
memset(sockaddr, 0, sizeof *sockaddr);
sockaddr->type.sin6.sin6_family = AF_INET6;
#ifdef ISC_PLATFORM_HAVESALEN
sockaddr->type.sin6.sin6_len = sizeof sockaddr->type.sin6;
#endif
sockaddr->type.sin6.sin6_addr = in6addr_any;
sockaddr->type.sin6.sin6_port = 0;
sockaddr->length = sizeof sockaddr->type.sin;
ISC_LINK_INIT(sockaddr, link);
}
void
isc_sockaddr_fromin(isc_sockaddr_t *sockaddr, const struct in_addr *ina,
in_port_t port)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment