aboutsummaryrefslogtreecommitdiff
path: root/libbb/get_console.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbb/get_console.c')
-rw-r--r--libbb/get_console.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/libbb/get_console.c b/libbb/get_console.c
index 0da27b1e2..36fe20426 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);
+}