aboutsummaryrefslogtreecommitdiff
path: root/console-tools/fgconsole.c
diff options
context:
space:
mode:
Diffstat (limited to 'console-tools/fgconsole.c')
-rw-r--r--console-tools/fgconsole.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/console-tools/fgconsole.c b/console-tools/fgconsole.c
new file mode 100644
index 000000000..75fd98fd5
--- /dev/null
+++ b/console-tools/fgconsole.c
@@ -0,0 +1,30 @@
1/* vi: set sw=4 ts=4: */
2/*
3 * Mini fgconsole implementation for busybox
4 *
5 * Copyright (C) 2010 by Grigory Batalov <bga@altlinux.org>
6 *
7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
8 */
9
10#include "libbb.h"
11
12/* From <linux/vt.h> */
13struct vt_stat {
14 unsigned short v_active; /* active vt */
15 unsigned short v_signal; /* signal to send */
16 unsigned short v_state; /* vt bitmask */
17};
18enum { VT_GETSTATE = 0x5603 }; /* get global vt state info */
19
20int fgconsole_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
21int fgconsole_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
22{
23 struct vt_stat vtstat;
24
25 vtstat.v_active = 0;
26 xioctl(get_console_fd_or_die(), VT_GETSTATE, &vtstat);
27 printf("%d\n", vtstat.v_active);
28
29 return EXIT_SUCCESS;
30}