43 lines
883 B
C
43 lines
883 B
C
/* 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);
|