9
0
Fork 0

lib/in46_addr: Add in46a_ntoa() function, similar to inet_ntoa()

Change-Id: I752b7033a106a74dc219047da5c3a7ad3cd3602e
This commit is contained in:
Harald Welte 2017-08-12 12:46:17 +02:00
parent 881e97ed00
commit b62983d3c3
2 changed files with 11 additions and 0 deletions

View File

@ -69,6 +69,16 @@ const char *in46a_ntop(const struct in46_addr *in, char *dst, socklen_t dst_size
return inet_ntop(af, (const void *) &in->v4, dst, dst_size);
}
/* like inet_ntoa() */
const char *in46a_ntoa(const struct in46_addr *in46)
{
static char addrstr_buf[256];
if (in46a_ntop(in46, addrstr_buf, sizeof(addrstr_buf)) < 0)
return "INVALID";
else
return addrstr_buf;
}
/*! Determine if two in46_addr are equal or not
* \returns 1 in case they are equal; 0 otherwise */
int in46a_equal(const struct in46_addr *a, const struct in46_addr *b)

View File

@ -17,6 +17,7 @@ struct in46_addr {
extern int in46a_to_af(const struct in46_addr *in);
extern int in46a_to_sas(struct sockaddr_storage *out, const struct in46_addr *in);
extern const char *in46a_ntop(const struct in46_addr *in, char *dst, socklen_t dst_size);
extern const char *in46a_ntoa(const struct in46_addr *in46);
extern int in46a_equal(const struct in46_addr *a, const struct in46_addr *b);
extern int in46a_prefix_equal(const struct in46_addr *a, const struct in46_addr *b);
extern int in46a_within_mask(const struct in46_addr *addr, const struct in46_addr *net, size_t prefixlen);