busybox/console-tools/setconsole.c
<<
>>
Prefs
   1/* vi: set sw=4 ts=4: */
   2/*
   3 *  setconsole.c - redirect system console output
   4 *
   5 *  Copyright (C) 2004,2005  Enrik Berkhan <Enrik.Berkhan@inka.de>
   6 *  Copyright (C) 2008 Bernhard Reutner-Fischer
   7 *
   8 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
   9 */
  10
  11#include "libbb.h"
  12
  13int setconsole_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  14int setconsole_main(int argc UNUSED_PARAM, char **argv)
  15{
  16        const char *device = CURRENT_TTY;
  17        bool reset;
  18
  19#if ENABLE_FEATURE_SETCONSOLE_LONG_OPTIONS
  20        static const char setconsole_longopts[] ALIGN1 =
  21                "reset\0" No_argument "r"
  22                ;
  23        applet_long_options = setconsole_longopts;
  24#endif
  25        /* at most one non-option argument */
  26        opt_complementary = "?1";
  27        reset = getopt32(argv, "r");
  28
  29        argv += 1 + reset;
  30        if (*argv) {
  31                device = *argv;
  32        } else {
  33                if (reset)
  34                        device = DEV_CONSOLE;
  35        }
  36
  37        xioctl(xopen(device, O_RDONLY), TIOCCONS, NULL);
  38        return EXIT_SUCCESS;
  39}
  40