From de3f907f25d6cdead6f8d1cf754398756c6fccc3 Mon Sep 17 00:00:00 2001 From: monkuous <84319635+monkuous@users.noreply.github.com> Date: Sat, 15 Nov 2025 23:18:10 +0100 Subject: [PATCH] kernel: implement FIONREAD for ttys --- kernel-src/io/tty.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel-src/io/tty.c b/kernel-src/io/tty.c index a13703df..1f283898 100644 --- a/kernel-src/io/tty.c +++ b/kernel-src/io/tty.c @@ -385,6 +385,13 @@ int tty_ioctl(tty_t *tty, unsigned long req, void *arg, int *result, cred_t *cre size_t len = min(strlen(tty->name) + 1, TTY_NAME_MAX); return USERCOPY_POSSIBLY_TO_USER(arg, tty->name, len); } + case FIONREAD: { + MUTEX_ACQUIRE(&tty->readmutex); + int count = RINGBUFFER_DATACOUNT(&tty->readbuffer); + MUTEX_RELEASE(&tty->readmutex); + int status = USERCOPY_POSSIBLY_TO_USER(arg, &count, sizeof(count)); + return status; + } default: return ENOTTY; }