summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libc')
-rw-r--r--c/src/lib/libc/libio.h2
-rw-r--r--c/src/lib/libc/termios.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/c/src/lib/libc/libio.h b/c/src/lib/libc/libio.h
index 0826579805..3cc87d1d87 100644
--- a/c/src/lib/libc/libio.h
+++ b/c/src/lib/libc/libio.h
@@ -156,7 +156,7 @@ rtems_status_code rtems_termios_close (void *arg);
rtems_status_code rtems_termios_read (void *arg);
rtems_status_code rtems_termios_write (void *arg);
rtems_status_code rtems_termios_ioctl (void *arg);
-void rtems_termios_enqueue_raw_characters (void *ttyp, char *buf, int len);
+int rtems_termios_enqueue_raw_characters (void *ttyp, char *buf, int len);
void rtems_termios_dequeue_characters (void *ttyp, int len);
void rtems_termios_reserve_resources(
rtems_configuration_table *configuration,
diff --git a/c/src/lib/libc/termios.c b/c/src/lib/libc/termios.c
index a41817b28a..b2d1bb1499 100644
--- a/c/src/lib/libc/termios.c
+++ b/c/src/lib/libc/termios.c
@@ -837,8 +837,9 @@ rtems_termios_read (void *arg)
* Place characters on raw queue.
* NOTE: This routine runs in the context of the
* device receive interrupt handler.
+ * Returns the number of characters dropped because of overlow.
*/
-void
+int
rtems_termios_enqueue_raw_characters (void *ttyp, char *buf, int len)
{
struct rtems_termios_tty *tty = ttyp;
@@ -855,6 +856,7 @@ rtems_termios_enqueue_raw_characters (void *ttyp, char *buf, int len)
tty->rawInBufTail = newTail;
}
rtems_semaphore_release (tty->rawInBufSemaphore);
+ return len;
}
/*