]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/sockunion.h
Merge pull request #10763 from donaldsharp/plist_speedup
[mirror_frr.git] / lib / sockunion.h
old mode 100755 (executable)
new mode 100644 (file)
index 5e80ba1..8ace3e4
@@ -24,6 +24,7 @@
 
 #include "privs.h"
 #include "if.h"
+#include <sys/un.h>
 #ifdef __OpenBSD__
 #include <netmpls/mpls.h>
 #endif
@@ -36,6 +37,7 @@ union sockunion {
        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;
@@ -71,6 +73,7 @@ enum connect_result { connect_error, connect_success, connect_in_progress };
 /* 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 *);
@@ -92,7 +95,6 @@ extern int sockunion_bind(int sock, union sockunion *, unsigned short,
                          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,
@@ -106,6 +108,16 @@ extern int sockunion_is_null(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