-
-extern char *hostlookup(unsigned long);
-extern ipv4_t str2address(char*);
-extern char *address2str(ipv4_t);
-
-#endif /* __TINC_NETUTL_H__ */
+#include "packmsg.h"
+
+extern struct addrinfo *str2addrinfo(const char *, const char *, int) __attribute__((__malloc__));
+extern sockaddr_t str2sockaddr(const char *, const char *);
+extern void sockaddr2str(const sockaddr_t *, char **, char **);
+extern char *sockaddr2hostname(const sockaddr_t *) __attribute__((__malloc__));
+extern int sockaddrcmp(const sockaddr_t *, const sockaddr_t *);
+extern int sockaddrcmp_noport(const sockaddr_t *, const sockaddr_t *);
+extern void sockaddrunmap(sockaddr_t *);
+extern void sockaddrfree(sockaddr_t *);
+extern void sockaddrcpy(sockaddr_t *, const sockaddr_t *);
+extern void sockaddrcpy_setport(sockaddr_t *, const sockaddr_t *, uint16_t port);
+
+extern void packmsg_add_sockaddr(struct packmsg_output *out, const sockaddr_t *);
+extern sockaddr_t packmsg_get_sockaddr(struct packmsg_input *in);
+
+#endif