diff options
Diffstat (limited to 'libbb/get_console.c')
-rw-r--r-- | libbb/get_console.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libbb/get_console.c b/libbb/get_console.c index 0da27b1..36fe204 100644 --- a/libbb/get_console.c +++ b/libbb/get_console.c @@ -8,10 +8,8 @@ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ -//#include <sys/ioctl.h> #include "libbb.h" - /* From <linux/kd.h> */ enum { KDGKBTYPE = 0x4B33 }; /* get keyboard type */ @@ -70,3 +68,15 @@ int get_console_fd(void) bb_error_msg("can't open console"); return fd; /* total failure */ } + +/* From <linux/vt.h> */ +enum { + VT_ACTIVATE = 0x5606, /* make vt active */ + VT_WAITACTIVE = 0x5607 /* wait for vt active */ +}; + +void console_make_active(int fd, const int vt_num) +{ + xioctl(fd, VT_ACTIVATE, (void *)(ptrdiff_t)vt_num); + xioctl(fd, VT_WAITACTIVE, (void *)(ptrdiff_t)vt_num); +} |