void toggle_syscall_n(int calln, bool state, const char *arg, const char *arg_name) { if (calln == -1) { outputerr("No idea what syscall (%s) is.\n", arg); exit(EXIT_FAILURE); } validate_specific_syscall(syscalls, calln); if (state == TRUE) { syscalls[calln].entry->flags |= ACTIVE; activate_syscall(calln); } else { syscalls[calln].entry->flags |= TO_BE_DEACTIVATED; } output(0, "Marking syscall %s (%d) as to be %sabled.\n", arg_name, calln, state ? "en" : "dis"); }
static void toggle_syscall_biarch_n(int calln, const struct syscalltable *table, bool onlyflag, bool doflag, bool state, void (*activate)(unsigned int), int arch_bits, const char *arg_name) { if (calln != -1) { struct syscallentry *entry = table[calln].entry; validate_specific_syscall(table, calln); if ((state == TRUE) && onlyflag && doflag) { entry->flags |= ACTIVE; (*activate)(calln); } else { entry->flags |= TO_BE_DEACTIVATED; } } if ((arch_bits != 0) && (calln != -1)) output(0, "Marking %d-bit syscall %s (%d) as to be %sabled.\n", arch_bits, arg_name, calln, state ? "en" : "dis"); }