1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/**************************************************************************** 2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** This header was automatically generated from a Linux kernel header 5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** of the same name, to make information necessary for userspace to 6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** call into the kernel available to libc. It contains only constants, 7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** structures, and macros generated from the original header, and thus, 8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** contains no copyrightable information. 9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** To edit the content of this header, modify the corresponding 11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** Any manual change here will be lost the next time this script will 15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** be run. You've been warned! 16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/ 19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPI_LINUX_ELFCORE_H 20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPI_LINUX_ELFCORE_H 21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h> 22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/signal.h> 23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/time.h> 24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/ptrace.h> 25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/elf.h> 26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/fs.h> 27d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baostruct elf_siginfo { 28d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int si_signo; 29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int si_code; 30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int si_errno; 31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef elf_greg_t greg_t; 33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef elf_gregset_t gregset_t; 34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef elf_fpregset_t fpregset_t; 35655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef elf_fpxregset_t fpxregset_t; 36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define NGREG ELF_NGREG 37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baostruct elf_prstatus { 38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct elf_siginfo pr_info; 39d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao short pr_cursig; 40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned long pr_sigpend; 41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned long pr_sighold; 42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao pid_t pr_pid; 43d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao pid_t pr_ppid; 44d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao pid_t pr_pgrp; 45d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao pid_t pr_sid; 46d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct timeval pr_utime; 47d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct timeval pr_stime; 48d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct timeval pr_cutime; 49d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct timeval pr_cstime; 50d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao elf_gregset_t pr_reg; 51d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int pr_fpvalid; 52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ELF_PRARGSZ (80) 54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baostruct elf_prpsinfo { 55d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char pr_state; 56d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char pr_sname; 57d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char pr_zomb; 58d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char pr_nice; 59d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned long pr_flag; 60d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __kernel_uid_t pr_uid; 61d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __kernel_gid_t pr_gid; 62d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid; 63d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char pr_fname[16]; 64d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao char pr_psargs[ELF_PRARGSZ]; 65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengtypedef struct elf_prstatus prstatus_t; 67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baotypedef struct elf_prpsinfo prpsinfo_t; 68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PRARGSZ ELF_PRARGSZ 69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif 70