mirror of https://gitee.com/Nocallback/glibc.git
Browse Source
Wed Oct 9 00:24:52 1996 Jim Meyering <meyering@asic.sc.ti.com> * time/strftime.c: Allow old K&R compilers compile this file. Wed Oct 9 12:03:56 1996 Ulrich Drepper <drepper@cygnus.com> * posix/execlp.c: Add first argument parameter to be compliant with POSIX. Rearrange body to start vararg counter after this new argument. Wed Oct 9 04:34:50 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/sys/procfs.h: Rewrite. We cannot use simply a wrapper around the <linux.elfcore.h> file since the kernel header is not clean enough. We provide the definitions in this file instead. Wed Oct 9 01:43:18 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Avoid get?id calls by using __libc_enable_secure.cvs/thomas-posix1996 cvs/libc-961010
6 changed files with 149 additions and 19 deletions
@ -1 +1,105 @@ |
|||
#include <linux/elfcore.h> |
|||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
|||
This file is part of the GNU C Library. |
|||
|
|||
The GNU C Library is free software; you can redistribute it and/or |
|||
modify it under the terms of the GNU Library General Public License as |
|||
published by the Free Software Foundation; either version 2 of the |
|||
License, or (at your option) any later version. |
|||
|
|||
The GNU C Library is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
Library General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Library General Public |
|||
License along with the GNU C Library; see the file COPYING.LIB. If |
|||
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
|||
Boston, MA 02111-1307, USA. */ |
|||
|
|||
#ifndef _SYS_PROCFS_H |
|||
|
|||
#define _SYS_PROCFS_H 1 |
|||
#include <features.h> |
|||
|
|||
/* This is somehow modelled after the file of the same name on SysVr4
|
|||
systems. It provides a definition of the core file format for ELF |
|||
used on Linux. */ |
|||
|
|||
#include <signal.h> |
|||
#include <sys/time.h> |
|||
#include <sys/types.h> |
|||
#include <asm/elf.h> |
|||
|
|||
struct elf_siginfo |
|||
{ |
|||
int si_signo; /* signal number */ |
|||
int si_code; /* extra code */ |
|||
int si_errno; /* errno */ |
|||
}; |
|||
|
|||
typedef elf_greg_t greg_t; |
|||
typedef elf_gregset_t gregset_t; |
|||
typedef elf_fpregset_t fpregset_t; |
|||
#define NGREG ELF_NGREG |
|||
|
|||
/* Definitions to generate Intel SVR4-like core files. These mostly
|
|||
have the same names as the SVR4 types with "elf_" tacked on the |
|||
front to prevent clashes with linux definitions, and the typedef |
|||
forms have been avoided. This is mostly like the SVR4 structure, |
|||
but more Linuxy, with things that Linux does not support and which |
|||
gdb doesn't really use excluded. Fields present but not used are |
|||
marked with "XXX". */ |
|||
struct elf_prstatus |
|||
{ |
|||
#if 0 |
|||
long pr_flags; /* XXX Process flags */ |
|||
short pr_why; /* XXX Reason for process halt */ |
|||
short pr_what; /* XXX More detailed reason */ |
|||
#endif |
|||
struct elf_siginfo pr_info; /* Info associated with signal */ |
|||
short pr_cursig; /* Current signal */ |
|||
sigset_t pr_sigpend; /* Set of pending signals */ |
|||
sigset_t pr_sighold; /* Set of held signals */ |
|||
#if 0 |
|||
struct sigaltstack pr_altstack; /* Alternate stack info */ |
|||
struct sigaction pr_action; /* Signal action for current sig */ |
|||
#endif |
|||
pid_t pr_pid; |
|||
pid_t pr_ppid; |
|||
pid_t pr_pgrp; |
|||
pid_t pr_sid; |
|||
struct timeval pr_utime; /* User time */ |
|||
struct timeval pr_stime; /* System time */ |
|||
struct timeval pr_cutime; /* Cumulative user time */ |
|||
struct timeval pr_cstime; /* Cumulative system time */ |
|||
#if 0 |
|||
long pr_instr; /* Current instruction */ |
|||
#endif |
|||
elf_gregset_t pr_reg; /* GP registers */ |
|||
int pr_fpvalid; /* True if math copro being used. */ |
|||
}; |
|||
|
|||
|
|||
#define ELF_PRARGSZ (80) /* Number of chars for args */ |
|||
|
|||
struct elf_prpsinfo |
|||
{ |
|||
char pr_state; /* numeric process state */ |
|||
char pr_sname; /* char for pr_state */ |
|||
char pr_zomb; /* zombie */ |
|||
char pr_nice; /* nice val */ |
|||
unsigned long pr_flag; /* flags */ |
|||
uid_t pr_uid; |
|||
gid_t pr_gid; |
|||
pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid; |
|||
/* Lots missing */ |
|||
char pr_fname[16]; /* filename of executable */ |
|||
char pr_psargs[ELF_PRARGSZ]; /* initial part of arg list */ |
|||
}; |
|||
|
|||
|
|||
typedef struct elf_prstatus prstatus_t; |
|||
typedef struct elf_prpsinfo prpsinfo_t; |
|||
|
|||
|
|||
#endif /* sys/procfs.h */ |
|||
|
|||
Loading…
Reference in new issue