summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/socket.h4
-rw-r--r--sysdep/unix/io.c5
2 files changed, 7 insertions, 2 deletions
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 */
diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c
index 475d660c..f91b5278 100644
--- a/sysdep/unix/io.c
+++ b/sysdep/unix/io.c
@@ -588,9 +588,12 @@ static struct resclass sk_class = {
* This function creates a new socket resource. If you want to use it,
* you need to fill in all the required fields of the structure and
* call sk_open() to do the actual opening of the socket.
+ *
+ * The real function name is sock_new(), sk_new() is a macro wrapper
+ * to avoid collision with OpenSSL.
*/
sock *
-sk_new(pool *p)
+sock_new(pool *p)
{
sock *s = ralloc(p, &sk_class);
s->pool = p;