wok annotate busybox/stuff/busybox-1.25-shutdown.u @ rev 19597

Up: cURL (7.52.1)
author Alexander Medvedev <devl547@gmail.com>
date Sun Jan 01 17:49:15 2017 +0000 (2017-01-01)
parents
children
rev   line source
pascal@19340 1 --- busybox-1.25/init/halt.c
pascal@19340 2 +++ busybox-1.25/init/halt.c
pascal@19340 3 @@ -10,6 +10,7 @@
pascal@19340 4 //applet:IF_HALT(APPLET(halt, BB_DIR_SBIN, BB_SUID_DROP))
pascal@19340 5 //applet:IF_HALT(APPLET_ODDNAME(poweroff, halt, BB_DIR_SBIN, BB_SUID_DROP, poweroff))
pascal@19340 6 //applet:IF_HALT(APPLET_ODDNAME(reboot, halt, BB_DIR_SBIN, BB_SUID_DROP, reboot))
pascal@19340 7 +//applet:IF_HALT(APPLET_ODDNAME(shutdown, halt, BB_DIR_SBIN, BB_SUID_DROP, shutdown))
pascal@19340 8
pascal@19340 9 //kbuild:lib-$(CONFIG_HALT) += halt.o
pascal@19340 10
pascal@19340 11 @@ -65,6 +66,15 @@
pascal@19340 12 //usage: "\n -d SEC Delay interval"
pascal@19340 13 //usage: "\n -n Do not sync"
pascal@19340 14 //usage: "\n -f Force (don't go through init)"
pascal@19340 15 +//usage:
pascal@19340 16 +//usage:#define shutdown_trivial_usage
pascal@19340 17 +//usage: "[-rhHP]"
pascal@19340 18 +//usage:#define shutdown_full_usage "\n\n"
pascal@19340 19 +//usage: "Bring the system down\n"
pascal@19340 20 +//usage: "\n -r Do reboot"
pascal@19340 21 +//usage: "\n -h Do poweroff"
pascal@19340 22 +//usage: "\n -H Do halt"
pascal@19340 23 +//usage: "\n -P Do poweroff"
pascal@19340 24
pascal@19340 25 #include "libbb.h"
pascal@19340 26 #include "reboot.h"
pascal@19340 27 @@ -98,6 +108,7 @@
pascal@19340 28 int halt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
pascal@19340 29 int halt_main(int argc UNUSED_PARAM, char **argv)
pascal@19340 30 {
pascal@19340 31 + enum { HALT=0, POWEROFF=1, REBOOT=2, SHUTDOWN=3 };
pascal@19340 32 static const int magic[] = {
pascal@19340 33 RB_HALT_SYSTEM,
pascal@19340 34 RB_POWER_OFF,
pascal@19340 35 @@ -109,9 +120,19 @@
pascal@19340 36 int which, flags, rc;
pascal@19340 37
pascal@19340 38 /* Figure out which applet we're running */
pascal@19340 39 - for (which = 0; "hpr"[which] != applet_name[0]; which++)
pascal@19340 40 + for (which = 0; "hprs"[which] != applet_name[0]; which++)
pascal@19340 41 continue;
pascal@19340 42
pascal@19340 43 + if (which == SHUTDOWN) {
pascal@19340 44 + which = REBOOT;
pascal@19340 45 + switch (getopt32(argv, "rhPH")) {
pascal@19340 46 + case 2:
pascal@19340 47 + case 4: which = POWEROFF; break;
pascal@19340 48 + case 8: which = HALT;
pascal@19340 49 + }
pascal@19340 50 + flags = 0;
pascal@19340 51 + }
pascal@19340 52 + else {
pascal@19340 53 /* Parse and handle arguments */
pascal@19340 54 opt_complementary = "d+"; /* -d N */
pascal@19340 55 /* We support -w even if !ENABLE_FEATURE_WTMP,
pascal@19340 56 @@ -119,6 +140,7 @@
pascal@19340 57 * -i (shut down network interfaces) is ignored.
pascal@19340 58 */
pascal@19340 59 flags = getopt32(argv, "d:nfwi", &delay);
pascal@19340 60 + }
pascal@19340 61
pascal@19340 62 sleep(delay);
pascal@19340 63