summaryrefslogtreecommitdiff
path: root/console-tools/setlogcons.c (plain)
blob: 2ea36f0397c1f3df51ff431e59675fc1d84203ba
1/* vi: set sw=4 ts=4: */
2/*
3 * setlogcons: Send kernel messages to the current console or to console N
4 *
5 * Copyright (C) 2006 by Jan Kiszka <jan.kiszka@web.de>
6 *
7 * Based on setlogcons (kbd-1.12) by Andries E. Brouwer
8 *
9 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
10 */
11//config:config SETLOGCONS
12//config: bool "setlogcons"
13//config: default y
14//config: select PLATFORM_LINUX
15//config: help
16//config: This program redirects the output console of kernel messages.
17
18//applet:IF_SETLOGCONS(APPLET(setlogcons, BB_DIR_USR_SBIN, BB_SUID_DROP))
19
20//kbuild:lib-$(CONFIG_SETLOGCONS) += setlogcons.o
21
22//usage:#define setlogcons_trivial_usage
23//usage: "[N]"
24//usage:#define setlogcons_full_usage "\n\n"
25//usage: "Redirect the kernel output to console N. Default:0 (current console)"
26
27#include "libbb.h"
28
29int setlogcons_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
30int setlogcons_main(int argc UNUSED_PARAM, char **argv)
31{
32 struct {
33 char fn;
34 char subarg;
35 } arg = {
36 11, /* redirect kernel messages */
37 0 /* to specified console (current as default) */
38 };
39
40 if (argv[1])
41 arg.subarg = xatou_range(argv[1], 0, 63);
42
43 xioctl(xopen(VC_1, O_RDONLY), TIOCLINUX, &arg);
44
45 return EXIT_SUCCESS;
46}
47