1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _UAPI_LINUX_ELFCORE_H 7 #define _UAPI_LINUX_ELFCORE_H 8 #include <linux/types.h> 9 #include <linux/signal.h> 10 #include <linux/time.h> 11 #include <linux/ptrace.h> 12 #include <linux/elf.h> 13 #include <linux/fs.h> 14 struct elf_siginfo 15 { 16 int si_signo; 17 int si_code; 18 int si_errno; 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 struct elf_prstatus 28 { 29 #if 0 30 long pr_flags; 31 short pr_why; 32 short pr_what; 33 #endif 34 struct elf_siginfo pr_info; 35 short pr_cursig; 36 unsigned long pr_sigpend; 37 unsigned long pr_sighold; 38 #if 0 39 struct sigaltstack pr_altstack; 40 struct sigaction pr_action; 41 #endif 42 pid_t pr_pid; 43 pid_t pr_ppid; 44 pid_t pr_pgrp; 45 pid_t pr_sid; 46 struct timeval pr_utime; 47 struct timeval pr_stime; 48 struct timeval pr_cutime; 49 struct timeval pr_cstime; 50 #if 0 51 long pr_instr; 52 #endif 53 elf_gregset_t pr_reg; 54 #ifdef CONFIG_BINFMT_ELF_FDPIC 55 56 unsigned long pr_exec_fdpic_loadmap; 57 unsigned long pr_interp_fdpic_loadmap; 58 #endif 59 int pr_fpvalid; 60 }; 61 #define ELF_PRARGSZ (80) 62 struct elf_prpsinfo 63 { 64 char pr_state; 65 char pr_sname; 66 char pr_zomb; 67 char pr_nice; 68 unsigned long pr_flag; 69 __kernel_uid_t pr_uid; 70 __kernel_gid_t pr_gid; 71 pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid; 72 73 char pr_fname[16]; 74 char pr_psargs[ELF_PRARGSZ]; 75 }; 76 #ifndef __KERNEL__ 77 typedef struct elf_prstatus prstatus_t; 78 typedef struct elf_prpsinfo prpsinfo_t; 79 #define PRARGSZ ELF_PRARGSZ 80 #endif 81 #endif 82