diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/event.c | 3 | ||||
-rw-r--r-- | lib/ip.h | 6 | ||||
-rw-r--r-- | lib/ipv4.h | 2 | ||||
-rw-r--r-- | lib/socket.h | 4 |
4 files changed, 12 insertions, 3 deletions
diff --git a/lib/event.c b/lib/event.c index d556cd0..ce5e81c 100644 --- a/lib/event.c +++ b/lib/event.c @@ -49,7 +49,8 @@ static struct resclass ev_class = { "Event", sizeof(event), (void (*)(resource *)) ev_postpone, - ev_dump + ev_dump, + NULL }; /** @@ -46,10 +46,14 @@ char *ip_scope_text(unsigned); struct prefix { ip_addr addr; - int len; + unsigned int len; }; #define ip_is_prefix(a,l) (!ipa_nonzero(ipa_and(a, ipa_not(ipa_mkmask(l))))) +#define ipa_zero(x) (!ipa_nonzero(x)) + +static inline int ipa_classify_net(ip_addr a) +{ return ipa_zero(a) ? (IADDR_HOST | SCOPE_UNIVERSE) : ipa_classify(a); } /* * Conversions between internal and string representation @@ -72,7 +72,7 @@ int ipv4_classify(u32); u32 ipv4_class_mask(u32); byte *ipv4_skip_header(byte *, int *); -static inline int ipv4_has_link_scope(u32 a) +static inline int ipv4_has_link_scope(u32 a UNUSED) { return 0; } diff --git a/lib/socket.h b/lib/socket.h index a21075e..e6ce125 100644 --- a/lib/socket.h +++ b/lib/socket.h @@ -9,6 +9,8 @@ #ifndef _BIRD_SOCKET_H_ #define _BIRD_SOCKET_H_ +#include <errno.h> + #include "lib/resource.h" typedef struct birdsock { @@ -67,6 +69,8 @@ int sk_leave_group(sock *s, ip_addr maddr); int sk_set_ipv6_checksum(sock *s, int offset); #endif +int sk_set_broadcast(sock *s, int enable); + static inline int sk_send_buffer_empty(sock *sk) { |