diff options
author | Rob Landley <rob@landley.net> | 2006-03-27 23:23:43 +0000 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2006-03-27 23:23:43 +0000 |
commit | 87848d91c7b3dba9379237ba0bad31239f16e07a (patch) | |
tree | 365577855e659e5c9e254cc93eb9073a43a518e9 | |
parent | 28ff9668d93978c6bd7de72419bbd55bb1a092f5 (diff) | |
download | busybox-w32-87848d91c7b3dba9379237ba0bad31239f16e07a.tar.gz busybox-w32-87848d91c7b3dba9379237ba0bad31239f16e07a.tar.bz2 busybox-w32-87848d91c7b3dba9379237ba0bad31239f16e07a.zip |
setlogcons, from Jan Kaszka.
-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 \ |