1
2 #ifndef _UAPI_LINUX_ELFCORE_H
3 #define _UAPI_LINUX_ELFCORE_H
4
5 #include <linux/types.h>
6 #include <linux/signal.h>
7 #include <linux/time.h>
8 #include <linux/ptrace.h>
9 #include <linux/elf.h>
10 #include <linux/fs.h>
11
12 struct elf_siginfo
13 {
14 int si_signo;
15 int si_code;
16 int si_errno;
17 };
18
19
20 #ifndef __KERNEL__
21 typedef elf_greg_t greg_t;
22 typedef elf_gregset_t gregset_t;
23 typedef elf_fpregset_t fpregset_t;
24 typedef elf_fpxregset_t fpxregset_t;
25 #define NGREG ELF_NGREG
26 #endif
27
28
29
30
31
32
33
34
35
36
37 struct elf_prstatus
38 {
39 #if 0
40 long pr_flags;
41 short pr_why;
42 short pr_what;
43 #endif
44 struct elf_siginfo pr_info;
45 short pr_cursig;
46 unsigned long pr_sigpend;
47 unsigned long pr_sighold;
48 #if 0
49 struct sigaltstack pr_altstack;
50 struct sigaction pr_action;
51 #endif
52 pid_t pr_pid;
53 pid_t pr_ppid;
54 pid_t pr_pgrp;
55 pid_t pr_sid;
56 struct timeval pr_utime;
57 struct timeval pr_stime;
58 struct timeval pr_cutime;
59 struct timeval pr_cstime;
60 #if 0
61 long pr_instr;
62 #endif
63 elf_gregset_t pr_reg;
64 #ifdef CONFIG_BINFMT_ELF_FDPIC
65
66
67
68
69
70
71 unsigned long pr_exec_fdpic_loadmap;
72 unsigned long pr_interp_fdpic_loadmap;
73 #endif
74 int pr_fpvalid;
75 };
76
77 #define ELF_PRARGSZ (80)
78
79 struct elf_prpsinfo
80 {
81 char pr_state;
82 char pr_sname;
83 char pr_zomb;
84 char pr_nice;
85 unsigned long pr_flag;
86 __kernel_uid_t pr_uid;
87 __kernel_gid_t pr_gid;
88 pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid;
89
90 char pr_fname[16];
91 char pr_psargs[ELF_PRARGSZ];
92 };
93
94 #ifndef __KERNEL__
95 typedef struct elf_prstatus prstatus_t;
96 typedef struct elf_prpsinfo prpsinfo_t;
97 #define PRARGSZ ELF_PRARGSZ
98 #endif
99
100
101 #endif