diff --git a/msg.c b/msg.c
index de19b05..107a376 100644
--- a/msg.c
+++ b/msg.c
@@ -31,43 +31,43 @@
 #include "msg.h"
 
 void
-msg_send(int fd, u_char type, Buffer *m)
+ssh_msg_send(int fd, u_char type, Buffer *m)
 {
 	u_char buf[5];
 	u_int mlen = buffer_len(m);
 
-	debug3("msg_send: type %u", (unsigned int)type & 0xff);
+	debug3("ssh_msg_send: type %u", (unsigned int)type & 0xff);
 
 	PUT_32BIT(buf, mlen + 1);
 	buf[4] = type;		/* 1st byte of payload is mesg-type */
 	if (atomicio(write, fd, buf, sizeof(buf)) != sizeof(buf))
-		fatal("msg_send: write");
+		fatal("ssh_msg_send: write");
 	if (atomicio(write, fd, buffer_ptr(m), mlen) != mlen)
-		fatal("msg_send: write");
+		fatal("ssh_msg_send: write");
 }
 
 int
-msg_recv(int fd, Buffer *m)
+ssh_msg_recv(int fd, Buffer *m)
 {
 	u_char buf[4];
 	ssize_t res;
 	u_int msg_len;
 
-	debug3("msg_recv entering");
+	debug3("ssh_msg_recv entering");
 
 	res = atomicio(read, fd, buf, sizeof(buf));
 	if (res != sizeof(buf)) {
 		if (res == 0)
 			return -1;
-		fatal("msg_recv: read: header %ld", (long)res);
+		fatal("ssh_msg_recv: read: header %ld", (long)res);
 	}
 	msg_len = GET_32BIT(buf);
 	if (msg_len > 256 * 1024)
-		fatal("msg_recv: read: bad msg_len %u", msg_len);
+		fatal("ssh_msg_recv: read: bad msg_len %u", msg_len);
 	buffer_clear(m);
 	buffer_append_space(m, msg_len);
 	res = atomicio(read, fd, buffer_ptr(m), msg_len);
 	if (res != msg_len)
-		fatal("msg_recv: read: %ld != msg_len", (long)res);
+		fatal("ssh_msg_recv: read: %ld != msg_len", (long)res);
 	return 0;
 }
