#include "kernel/calls.h" #define PRCTL_SET_KEEPCAPS_ 8 int_t sys_prctl(dword_t option, uint_t UNUSED(arg2), uint_t UNUSED(arg3), uint_t UNUSED(arg4), uint_t UNUSED(arg5)) { switch (option) { case PRCTL_SET_KEEPCAPS_: // stub return 0; default: STRACE("prctl(%#x)", option); return _EINVAL; } } int_t sys_arch_prctl(int_t code, addr_t addr) { STRACE("arch_prctl(%#x, %#x)", code, addr); return _EINVAL; } #define REBOOT_MAGIC1 0xfee1dead #define REBOOT_MAGIC2 672274793 #define REBOOT_MAGIC2A 85072278 #define REBOOT_MAGIC2B 369367448 #define REBOOT_MAGIC2C 537993216 #define REBOOT_CMD_CAD_OFF 0 #define REBOOT_CMD_CAD_ON 0x89abcdef int_t sys_reboot(int_t magic, int_t magic2, int_t cmd) { STRACE("reboot(%#x, %d, %d)", magic, magic2, cmd); if (!superuser()) return _EPERM; if (magic != (int) REBOOT_MAGIC1 || (magic2 != REBOOT_MAGIC2 && magic2 != REBOOT_MAGIC2A && magic2 != REBOOT_MAGIC2B && magic2 != REBOOT_MAGIC2C)) return _EINVAL; switch (cmd) { case REBOOT_CMD_CAD_ON: case REBOOT_CMD_CAD_OFF: return 0; default: return _EPERM; } }