summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/lists.h3
-rw-r--r--lib/socket.h4
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/lists.h b/lib/lists.h
index 6fab12c4..0b0fdbe3 100644
--- a/lib/lists.h
+++ b/lib/lists.h
@@ -34,7 +34,8 @@ typedef struct list { /* In fact two overlayed nodes */
#define HEAD(list) ((void *)((list).head))
#define TAIL(list) ((void *)((list).tail))
#define NODE_NEXT(n) ((void *)((NODE (n))->next))
-#define WALK_LIST(n,list) for(n=HEAD(list);(NODE (n))->next; n=NODE_NEXT(n))
+#define NODE_VALID(n) ((NODE (n))->next)
+#define WALK_LIST(n,list) for(n=HEAD(list); NODE_VALID(n); n=NODE_NEXT(n))
#define WALK_LIST_DELSAFE(n,nxt,list) \
for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt)
/* WALK_LIST_FIRST supposes that called code removes each processed node */
diff --git a/lib/socket.h b/lib/socket.h
index b0c3eda2..0ee43b52 100644
--- a/lib/socket.h
+++ b/lib/socket.h
@@ -48,7 +48,9 @@ typedef struct birdsock {
char *password; /* Password for MD5 authentication */
} sock;
-sock *sk_new(pool *); /* Allocate new socket */
+sock *sock_new(pool *); /* Allocate new socket */
+#define sk_new(X) sock_new(X) /* Wrapper to avoid name collision with OpenSSL */
+
int sk_open(sock *); /* Open socket */
int sk_send(sock *, unsigned len); /* Send data, <0=err, >0=ok, 0=sleep */
int sk_send_to(sock *, unsigned len, ip_addr to, unsigned port); /* sk_send to given destination */