diff options
| author | landley <landley@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2006-03-27 23:23:43 +0000 |
|---|---|---|
| committer | landley <landley@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2006-03-27 23:23:43 +0000 |
| commit | ecf4c1d755182cb7f93fc608bddc058a9dc7c074 (patch) | |
| tree | 365577855e659e5c9e254cc93eb9073a43a518e9 | |
| parent | 03ae09853a23603be130492738f31b679553d948 (diff) | |
| download | busybox-w32-ecf4c1d755182cb7f93fc608bddc058a9dc7c074.tar.gz busybox-w32-ecf4c1d755182cb7f93fc608bddc058a9dc7c074.tar.bz2 busybox-w32-ecf4c1d755182cb7f93fc608bddc058a9dc7c074.zip | |
setlogcons, from Jan Kaszka.
git-svn-id: svn://busybox.net/trunk/busybox@14675 69ca8d6d-28ef-0310-b511-8ec308f3f277
| -rw-r--r-- | console-tools/Config.in | 6 | ||||
| -rw-r--r-- | console-tools/Makefile.in | 1 | ||||
| -rw-r--r-- | console-tools/setlogcons.c | 34 | ||||
| -rw-r--r-- | include/applets.h | 1 | ||||
| -rw-r--r-- | include/usage.h | 5 |
5 files changed, 47 insertions, 0 deletions
diff --git a/console-tools/Config.in b/console-tools/Config.in index bcc7c9b8d..34e83e194 100644 --- a/console-tools/Config.in +++ b/console-tools/Config.in | |||
| @@ -72,4 +72,10 @@ config CONFIG_SETKEYCODES | |||
| 72 | This program loads entries into the kernel's scancode-to-keycode | 72 | This program loads entries into the kernel's scancode-to-keycode |
| 73 | map, allowing unusual keyboards to generate usable keycodes. | 73 | map, allowing unusual keyboards to generate usable keycodes. |
| 74 | 74 | ||
| 75 | config CONFIG_SETLOGCONS | ||
| 76 | bool "setlogcons" | ||
| 77 | default n | ||
| 78 | help | ||
| 79 | This program redirects the output console of kernel messages. | ||
| 80 | |||
| 75 | endmenu | 81 | endmenu |
diff --git a/console-tools/Makefile.in b/console-tools/Makefile.in index f14e338e1..437bcd0ec 100644 --- a/console-tools/Makefile.in +++ b/console-tools/Makefile.in | |||
| @@ -21,6 +21,7 @@ CONSOLETOOLS-$(CONFIG_LOADKMAP) += loadkmap.o | |||
| 21 | CONSOLETOOLS-$(CONFIG_OPENVT) += openvt.o | 21 | CONSOLETOOLS-$(CONFIG_OPENVT) += openvt.o |
| 22 | CONSOLETOOLS-$(CONFIG_RESET) += reset.o | 22 | CONSOLETOOLS-$(CONFIG_RESET) += reset.o |
| 23 | CONSOLETOOLS-$(CONFIG_SETKEYCODES) += setkeycodes.o | 23 | CONSOLETOOLS-$(CONFIG_SETKEYCODES) += setkeycodes.o |
| 24 | CONSOLETOOLS-$(CONFIG_SETLOGCONS) += setlogcons.o | ||
| 24 | 25 | ||
| 25 | ifneq ($(strip $(CONSOLETOOLS-y)),) | 26 | ifneq ($(strip $(CONSOLETOOLS-y)),) |
| 26 | libraries-y+=$(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR) | 27 | libraries-y+=$(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR) |
diff --git a/console-tools/setlogcons.c b/console-tools/setlogcons.c new file mode 100644 index 000000000..1f0ac524e --- /dev/null +++ b/console-tools/setlogcons.c | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | /* | ||
| 2 | * setlogcons: Send kernel messages to the current console or to console N | ||
| 3 | * | ||
| 4 | * Copyright (C) 2006 by Jan Kiszka <jan.kiszka@web.de> | ||
| 5 | * | ||
| 6 | * Based on setlogcons (kbd-1.12) by Andries E. Brouwer | ||
| 7 | * | ||
| 8 | * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #include <stdio.h> | ||
| 12 | #include <stdlib.h> | ||
| 13 | #include <fcntl.h> | ||
| 14 | #include <sys/ioctl.h> | ||
| 15 | #include "busybox.h" | ||
| 16 | |||
| 17 | extern int setlogcons_main(int argc, char **argv) | ||
| 18 | { | ||
| 19 | struct { | ||
| 20 | char fn; | ||
| 21 | char subarg; | ||
| 22 | } arg; | ||
| 23 | |||
| 24 | arg.fn = 11; /* redirect kernel messages */ | ||
| 25 | arg.subarg = 0; /* to specified console (current as default) */ | ||
| 26 | |||
| 27 | if (argc == 2) | ||
| 28 | arg.subarg = atoi(argv[1]); | ||
| 29 | |||
| 30 | if (ioctl(bb_xopen("/dev/tty1", O_RDONLY), TIOCLINUX, &arg)) | ||
| 31 | bb_perror_msg_and_die("TIOCLINUX");; | ||
| 32 | |||
| 33 | return 0; | ||
| 34 | } | ||
diff --git a/include/applets.h b/include/applets.h index 95278d93e..0f239822c 100644 --- a/include/applets.h +++ b/include/applets.h | |||
| @@ -235,6 +235,7 @@ USE_SEQ(APPLET(seq, seq_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | |||
| 235 | USE_SETARCH(APPLET(setarch, setarch_main, _BB_DIR_BIN, _BB_SUID_NEVER)) | 235 | USE_SETARCH(APPLET(setarch, setarch_main, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 236 | USE_SETCONSOLE(APPLET(setconsole, setconsole_main, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 236 | USE_SETCONSOLE(APPLET(setconsole, setconsole_main, _BB_DIR_SBIN, _BB_SUID_NEVER)) |
| 237 | USE_SETKEYCODES(APPLET(setkeycodes, setkeycodes_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 237 | USE_SETKEYCODES(APPLET(setkeycodes, setkeycodes_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 238 | USE_SETLOGCONS(APPLET(setlogcons, setlogcons_main, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) | ||
| 238 | USE_SETSID(APPLET(setsid, setsid_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) | 239 | USE_SETSID(APPLET(setsid, setsid_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) |
| 239 | USE_FEATURE_SH_IS_ASH(APPLET_NOUSAGE(sh, ash_main, _BB_DIR_BIN, _BB_SUID_NEVER)) | 240 | USE_FEATURE_SH_IS_ASH(APPLET_NOUSAGE(sh, ash_main, _BB_DIR_BIN, _BB_SUID_NEVER)) |
| 240 | USE_FEATURE_SH_IS_HUSH(APPLET_NOUSAGE(sh, hush_main, _BB_DIR_BIN, _BB_SUID_NEVER)) | 241 | USE_FEATURE_SH_IS_HUSH(APPLET_NOUSAGE(sh, hush_main, _BB_DIR_BIN, _BB_SUID_NEVER)) |
diff --git a/include/usage.h b/include/usage.h index 660c9e702..21f305fe2 100644 --- a/include/usage.h +++ b/include/usage.h | |||
| @@ -2648,6 +2648,11 @@ | |||
| 2648 | #define setkeycodes_example_usage \ | 2648 | #define setkeycodes_example_usage \ |
| 2649 | "$ setkeycodes e030 127\n" | 2649 | "$ setkeycodes e030 127\n" |
| 2650 | 2650 | ||
| 2651 | #define setlogcons_trivial_usage \ | ||
| 2652 | "N" | ||
| 2653 | #define setlogcons_full_usage \ | ||
| 2654 | "Redirects the kernel output to console N (0 for current)." | ||
| 2655 | |||
| 2651 | #define setsid_trivial_usage \ | 2656 | #define setsid_trivial_usage \ |
| 2652 | "program [arg ...]" | 2657 | "program [arg ...]" |
| 2653 | #define setsid_full_usage \ | 2658 | #define setsid_full_usage \ |
