summaryrefslogtreecommitdiffstats
path: root/lib/sockunion.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sockunion.h')
-rw-r--r--lib/sockunion.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/sockunion.h b/lib/sockunion.h
index eeae72d5..54aa6bc3 100644
--- a/lib/sockunion.h
+++ b/lib/sockunion.h
@@ -98,11 +98,18 @@ struct sockunion_string
#define sock2ip6(X) (((struct sockaddr_in6 *)(X))->sin6_addr.s6_addr)
#endif /* HAVE_IPV6 */
-#define sockunion_family(X) (X)->sa.sa_family
+inline static sa_family_t
+sockunion_family(sockunion su)
+{
+ return su->sa.sa_family ;
+} ;
/* Prototypes. */
extern sockunion sockunion_init_new(sockunion su, sa_family_t family) ;
+extern afi_t sockunion_get_afi(sockunion su) ;
extern int sockunion_get_len(sockunion su) ;
+extern int sockunion_get_addr_len(sockunion su) ;
+extern void* sockunion_get_addr(sockunion su) ;
extern int sockunion_set_port(sockunion su, in_port_t port) ;
extern int str2sockunion (const char * str, sockunion su);
extern const char *sockunion2str (sockunion su, char* buf, size_t size);