1#ifndef _LINUX_ELFCORE_COMPAT_H
2#define _LINUX_ELFCORE_COMPAT_H
3
4#include <linux/elf.h>
5#include <linux/elfcore.h>
6#include <linux/compat.h>
7
8/*
9 * Make sure these layouts match the linux/elfcore.h native definitions.
10 */
11
12struct compat_elf_siginfo
13{
14	compat_int_t			si_signo;
15	compat_int_t			si_code;
16	compat_int_t			si_errno;
17};
18
19struct compat_elf_prstatus
20{
21	struct compat_elf_siginfo	pr_info;
22	short				pr_cursig;
23	compat_ulong_t			pr_sigpend;
24	compat_ulong_t			pr_sighold;
25	compat_pid_t			pr_pid;
26	compat_pid_t			pr_ppid;
27	compat_pid_t			pr_pgrp;
28	compat_pid_t			pr_sid;
29	struct compat_timeval		pr_utime;
30	struct compat_timeval		pr_stime;
31	struct compat_timeval		pr_cutime;
32	struct compat_timeval		pr_cstime;
33	compat_elf_gregset_t		pr_reg;
34#ifdef CONFIG_BINFMT_ELF_FDPIC
35	compat_ulong_t			pr_exec_fdpic_loadmap;
36	compat_ulong_t			pr_interp_fdpic_loadmap;
37#endif
38	compat_int_t			pr_fpvalid;
39};
40
41struct compat_elf_prpsinfo
42{
43	char				pr_state;
44	char				pr_sname;
45	char				pr_zomb;
46	char				pr_nice;
47	compat_ulong_t			pr_flag;
48	__compat_uid_t			pr_uid;
49	__compat_gid_t			pr_gid;
50	compat_pid_t			pr_pid, pr_ppid, pr_pgrp, pr_sid;
51	char				pr_fname[16];
52	char				pr_psargs[ELF_PRARGSZ];
53};
54
55#endif /* _LINUX_ELFCORE_COMPAT_H */
56