Commit b3568934 authored by Andreas Gustafsson's avatar Andreas Gustafsson
Browse files

added isc_netaddr_equal()

parent d18d9873
......@@ -32,6 +32,9 @@ struct isc_netaddr {
} type;
};
isc_boolean_t
isc_netaddr_equal(const isc_netaddr_t *a, const isc_netaddr_t *b);
isc_boolean_t
isc_netaddr_eqprefix(const isc_netaddr_t *a, const isc_netaddr_t *b,
unsigned int prefixlen);
......
......@@ -27,6 +27,28 @@
#include <isc/sockaddr.h>
#include <isc/types.h>
isc_boolean_t
isc_netaddr_equal(const isc_netaddr_t *a, const isc_netaddr_t *b) {
REQUIRE(a != NULL && b != NULL);
if (a->family != b->family)
return (ISC_FALSE);
switch (a->family) {
case AF_INET:
if (a->type.in.s_addr != b->type.in.s_addr)
return (ISC_FALSE);
break;
case AF_INET6:
if (memcmp(&a->type.in6, &b->type.in6, sizeof a->type.in6) != 0)
return (ISC_FALSE);
break;
default:
return (ISC_FALSE);
}
return (ISC_TRUE);
}
isc_boolean_t
isc_netaddr_eqprefix(const isc_netaddr_t *a, const isc_netaddr_t *b,
unsigned int prefixlen)
......
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