From 4d5786544bb52c62fc1ae84d91684ef2268afa05 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Mon, 24 Aug 2020 12:29:30 -0400 Subject: add tcgetwinsize and tcsetwinsize functions, move struct winsize these have been adopted for future issue of POSIX as the outcome of Austin Group issue 1151, and are simply functions performing the roles of the historical ioctls. since struct winsize is being standardized along with them, its definition is moved to the appropriate header. there is some chance this will break source files that expect struct winsize to be defined by sys/ioctl.h without including termios.h. if this happens, further changes will be needed to have sys/ioctl.h expose it too. --- src/stdio/__fdopen.c | 1 + src/stdio/__stdout_write.c | 1 + src/termios/tcgetwinsize.c | 8 ++++++++ src/termios/tcsetwinsize.c | 8 ++++++++ src/unistd/isatty.c | 1 + 5 files changed, 19 insertions(+) create mode 100644 src/termios/tcgetwinsize.c create mode 100644 src/termios/tcsetwinsize.c (limited to 'src') diff --git a/src/stdio/__fdopen.c b/src/stdio/__fdopen.c index 116e78e5..616f4f99 100644 --- a/src/stdio/__fdopen.c +++ b/src/stdio/__fdopen.c @@ -1,6 +1,7 @@ #include "stdio_impl.h" #include #include +#include #include #include #include diff --git a/src/stdio/__stdout_write.c b/src/stdio/__stdout_write.c index dd1ec60f..5b413c79 100644 --- a/src/stdio/__stdout_write.c +++ b/src/stdio/__stdout_write.c @@ -1,5 +1,6 @@ #include "stdio_impl.h" #include +#include size_t __stdout_write(FILE *f, const unsigned char *buf, size_t len) { diff --git a/src/termios/tcgetwinsize.c b/src/termios/tcgetwinsize.c new file mode 100644 index 00000000..9b3a65a4 --- /dev/null +++ b/src/termios/tcgetwinsize.c @@ -0,0 +1,8 @@ +#include +#include +#include "syscall.h" + +int tcgetwinsize(int fd, struct winsize *wsz) +{ + return syscall(SYS_ioctl, fd, TIOCGWINSZ, wsz); +} diff --git a/src/termios/tcsetwinsize.c b/src/termios/tcsetwinsize.c new file mode 100644 index 00000000..e01d0e25 --- /dev/null +++ b/src/termios/tcsetwinsize.c @@ -0,0 +1,8 @@ +#include +#include +#include "syscall.h" + +int tcsetwinsize(int fd, const struct winsize *wsz) +{ + return syscall(SYS_ioctl, fd, TIOCSWINSZ, wsz); +} diff --git a/src/unistd/isatty.c b/src/unistd/isatty.c index 75a9c186..bc220c00 100644 --- a/src/unistd/isatty.c +++ b/src/unistd/isatty.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "syscall.h" int isatty(int fd) -- cgit v1.2.1