#include "../lib/sys/reboot.h" #include "../lib/cstr/cstr.h" #include "../lib/io/io.h" #include "../lib/sys/sync.h" int main(int argc, char **argv) { if (argc != 2) { wf(STDERR_FD, "powerctl [poweroff|reboot|halt|hard-reset|suspend]\n"); return -1; } char *command = argv[1]; sync(); if (cstr_compare(command, "poweroff")) { reboot(REBOOT_POWEROFF); } else if (cstr_compare(command, "reboot")) { reboot(REBOOT_RESTART); } else if (cstr_compare(command, "halt")) { reboot(REBOOT_HALT_SYSTEM); } else if (cstr_compare(command, "hard-reset")) { reboot(REBOOT_HARD_RESET); } else if (cstr_compare(command, "suspend")) { reboot(REBOOT_SUSPEND); } return -1; }