0001
0002 #ifndef _LINUX_ELFCORE_COMPAT_H
0003 #define _LINUX_ELFCORE_COMPAT_H
0004
0005 #include <linux/elf.h>
0006 #include <linux/elfcore.h>
0007 #include <linux/compat.h>
0008
0009
0010
0011
0012
0013 struct compat_elf_siginfo
0014 {
0015 compat_int_t si_signo;
0016 compat_int_t si_code;
0017 compat_int_t si_errno;
0018 };
0019
0020 struct compat_elf_prstatus_common
0021 {
0022 struct compat_elf_siginfo pr_info;
0023 short pr_cursig;
0024 compat_ulong_t pr_sigpend;
0025 compat_ulong_t pr_sighold;
0026 compat_pid_t pr_pid;
0027 compat_pid_t pr_ppid;
0028 compat_pid_t pr_pgrp;
0029 compat_pid_t pr_sid;
0030 struct old_timeval32 pr_utime;
0031 struct old_timeval32 pr_stime;
0032 struct old_timeval32 pr_cutime;
0033 struct old_timeval32 pr_cstime;
0034 };
0035
0036 struct compat_elf_prpsinfo
0037 {
0038 char pr_state;
0039 char pr_sname;
0040 char pr_zomb;
0041 char pr_nice;
0042 compat_ulong_t pr_flag;
0043 __compat_uid_t pr_uid;
0044 __compat_gid_t pr_gid;
0045 compat_pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid;
0046
0047
0048
0049
0050
0051 char pr_fname[16];
0052 char pr_psargs[ELF_PRARGSZ];
0053 };
0054
0055 #ifdef CONFIG_ARCH_HAS_ELFCORE_COMPAT
0056 #include <asm/elfcore-compat.h>
0057 #endif
0058
0059 struct compat_elf_prstatus
0060 {
0061 struct compat_elf_prstatus_common common;
0062 compat_elf_gregset_t pr_reg;
0063 compat_int_t pr_fpvalid;
0064 };
0065
0066 #endif