From 7190c0f1173a9ccb5a2528acd86b1a8620e15662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 4 Nov 2024 18:48:50 +0100 Subject: [PATCH] libroot: add tcgetwinsize() and tcsetwinsize() for POSIX.1/2024 Change-Id: I46c0b7b5b9c8e7c74278a6e10e9b83142db21d94 Reviewed-on: https://review.haiku-os.org/c/haiku/+/8520 Reviewed-by: waddlesplash --- headers/posix/termios.h | 2 ++ src/system/libroot/posix/termios.c | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/headers/posix/termios.h b/headers/posix/termios.h index bd98547a42..2f843111aa 100644 --- a/headers/posix/termios.h +++ b/headers/posix/termios.h @@ -234,6 +234,8 @@ extern int tcflow(int fd, int action); extern int tcflush(int fd, int queueSelector); extern pid_t tcgetsid(int fd); extern int tcsetsid(int fd, pid_t pid); +extern int tcgetwinsize(int fd, struct winsize* winsize); +extern int tcsetwinsize(int fd, const struct winsize* winsize); #ifdef __cplusplus } diff --git a/src/system/libroot/posix/termios.c b/src/system/libroot/posix/termios.c index 818157975a..ce0ebed5f4 100644 --- a/src/system/libroot/posix/termios.c +++ b/src/system/libroot/posix/termios.c @@ -194,3 +194,16 @@ tcsetsid(int fd, pid_t pid) return ioctl(fd, TIOCSCTTY, NULL); } + +int +tcgetwinsize(int fd, struct winsize* winsize) +{ + return ioctl(fd, TIOCGWINSZ, winsize, sizeof(*winsize)); +} + + +int +tcsetwinsize(int fd, const struct winsize* winsize) +{ + return ioctl(fd, TIOCSWINSZ, winsize, sizeof(*winsize)); +}