fix elf_prstatus regression on time64, existing wrong definition on x32
[musl] / include / sys / procfs.h
1 #ifndef _SYS_PROCFS_H
2 #define _SYS_PROCFS_H
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6
7 #include <sys/time.h>
8 #include <sys/types.h>
9 #include <sys/user.h>
10
11 struct elf_siginfo {
12         int si_signo;
13         int si_code;
14         int si_errno;
15 };
16
17 struct 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
35 struct 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
53 typedef void *psaddr_t;
54 typedef elf_gregset_t prgregset_t;
55 typedef elf_fpregset_t prfpregset_t;
56 typedef pid_t lwpid_t;
57 typedef struct elf_prstatus prstatus_t;
58 typedef struct elf_prpsinfo prpsinfo_t;
59
60 #ifdef __cplusplus
61 }
62 #endif
63 #endif