// SPDX-License-Identifier: LGPL-2.1 #include <signal.h> static size_t syscall_arg__scnprintf_signum(char *bf, size_t size, struct syscall_arg *arg) { bool show_prefix = arg->show_string_prefix; const char *prefix = "SIG"; int sig = arg->val; switch (sig) { #define P_SIGNUM(n) case SIG##n: return scnprintf(bf, size, "%s%s", show_prefix ? prefix : "", #n) P_SIGNUM(HUP); P_SIGNUM(INT); P_SIGNUM(QUIT); P_SIGNUM(ILL); P_SIGNUM(TRAP); P_SIGNUM(ABRT); P_SIGNUM(BUS); P_SIGNUM(FPE); P_SIGNUM(KILL); P_SIGNUM(USR1); P_SIGNUM(SEGV); P_SIGNUM(USR2); P_SIGNUM(PIPE); P_SIGNUM(ALRM); P_SIGNUM(TERM); P_SIGNUM(CHLD); P_SIGNUM(CONT); P_SIGNUM(STOP); P_SIGNUM(TSTP); P_SIGNUM(TTIN); P_SIGNUM(TTOU); P_SIGNUM(URG); P_SIGNUM(XCPU); P_SIGNUM(XFSZ); P_SIGNUM(VTALRM); P_SIGNUM(PROF); P_SIGNUM(WINCH); P_SIGNUM(IO); P_SIGNUM(PWR); P_SIGNUM(SYS); #ifdef SIGEMT P_SIGNUM(EMT); #endif #ifdef SIGSTKFLT P_SIGNUM(STKFLT); #endif #ifdef SIGSWI P_SIGNUM(SWI); #endif default: break; } return scnprintf(bf, size, "%#x", sig); } #define SCA_SIGNUM syscall_arg__scnprintf_signum