xref: /third_party/musl/include/sys/procfs.h (revision 570af302)
1#ifndef _SYS_PROCFS_H
2#define _SYS_PROCFS_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
7#include <sys/time.h>
8#include <sys/types.h>
9#include <sys/user.h>
10
11struct elf_siginfo {
12	int si_signo;
13	int si_code;
14	int si_errno;
15};
16
17struct elf_prstatus {
18	struct elf_siginfo pr_info;
19	short int pr_cursig;
20	unsigned long int pr_sigpend;
21	unsigned long int pr_sighold;
22	pid_t pr_pid;
23	pid_t pr_ppid;
24	pid_t pr_pgrp;
25	pid_t pr_sid;
26	struct {
27		long tv_sec, tv_usec;
28	} pr_utime, pr_stime, pr_cutime, pr_cstime;
29	elf_gregset_t pr_reg;
30	int pr_fpvalid;
31};
32
33#define ELF_PRARGSZ 80
34
35struct elf_prpsinfo {
36	char pr_state;
37	char pr_sname;
38	char pr_zomb;
39	char pr_nice;
40	unsigned long int pr_flag;
41#if UINTPTR_MAX == 0xffffffff
42	unsigned short int pr_uid;
43	unsigned short int pr_gid;
44#else
45	unsigned int pr_uid;
46	unsigned int pr_gid;
47#endif
48	int pr_pid, pr_ppid, pr_pgrp, pr_sid;
49	char pr_fname[16];
50	char pr_psargs[ELF_PRARGSZ];
51};
52
53typedef void *psaddr_t;
54typedef elf_gregset_t prgregset_t;
55typedef elf_fpregset_t prfpregset_t;
56typedef pid_t lwpid_t;
57typedef struct elf_prstatus prstatus_t;
58typedef struct elf_prpsinfo prpsinfo_t;
59
60#ifdef __cplusplus
61}
62#endif
63#endif
64