diff options
Diffstat (limited to 'include/sys/procfs.h')
| -rw-r--r-- | include/sys/procfs.h | 81 | 
1 files changed, 81 insertions, 0 deletions
| diff --git a/include/sys/procfs.h b/include/sys/procfs.h new file mode 100644 index 00000000..20b4847c --- /dev/null +++ b/include/sys/procfs.h @@ -0,0 +1,81 @@ +#ifndef _SYS_PROCFS_H +#define _SYS_PROCFS_H +#ifdef __cplusplus +extern "C" { +#endif + +#include <sys/time.h> +#include <sys/types.h> +#include <sys/user.h> + +typedef unsigned long elf_greg_t; +#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t)) +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +#if __WORDSIZE == 32 +typedef struct user_fpregs_struct elf_fpregset_t; +typedef struct user_fpxregs_struct elf_fpxregset_t; +#else +typedef struct user_fpregs_struct elf_fpregset_t; +#endif + +struct elf_siginfo { +	int si_signo; +	int si_code; +	int si_errno; +}; + +struct elf_prstatus { +	struct elf_siginfo pr_info; +	short int pr_cursig; +	unsigned long int pr_sigpend; +	unsigned long int pr_sighold; +	pid_t pr_pid; +	pid_t pr_ppid; +	pid_t pr_pgrp; +	pid_t pr_sid; +	struct timeval pr_utime; +	struct timeval pr_stime; +	struct timeval pr_cutime; +	struct timeval pr_cstime; +	elf_gregset_t pr_reg; +	int pr_fpvalid; +}; + + +#define ELF_PRARGSZ 80 + +struct elf_prpsinfo +	{ +	char pr_state; +	char pr_sname; +	char pr_zomb; +	char pr_nice; +	unsigned long int pr_flag; +#if __WORDSIZE == 32 +	unsigned short int pr_uid; +	unsigned short int pr_gid; +#else +	unsigned int pr_uid; +	unsigned int pr_gid; +#endif +	int pr_pid, pr_ppid, pr_pgrp, pr_sid; +	char pr_fname[16]; +	char pr_psargs[ELF_PRARGSZ]; +}; + + +typedef void *psaddr_t; +typedef elf_gregset_t prgregset_t; +typedef elf_fpregset_t prfpregset_t; +typedef pid_t lwpid_t; +typedef struct elf_prstatus prstatus_t; +typedef struct elf_prpsinfo prpsinfo_t; + + + + +#ifdef __cplusplus +} +#endif +#endif | 
