diff --git a/src/xpdev/sockwrap.h b/src/xpdev/sockwrap.h
index 9877c9e1d2630389d832365229688f1b231b45d0..6fe7817592b529b48059d84fe709e44eb43d79db 100644
--- a/src/xpdev/sockwrap.h
+++ b/src/xpdev/sockwrap.h
@@ -106,6 +106,9 @@ union xp_sockaddr {
 #endif
 	struct sockaddr_storage	store;
 };
+
+#define xp_sockaddr_len(a) ((((struct sockaddr *)a)->sa_family == AF_INET6) ? sizeof(struct sockaddr_in6) : ((struct sockaddr *)a)->sa_len)
+
  
 
 /**********************************/