blob: e2dba4860a3725a6bf9313b814c1c32db275d2c4 [file] [log] [blame]
Grigory Batalovad7a5d42010-05-23 23:22:10 +02001/* 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 *
Denys Vlasenko0ef64bd2010-08-16 20:14:46 +02007 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
Grigory Batalovad7a5d42010-05-23 23:22:10 +02008 */
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}