linux/tools/perf/trace/beauty/signum.c
<<
>>
Prefs
   1// SPDX-License-Identifier: LGPL-2.1
   2#include <signal.h>
   3
   4static size_t syscall_arg__scnprintf_signum(char *bf, size_t size, struct syscall_arg *arg)
   5{
   6        bool show_prefix = arg->show_string_prefix;
   7        const char *prefix = "SIG";
   8        int sig = arg->val;
   9
  10        switch (sig) {
  11#define P_SIGNUM(n) case SIG##n: return scnprintf(bf, size, "%s%s", show_prefix ? prefix : "", #n)
  12        P_SIGNUM(HUP);
  13        P_SIGNUM(INT);
  14        P_SIGNUM(QUIT);
  15        P_SIGNUM(ILL);
  16        P_SIGNUM(TRAP);
  17        P_SIGNUM(ABRT);
  18        P_SIGNUM(BUS);
  19        P_SIGNUM(FPE);
  20        P_SIGNUM(KILL);
  21        P_SIGNUM(USR1);
  22        P_SIGNUM(SEGV);
  23        P_SIGNUM(USR2);
  24        P_SIGNUM(PIPE);
  25        P_SIGNUM(ALRM);
  26        P_SIGNUM(TERM);
  27        P_SIGNUM(CHLD);
  28        P_SIGNUM(CONT);
  29        P_SIGNUM(STOP);
  30        P_SIGNUM(TSTP);
  31        P_SIGNUM(TTIN);
  32        P_SIGNUM(TTOU);
  33        P_SIGNUM(URG);
  34        P_SIGNUM(XCPU);
  35        P_SIGNUM(XFSZ);
  36        P_SIGNUM(VTALRM);
  37        P_SIGNUM(PROF);
  38        P_SIGNUM(WINCH);
  39        P_SIGNUM(IO);
  40        P_SIGNUM(PWR);
  41        P_SIGNUM(SYS);
  42#ifdef SIGEMT
  43        P_SIGNUM(EMT);
  44#endif
  45#ifdef SIGSTKFLT
  46        P_SIGNUM(STKFLT);
  47#endif
  48#ifdef SIGSWI
  49        P_SIGNUM(SWI);
  50#endif
  51        default: break;
  52        }
  53
  54        return scnprintf(bf, size, "%#x", sig);
  55}
  56
  57#define SCA_SIGNUM syscall_arg__scnprintf_signum
  58