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