| 57 | /* print bpf stats */ |
| 58 | |
| 59 | static char * |
| 60 | bpf_pidname(pid_t pid) |
| 61 | { |
| 62 | struct kinfo_proc newkp; |
| 63 | int error, mib[4]; |
| 64 | size_t size; |
| 65 | |
| 66 | mib[0] = CTL_KERN; |
| 67 | mib[1] = KERN_PROC; |
| 68 | mib[2] = KERN_PROC_PID; |
| 69 | mib[3] = pid; |
| 70 | size = sizeof(newkp); |
| 71 | error = sysctl(mib, 4, &newkp, &size, NULL, 0); |
| 72 | if (error < 0) { |
| 73 | xo_warn("kern.proc.pid failed"); |
| 74 | return (strdup("??????")); |
| 75 | } |
| 76 | return (strdup(newkp.ki_comm)); |
| 77 | } |
| 78 | |
| 79 | static void |
| 80 | bpf_flags(struct xbpf_d *bd, char *flagbuf) |