diff --git a/console-server.c b/console-server.c
index 5c5d5f0..0ed358d 100644
--- a/console-server.c
+++ b/console-server.c
@@ -336,7 +336,7 @@
 
 }
 
-struct poller *console_register_poller(struct console *console,
+struct poller *console_poller_register(struct console *console,
 		struct handler *handler, poller_fn_t poller_fn,
 		int fd, int events, void *data)
 {
@@ -372,7 +372,7 @@
 	return poller;
 }
 
-void console_unregister_poller(struct console *console,
+void console_poller_unregister(struct console *console,
 		struct poller *poller)
 {
 	int i;
@@ -445,7 +445,7 @@
 		for (i = 0; i < console->n_pollers; i++) {
 			poller = console->pollers[i];
 			if (poller->remove) {
-				console_unregister_poller(console, poller);
+				console_poller_unregister(console, poller);
 				removed = true;
 				break;
 			}
diff --git a/console-server.h b/console-server.h
index 4d0d5b4..765fac7 100644
--- a/console-server.h
+++ b/console-server.h
@@ -41,7 +41,7 @@
 #define __handler_name(n) __handler_  ## n
 #define  _handler_name(n) __handler_name(n)
 
-#define console_register_handler(h) \
+#define console_handler_register(h) \
 	static const \
 		__attribute__((section("handlers"))) \
 		__attribute__((used)) \
@@ -61,11 +61,11 @@
 typedef enum poller_ret (*poller_fn_t)(struct handler *handler,
 					int revents, void *data);
 
-struct poller *console_register_poller(struct console *console,
+struct poller *console_poller_register(struct console *console,
 		struct handler *handler, poller_fn_t poller_fn,
 		int fd, int events, void *data);
 
-void console_unregister_poller(struct console *console, struct poller *poller);
+void console_poller_unregister(struct console *console, struct poller *poller);
 
 /* ringbuffer API */
 enum ringbuffer_poll_ret {
diff --git a/log-handler.c b/log-handler.c
index d931c65..29792e9 100644
--- a/log-handler.c
+++ b/log-handler.c
@@ -149,5 +149,5 @@
 	},
 };
 
-console_register_handler(&log_handler.handler);
+console_handler_register(&log_handler.handler);
 
diff --git a/socket-handler.c b/socket-handler.c
index 11f183c..24389c9 100644
--- a/socket-handler.c
+++ b/socket-handler.c
@@ -64,7 +64,7 @@
 
 	close(client->fd);
 	if (client->poller)
-		console_unregister_poller(sh->console, client->poller);
+		console_poller_unregister(sh->console, client->poller);
 
 	if (client->rbc)
 		ringbuffer_consumer_unregister(client->rbc);
@@ -222,7 +222,7 @@
 
 	client->sh = sh;
 	client->fd = fd;
-	client->poller = console_register_poller(sh->console, handler,
+	client->poller = console_poller_register(sh->console, handler,
 			client_poll, client->fd, POLLIN, client);
 	client->rbc = ringbuffer_consumer_register(sh->ringbuffer,
 			client_ringbuffer_poll, client);
@@ -276,7 +276,7 @@
 		return -1;
 	}
 
-	sh->poller = console_register_poller(console, handler, socket_poll,
+	sh->poller = console_poller_register(console, handler, socket_poll,
 			sh->sd, POLLIN, NULL);
 
 	return 0;
@@ -297,7 +297,7 @@
 		client_close(sh->clients[0]);
 
 	if (sh->poller)
-		console_unregister_poller(sh->console, sh->poller);
+		console_poller_unregister(sh->console, sh->poller);
 
 	if (sh->ringbuffer)
 		ringbuffer_fini(sh->ringbuffer);
@@ -314,5 +314,5 @@
 	},
 };
 
-console_register_handler(&socket_handler.handler);
+console_handler_register(&socket_handler.handler);
 
diff --git a/tty-handler.c b/tty-handler.c
index 5e36ee6..523743b 100644
--- a/tty-handler.c
+++ b/tty-handler.c
@@ -199,7 +199,7 @@
 	if (make_terminal_raw(th, tty_name) != 0)
 		fprintf(stderr, "Couldn't make %s a raw terminal\n", tty_name);
 
-	th->poller = console_register_poller(console, handler, tty_poll,
+	th->poller = console_poller_register(console, handler, tty_poll,
 			th->fd, POLLIN, NULL);
 	th->console = console;
 
@@ -216,7 +216,7 @@
 {
 	struct tty_handler *th = to_tty_handler(handler);
 	if (th->poller)
-		console_unregister_poller(th->console, th->poller);
+		console_poller_unregister(th->console, th->poller);
 	close(th->fd);
 }
 
@@ -229,5 +229,5 @@
 	},
 };
 
-console_register_handler(&tty_handler.handler);
+console_handler_register(&tty_handler.handler);
 
