aboutsummaryrefslogtreecommitdiffstats
path: root/lib/in46_addr.h
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-08-20 11:43:25 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2019-08-28 11:13:32 +0200
commit60ee0dbfa479adfa2af10a8bf0f652a9a92d5c3b (patch)
tree082f6dc920f6fed72c6b0f2f4b4451610359e94f /lib/in46_addr.h
parentd950134c530526f03ed908dcf5e02f88b3f1c9fc (diff)
Introduce in46a_is_v{4,6}() helpers
It's clearer having size-related checks in one place for a data structure in46_addr, instead of spread around the code. Change-Id: Idc94bf0c8c01bb5a30e36d3c284b99f66b972abb
Diffstat (limited to 'lib/in46_addr.h')
-rw-r--r--lib/in46_addr.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/in46_addr.h b/lib/in46_addr.h
index e4654cc..153df00 100644
--- a/lib/in46_addr.h
+++ b/lib/in46_addr.h
@@ -31,3 +31,11 @@ unsigned int in46a_netmasklen(const struct in46_addr *netmask);
int in46a_to_eua(const struct in46_addr *src, unsigned int size, struct ul66_t *eua);
int in46a_from_eua(const struct ul66_t *eua, struct in46_addr *dst);
+
+static inline bool in46a_is_v6(const struct in46_addr *addr) {
+ return addr->len == 8 || addr->len == 16;
+}
+
+static inline bool in46a_is_v4(const struct in46_addr *addr) {
+ return addr->len == sizeof(struct in_addr);
+}