/* See LICENSE file for copyright and license details. */ struct procstat { int pid; char comm[PATH_MAX + 2]; /* + 2 for '(' and ')' */ unsigned char state; int ppid; int pgrp; int sid; int tty_nr; int tpgid; unsigned flags; unsigned long minflt; unsigned long cminflt; unsigned long majflt; unsigned long cmajflt; unsigned long utime; unsigned long stime; long cutime; long cstime; long priority; long nice; long num_threads; long itrealvalue; unsigned long long starttime; unsigned long vsize; long rss; long rsslim; }; struct procstatus { uid_t uid; uid_t euid; gid_t gid; gid_t egid; }; int parsecmdline(pid_t pid, char *buf, size_t siz); int parsestat(pid_t pid, struct procstat *ps); int parsestatus(pid_t pid, struct procstatus *pstatus); int proceuid(pid_t pid, uid_t *euid); int procuid(pid_t pid, uid_t *euid); int pidfile(const char *file);