summaryrefslogtreecommitdiff
path: root/libbb/get_console.c
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer2008-05-19 08:18:50 +0000
committerBernhard Reutner-Fischer2008-05-19 08:18:50 +0000
commitae4342ca3e30f7b11732ecda3ad15821e81bc314 (patch)
tree1878104940eac4649bc8add4d0b2893ab1cb0a94 /libbb/get_console.c
parentee56e013cfb6304f66129afee7978b0864699419 (diff)
downloadbusybox-ae4342ca3e30f7b11732ecda3ad15821e81bc314.zip
busybox-ae4342ca3e30f7b11732ecda3ad15821e81bc314.tar.gz
- Rename getpty() to xgetpty() and adjust callers.
- Rewrite kbd_mode and setconsole - Introduce and use console_make_active() and xopen_xwrite_close() - honour buffer-reservation method as set by the user (dumpkmap, loadkmap) - shrink rtcwake and some console-tools Saves about 270 Bytes
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 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);
+}