#include "privs.h"
#include "if.h"
+#include <sys/un.h>
#ifdef __OpenBSD__
#include <netmpls/mpls.h>
#endif
struct sockaddr sa;
struct sockaddr_in sin;
struct sockaddr_in6 sin6;
+ struct sockaddr_un sun;
#ifdef __OpenBSD__
struct sockaddr_mpls smpls;
struct sockaddr_rtlabel rtlabel;
/* Prototypes. */
extern int str2sockunion(const char *, union sockunion *);
extern const char *sockunion2str(const union sockunion *, char *, size_t);
+int in6addr_cmp(const struct in6_addr *addr1, const struct in6_addr *addr2);
extern int sockunion_cmp(const union sockunion *, const union sockunion *);
extern int sockunion_same(const union sockunion *, const union sockunion *);
extern unsigned int sockunion_hash(const union sockunion *);
union sockunion *);
extern int sockopt_ttl(int family, int sock, int ttl);
extern int sockopt_minttl(int family, int sock, int minttl);
-extern int sockopt_cork(int sock, int onoff);
extern int sockunion_socket(const union sockunion *su);
extern const char *inet_sutop(const union sockunion *su, char *str);
extern enum connect_result sockunion_connect(int fd, const union sockunion *su,
#ifdef _FRR_ATTRIBUTE_PRINTFRR
#pragma FRR printfrr_ext "%pSU" (union sockunion *)
+#pragma FRR printfrr_ext "%pSU" (struct sockaddr *)
+#pragma FRR printfrr_ext "%pSU" (struct sockaddr_storage *)
+#pragma FRR printfrr_ext "%pSU" (struct sockaddr_in *)
+#pragma FRR printfrr_ext "%pSU" (struct sockaddr_in6 *)
+#pragma FRR printfrr_ext "%pSU" (struct sockaddr_un *)
+
+/* AF_INET/PF_INET & co., using "PF" to avoid confusion with AFI/SAFI */
+#pragma FRR printfrr_ext "%dPF" (int)
+/* SOCK_STREAM & co. */
+#pragma FRR printfrr_ext "%dSO" (int)
#endif
#ifdef __cplusplus