Lines Matching refs:pi
41 struct proc_info pi;
65 if (fi->pi.pid != TT.last_shown_pid)
66 printf("%d\n", TT.last_shown_pid = fi->pi.pid);
76 fi->pi.cmd, fi->pi.pid, getusername(fi->pi.uid),
94 snprintf(toybuf, sizeof(toybuf), "/proc/%d/fdinfo/%s", fi->pi.pid, fi->fd);
289 struct file_info *new_file_info(struct proc_info *pi, const char *fd)
295 fi->pi = *pi;
305 static void visit_symlink(struct proc_info *pi, char *name, char *path)
307 struct file_info *fi = new_file_info(pi, "");
312 snprintf(toybuf, sizeof(toybuf), "/proc/%d/%s", pi->pid, path);
316 snprintf(toybuf, sizeof(toybuf), "/proc/%d/fd/%s", pi->pid, path);
329 static void visit_maps(struct proc_info *pi)
338 snprintf(toybuf, sizeof(toybuf), "/proc/%d/maps", pi->pid);
352 fi = new_file_info(pi, "mem");
361 static void visit_fds(struct proc_info *pi)
366 snprintf(toybuf, sizeof(toybuf), "/proc/%d/fd", pi->pid);
368 struct file_info *fi = new_file_info(pi, "NOFD");
376 visit_symlink(pi, NULL, de->d_name);
384 struct proc_info pi;
388 pi.pid = pid;
394 memcpy(pi.cmd, s+1, sizeof(pi.cmd)-1);
395 pi.cmd[sizeof(pi.cmd)-1] = 0;
396 if ((s = strrchr(pi.cmd, ')'))) *s = 0;
403 pi.uid = st->st_uid;
405 visit_symlink(&pi, "cwd", "cwd");
406 visit_symlink(&pi, "rtd", "root");
407 visit_symlink(&pi, "txt", "exe");
408 visit_maps(&pi);
409 visit_fds(&pi);