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 /console-tools | |
| parent | 28ff9668d93978c6bd7de72419bbd55bb1a092f5 (diff) | |
| download | busybox-87848d91c7b3dba9379237ba0bad31239f16e07a.tar.gz | |
setlogcons, from Jan Kaszka.
Diffstat (limited to 'console-tools')
| -rw-r--r-- | console-tools/Config.in | 6 | ||||
| -rw-r--r-- | console-tools/Makefile.in | 1 | ||||
| -rw-r--r-- | console-tools/setlogcons.c | 34 | 
3 files changed, 41 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  	  This program loads entries into the kernel's scancode-to-keycode  	  map, allowing unusual keyboards to generate usable keycodes. +config CONFIG_SETLOGCONS +	bool "setlogcons" +	default n +	help +	  This program redirects the output console of kernel messages. +  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  CONSOLETOOLS-$(CONFIG_OPENVT)	+= openvt.o  CONSOLETOOLS-$(CONFIG_RESET)	+= reset.o  CONSOLETOOLS-$(CONFIG_SETKEYCODES)	+= setkeycodes.o +CONSOLETOOLS-$(CONFIG_SETLOGCONS)	+= setlogcons.o  ifneq ($(strip $(CONSOLETOOLS-y)),)  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 @@ +/* + * setlogcons: Send kernel messages to the current console or to console N  + * + * Copyright (C) 2006 by Jan Kiszka <jan.kiszka@web.de> + * + * Based on setlogcons (kbd-1.12) by Andries E. Brouwer + * + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <sys/ioctl.h> +#include "busybox.h" + +extern int setlogcons_main(int argc, char **argv) +{ +	struct { +		char fn; +		char subarg; +	} arg; + +	arg.fn = 11;    /* redirect kernel messages */ +	arg.subarg = 0; /* to specified console (current as default) */ + +	if (argc == 2) +		arg.subarg = atoi(argv[1]); + +	if (ioctl(bb_xopen("/dev/tty1", O_RDONLY), TIOCLINUX, &arg)) +		bb_perror_msg_and_die("TIOCLINUX");; + +	return 0; +}  | 
