fgconsole: new applet by Grigory Batalov
No binary (build failed)
—
(log yok)
| @@ -12,6 +12,12 @@ config CHVT | |
| This program is used to change to another terminal. | |
| Example: chvt 4 (change to terminal /dev/tty4) | |
| + | config FGCONSOLE |
| + | bool "fgconsole" |
| + | default n |
| + | help |
| + | This program prints active (foreground) console number. |
| + | |
| config CLEAR | |
| bool "clear" | |
| default n | |
| @@ -6,6 +6,7 @@ | |
| lib-y:= | |
| lib-$(CONFIG_CHVT) += chvt.o | |
| + | lib-$(CONFIG_FGCONSOLE) += fgconsole.o |
| lib-$(CONFIG_CLEAR) += clear.o | |
| lib-$(CONFIG_DEALLOCVT) += deallocvt.o | |
| lib-$(CONFIG_DUMPKMAP) += dumpkmap.o | |
| @@ -0,0 +1,30 @@ | |
| + | /* vi: set sw=4 ts=4: */ |
| + | /* |
| + | * Mini fgconsole implementation for busybox |
| + | * |
| + | * Copyright (C) 2010 by Grigory Batalov <[email protected]> |
| + | * |
| + | * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. |
| + | */ |
| + | |
| + | #include "libbb.h" |
| + | |
| + | /* From <linux/vt.h> */ |
| + | struct vt_stat { |
| + | unsigned short v_active; /* active vt */ |
| + | unsigned short v_signal; /* signal to send */ |
| + | unsigned short v_state; /* vt bitmask */ |
| + | }; |
| + | enum { VT_GETSTATE = 0x5603 }; /* get global vt state info */ |
| + | |
| + | int fgconsole_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
| + | int fgconsole_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) |
| + | { |
| + | struct vt_stat vtstat; |
| + | |
| + | vtstat.v_active = 0; |
| + | xioctl(get_console_fd_or_die(), VT_GETSTATE, &vtstat); |
| + | printf("%d\n", vtstat.v_active); |
| + | |
| + | return EXIT_SUCCESS; |
| + | } |
| @@ -157,6 +157,7 @@ IF_FBSPLASH(APPLET(fbsplash, _BB_DIR_SBIN, _BB_SUID_DROP)) | |
| IF_FDFLUSH(APPLET_ODDNAME(fdflush, freeramdisk, _BB_DIR_BIN, _BB_SUID_DROP, fdflush)) | |
| IF_FDFORMAT(APPLET(fdformat, _BB_DIR_USR_BIN, _BB_SUID_DROP)) | |
| IF_FDISK(APPLET(fdisk, _BB_DIR_SBIN, _BB_SUID_DROP)) | |
| + | IF_FGCONSOLE(APPLET(fgconsole, _BB_DIR_USR_BIN, _BB_SUID_DROP)) |
| IF_FEATURE_GREP_FGREP_ALIAS(APPLET_ODDNAME(fgrep, grep, _BB_DIR_BIN, _BB_SUID_DROP, fgrep)) | |
| IF_FIND(APPLET_NOEXEC(find, find, _BB_DIR_USR_BIN, _BB_SUID_DROP, find)) | |
| IF_FINDFS(APPLET(findfs, _BB_DIR_SBIN, _BB_SUID_MAYBE)) | |
| @@ -156,6 +156,11 @@ | |
| "\n -r Repetitions" \ | |
| "\n -n Start new tone" \ | |
| + | #define blkid_trivial_usage \ |
| + | "" |
| + | #define blkid_full_usage "\n\n" \ |
| + | "Print UUIDs of all filesystems" |
| + | |
| #define bootchartd_trivial_usage \ | |
| "start [PROG ARGS]|stop|init" | |
| #define bootchartd_full_usage "\n\n" \ | |
| @@ -1243,10 +1248,10 @@ | |
| "\n -H HEADS" \ | |
| "\n -S SECTORS" \ | |
| - | #define blkid_trivial_usage \ |
| - | "" |
| - | #define blkid_full_usage "\n\n" \ |
| - | "Print UUIDs of all filesystems" |
| + | #define fgconsole_trivial_usage \ |
| + | "" |
| + | #define fgconsole_full_usage "\n\n" \ |
| + | "Get active console" |
| #define findfs_trivial_usage \ | |
| "LABEL=label or UUID=uuid" | |
| @@ -287,6 +287,7 @@ CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y | |
| # Console Utilities | |
| # | |
| CONFIG_CHVT=y | |
| + | CONFIG_FGCONSOLE=n |
| CONFIG_CLEAR=y | |
| CONFIG_DEALLOCVT=y | |
| CONFIG_DUMPKMAP=y | |