MPERS_PRINTER_DECL(void, printsiginfo_at, struct tcb *const tcp, const kernel_ulong_t addr) { siginfo_t si; if (!umove_or_printaddr(tcp, addr, &si)) printsiginfo(&si); }
MPERS_PRINTER_DECL(void, printsiginfo_at, struct tcb *tcp, long addr) { siginfo_t si; if (!umove_or_printaddr(tcp, addr, &si)) printsiginfo(&si); }
void printsiginfo_at(struct tcb *tcp, long addr) { siginfo_t si; if (!addr) { tprints("NULL"); return; } if (syserror(tcp)) { tprintf("%#lx", addr); return; } if (umove(tcp, addr, &si) < 0) { tprints("{???}"); return; } printsiginfo(&si, verbose(tcp)); }
static bool print_siginfo_t(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data) { printsiginfo((const siginfo_t *) elem_buf); return true; }