#include "defs.h" #include static const struct xlat bootflags1[] = { XLAT(LINUX_REBOOT_MAGIC1), XLAT_END }; static const struct xlat bootflags2[] = { XLAT(LINUX_REBOOT_MAGIC2), XLAT(LINUX_REBOOT_MAGIC2A), XLAT(LINUX_REBOOT_MAGIC2B), XLAT(LINUX_REBOOT_MAGIC2C), XLAT_END }; static const struct xlat bootflags3[] = { XLAT(LINUX_REBOOT_CMD_RESTART), XLAT(LINUX_REBOOT_CMD_HALT), XLAT(LINUX_REBOOT_CMD_CAD_ON), XLAT(LINUX_REBOOT_CMD_CAD_OFF), XLAT(LINUX_REBOOT_CMD_POWER_OFF), XLAT(LINUX_REBOOT_CMD_RESTART2), XLAT(LINUX_REBOOT_CMD_SW_SUSPEND), XLAT(LINUX_REBOOT_CMD_KEXEC), XLAT_END }; int sys_reboot(struct tcb *tcp) { if (exiting(tcp)) return 0; printflags(bootflags1, tcp->u_arg[0], "LINUX_REBOOT_MAGIC_???"); tprints(", "); printflags(bootflags2, tcp->u_arg[1], "LINUX_REBOOT_MAGIC_???"); tprints(", "); printflags(bootflags3, tcp->u_arg[2], "LINUX_REBOOT_CMD_???"); if (tcp->u_arg[2] == LINUX_REBOOT_CMD_RESTART2) { tprints(", "); printstr(tcp, tcp->u_arg[3], -1); } return 0; }