master xplshn/aruu / shared / proc.h
 1/* See LICENSE file for copyright and license details. */
 2struct procstat {
 3	int pid;
 4	char comm[PATH_MAX + 2]; /* + 2 for '(' and ')' */
 5	unsigned char state;
 6	int ppid;
 7	int pgrp;
 8	int sid;
 9	int tty_nr;
10	int tpgid;
11	unsigned flags;
12	unsigned long minflt;
13	unsigned long cminflt;
14	unsigned long majflt;
15	unsigned long cmajflt;
16	unsigned long utime;
17	unsigned long stime;
18	long cutime;
19	long cstime;
20	long priority;
21	long nice;
22	long num_threads;
23	long itrealvalue;
24	unsigned long long starttime;
25	unsigned long vsize;
26	long rss;
27	long rsslim;
28};
29
30struct procstatus {
31	uid_t uid;
32	uid_t euid;
33	gid_t gid;
34	gid_t egid;
35};
36
37int parsecmdline(pid_t pid, char *buf, size_t siz);
38int parsestat(pid_t pid, struct procstat *ps);
39int parsestatus(pid_t pid, struct procstatus *pstatus);
40int proceuid(pid_t pid, uid_t *euid);
41int procuid(pid_t pid, uid_t *euid);
42int pidfile(const char *file);