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);