Index: uspace/lib/gui/terminal.c
===================================================================
--- uspace/lib/gui/terminal.c	(revision 38d150e6238ab44c861f6486e46454e07caeb0f0)
+++ uspace/lib/gui/terminal.c	(revision c821184900f17ef522a28aef06369f66ec1d6e4c)
@@ -64,6 +64,6 @@
 static int term_open(con_srvs_t *, con_srv_t *);
 static int term_close(con_srv_t *);
-static int term_read(con_srv_t *, void *, size_t);
-static int term_write(con_srv_t *, void *, size_t);
+static int term_read(con_srv_t *, void *, size_t, size_t *);
+static int term_write(con_srv_t *, void *, size_t, size_t *);
 static void term_sync(con_srv_t *);
 static void term_clear(con_srv_t *);
@@ -386,5 +386,5 @@
 }
 
-static int term_read(con_srv_t *srv, void *buf, size_t size)
+static int term_read(con_srv_t *srv, void *buf, size_t size, size_t *nread)
 {
 	terminal_t *term = srv_to_terminal(srv);
@@ -431,5 +431,6 @@
 	}
 	
-	return size;
+	*nread = size;
+	return EOK;
 }
 
@@ -462,5 +463,5 @@
 }
 
-static int term_write(con_srv_t *srv, void *data, size_t size)
+static int term_write(con_srv_t *srv, void *data, size_t size, size_t *nwritten)
 {
 	terminal_t *term = srv_to_terminal(srv);
@@ -470,5 +471,6 @@
 		term_write_char(term, str_decode(data, &off, size));
 	
-	return size;
+	*nwritten = size;
+	return EOK;
 }
 
