Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ExeBy/smexe_ro.../usr/include/sys
File: procfs.h
/* Copyright (C) 2001-2018 Free Software Foundation, Inc.
[0] Fix | Delete
This file is part of the GNU C Library.
[1] Fix | Delete
[2] Fix | Delete
The GNU C Library is free software; you can redistribute it and/or
[3] Fix | Delete
modify it under the terms of the GNU Lesser General Public
[4] Fix | Delete
License as published by the Free Software Foundation; either
[5] Fix | Delete
version 2.1 of the License, or (at your option) any later version.
[6] Fix | Delete
[7] Fix | Delete
The GNU C Library is distributed in the hope that it will be useful,
[8] Fix | Delete
but WITHOUT ANY WARRANTY; without even the implied warranty of
[9] Fix | Delete
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
[10] Fix | Delete
Lesser General Public License for more details.
[11] Fix | Delete
[12] Fix | Delete
You should have received a copy of the GNU Lesser General Public
[13] Fix | Delete
License along with the GNU C Library; if not, see
[14] Fix | Delete
<http://www.gnu.org/licenses/>. */
[15] Fix | Delete
[16] Fix | Delete
#ifndef _SYS_PROCFS_H
[17] Fix | Delete
#define _SYS_PROCFS_H 1
[18] Fix | Delete
[19] Fix | Delete
/* This is somewhat modelled after the file of the same name on SVR4
[20] Fix | Delete
systems. It provides a definition of the core file format for ELF
[21] Fix | Delete
used on Linux. It doesn't have anything to do with the /proc file
[22] Fix | Delete
system, even though Linux has one.
[23] Fix | Delete
[24] Fix | Delete
Anyway, the whole purpose of this file is for GDB and GDB only.
[25] Fix | Delete
Don't read too much into it. Don't use it for anything other than
[26] Fix | Delete
GDB unless you know what you are doing. */
[27] Fix | Delete
[28] Fix | Delete
#include <features.h>
[29] Fix | Delete
#include <sys/time.h>
[30] Fix | Delete
#include <sys/types.h>
[31] Fix | Delete
#include <sys/user.h>
[32] Fix | Delete
[33] Fix | Delete
__BEGIN_DECLS
[34] Fix | Delete
[35] Fix | Delete
/* Type for a general-purpose register. */
[36] Fix | Delete
#ifdef __x86_64__
[37] Fix | Delete
__extension__ typedef unsigned long long elf_greg_t;
[38] Fix | Delete
#else
[39] Fix | Delete
typedef unsigned long elf_greg_t;
[40] Fix | Delete
#endif
[41] Fix | Delete
[42] Fix | Delete
/* And the whole bunch of them. We could have used `struct
[43] Fix | Delete
user_regs_struct' directly in the typedef, but tradition says that
[44] Fix | Delete
the register set is an array, which does have some peculiar
[45] Fix | Delete
semantics, so leave it that way. */
[46] Fix | Delete
#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
[47] Fix | Delete
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
[48] Fix | Delete
[49] Fix | Delete
#ifndef __x86_64__
[50] Fix | Delete
/* Register set for the floating-point registers. */
[51] Fix | Delete
typedef struct user_fpregs_struct elf_fpregset_t;
[52] Fix | Delete
[53] Fix | Delete
/* Register set for the extended floating-point registers. Includes
[54] Fix | Delete
the Pentium III SSE registers in addition to the classic
[55] Fix | Delete
floating-point stuff. */
[56] Fix | Delete
typedef struct user_fpxregs_struct elf_fpxregset_t;
[57] Fix | Delete
#else
[58] Fix | Delete
/* Register set for the extended floating-point registers. Includes
[59] Fix | Delete
the Pentium III SSE registers in addition to the classic
[60] Fix | Delete
floating-point stuff. */
[61] Fix | Delete
typedef struct user_fpregs_struct elf_fpregset_t;
[62] Fix | Delete
#endif
[63] Fix | Delete
[64] Fix | Delete
/* Signal info. */
[65] Fix | Delete
struct elf_siginfo
[66] Fix | Delete
{
[67] Fix | Delete
int si_signo; /* Signal number. */
[68] Fix | Delete
int si_code; /* Extra code. */
[69] Fix | Delete
int si_errno; /* Errno. */
[70] Fix | Delete
};
[71] Fix | Delete
[72] Fix | Delete
[73] Fix | Delete
/* Definitions to generate Intel SVR4-like core files. These mostly
[74] Fix | Delete
have the same names as the SVR4 types with "elf_" tacked on the
[75] Fix | Delete
front to prevent clashes with Linux definitions, and the typedef
[76] Fix | Delete
forms have been avoided. This is mostly like the SVR4 structure,
[77] Fix | Delete
but more Linuxy, with things that Linux does not support and which
[78] Fix | Delete
GDB doesn't really use excluded. */
[79] Fix | Delete
[80] Fix | Delete
struct elf_prstatus
[81] Fix | Delete
{
[82] Fix | Delete
struct elf_siginfo pr_info; /* Info associated with signal. */
[83] Fix | Delete
short int pr_cursig; /* Current signal. */
[84] Fix | Delete
unsigned long int pr_sigpend; /* Set of pending signals. */
[85] Fix | Delete
unsigned long int pr_sighold; /* Set of held signals. */
[86] Fix | Delete
__pid_t pr_pid;
[87] Fix | Delete
__pid_t pr_ppid;
[88] Fix | Delete
__pid_t pr_pgrp;
[89] Fix | Delete
__pid_t pr_sid;
[90] Fix | Delete
struct timeval pr_utime; /* User time. */
[91] Fix | Delete
struct timeval pr_stime; /* System time. */
[92] Fix | Delete
struct timeval pr_cutime; /* Cumulative user time. */
[93] Fix | Delete
struct timeval pr_cstime; /* Cumulative system time. */
[94] Fix | Delete
elf_gregset_t pr_reg; /* GP registers. */
[95] Fix | Delete
int pr_fpvalid; /* True if math copro being used. */
[96] Fix | Delete
};
[97] Fix | Delete
[98] Fix | Delete
[99] Fix | Delete
#define ELF_PRARGSZ (80) /* Number of chars for args. */
[100] Fix | Delete
[101] Fix | Delete
struct elf_prpsinfo
[102] Fix | Delete
{
[103] Fix | Delete
char pr_state; /* Numeric process state. */
[104] Fix | Delete
char pr_sname; /* Char for pr_state. */
[105] Fix | Delete
char pr_zomb; /* Zombie. */
[106] Fix | Delete
char pr_nice; /* Nice val. */
[107] Fix | Delete
unsigned long int pr_flag; /* Flags. */
[108] Fix | Delete
#if __WORDSIZE == 32
[109] Fix | Delete
unsigned short int pr_uid;
[110] Fix | Delete
unsigned short int pr_gid;
[111] Fix | Delete
#else
[112] Fix | Delete
unsigned int pr_uid;
[113] Fix | Delete
unsigned int pr_gid;
[114] Fix | Delete
#endif
[115] Fix | Delete
int pr_pid, pr_ppid, pr_pgrp, pr_sid;
[116] Fix | Delete
/* Lots missing */
[117] Fix | Delete
char pr_fname[16]; /* Filename of executable. */
[118] Fix | Delete
char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
[119] Fix | Delete
};
[120] Fix | Delete
[121] Fix | Delete
[122] Fix | Delete
/* The rest of this file provides the types for emulation of the
[123] Fix | Delete
Solaris <proc_service.h> interfaces that should be implemented by
[124] Fix | Delete
users of libthread_db. */
[125] Fix | Delete
[126] Fix | Delete
/* Addresses. */
[127] Fix | Delete
typedef void *psaddr_t;
[128] Fix | Delete
[129] Fix | Delete
/* Register sets. Linux has different names. */
[130] Fix | Delete
typedef elf_gregset_t prgregset_t;
[131] Fix | Delete
typedef elf_fpregset_t prfpregset_t;
[132] Fix | Delete
[133] Fix | Delete
/* We don't have any differences between processes and threads,
[134] Fix | Delete
therefore have only one PID type. */
[135] Fix | Delete
typedef __pid_t lwpid_t;
[136] Fix | Delete
[137] Fix | Delete
/* Process status and info. In the end we do provide typedefs for them. */
[138] Fix | Delete
typedef struct elf_prstatus prstatus_t;
[139] Fix | Delete
typedef struct elf_prpsinfo prpsinfo_t;
[140] Fix | Delete
[141] Fix | Delete
__END_DECLS
[142] Fix | Delete
[143] Fix | Delete
#endif /* sys/procfs.h */
[144] Fix | Delete
[145] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function