netlib.narod.ru< Назад | Оглавление | Далее >

include/linux/elfcore.h

14741 #ifndef _LINUX_ELFCORE_H
14742 #define _LINUX_ELFCORE_H
14743 
14744 #include <linux/types.h>
14745 #include <linux/signal.h>
14746 #include <linux/time.h>
14747 #include <linux/ptrace.h>
14748 #include <linux/user.h>
14749 
14750 struct elf_siginfo
14751 {
14752   int     si_signo; /* signal number */
14753   int     si_code;  /* extra code */
14754   int     si_errno; /* errno */
14755 };
14756 
14757 #include <asm/elf.h>
14758 
14759 #ifndef __KERNEL__
14760 typedef elf_greg_t greg_t;
14761 typedef elf_gregset_t gregset_t;
14762 typedef elf_fpregset_t fpregset_t;
14763 #define NGREG ELF_NGREG
14764 #endif
14765 
14766 /* Definitions to generate Intel SVR4-like core files.
14767  * These mostly have the same names as the SVR4 types
14768  * with "elf_" tacked on the front to prevent clashes
14769  * with linux definitions, and the typedef forms have
14770  * been avoided.  This is mostly like the SVR4 structure,
14771  * but more Linuxy, with things that Linux does not
14772  * support and which gdb doesn't really use excluded.
14773  * Fields present but not used are marked with "XXX".  */
14774 struct elf_prstatus
14775 {
14776 #if 0
14777   long    pr_flags;     /* XXX Process flags */
14778   short   pr_why;       /* XXX Reason for process halt */
14779   short   pr_what;      /* XXX More detailed reason */
14780 #endif
14781   struct elf_siginfo pr_info;     /* Info associated with
14782                                    * signal */
14783   short   pr_cursig;              /* Current signal */
14784   unsigned long pr_sigpend;       /* Set of pending
14785                                    * signals */
14786   unsigned long pr_sighold;       /* Set of held signals
14787                                    */
14788 #if 0
14789   struct sigaltstack pr_altstack; /* Alternate stack info
14790                                    */
14791   struct sigaction pr_action;     /* Signal action for
14792                                    * current sig */
14793 #endif
14794   pid_t   pr_pid;
14795   pid_t   pr_ppid;
14796   pid_t   pr_pgrp;
14797   pid_t   pr_sid;
14798   struct timeval pr_utime;  /* User time */
14799   struct timeval pr_stime;  /* System time */
14800   struct timeval pr_cutime; /* Cumulative user time */
14801   struct timeval pr_cstime; /* Cumulative system time */
14802 #if 0
14803   long    pr_instr;         /* Current instruction */
14804 #endif
14805   elf_gregset_t pr_reg;     /* GP registers */
14806   int pr_fpvalid;           /* True if math co-processor
14807                              * being used.  */
14808 };
14809 
14810 #define ELF_PRARGSZ     (80) /* Number of chars for
14811                               * args */
14812 
14813 struct elf_prpsinfo
14814 {
14815   char    pr_state;       /* numeric process state */
14816   char    pr_sname;       /* char for pr_state */
14817   char    pr_zomb;        /* zombie */
14818   char    pr_nice;        /* nice val */
14819   unsigned long pr_flag;  /* flags */
14820   uid_t   pr_uid;
14821   gid_t   pr_gid;
14822   pid_t   pr_pid, pr_ppid, pr_pgrp, pr_sid;
14823   /* Lots missing */
14824   char    pr_fname[16];   /* filename of executable */
14825   char    pr_psargs[ELF_PRARGSZ]; /* initial part of
14826                                    * arg list */
14827 };
14828 
14829 #ifndef __KERNEL__
14830 typedef struct elf_prstatus prstatus_t;
14831 typedef struct elf_prpsinfo prpsinfo_t;
14832 #define PRARGSZ ELF_PRARGSZ 
14833 #endif
14834 
14835 #endif /* _LINUX_ELFCORE_H */

netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz