Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ShExBy/shex_roo.../usr/include/sys
File: ucontext.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_UCONTEXT_H
[17] Fix | Delete
#define _SYS_UCONTEXT_H 1
[18] Fix | Delete
[19] Fix | Delete
#include <features.h>
[20] Fix | Delete
[21] Fix | Delete
#include <bits/types.h>
[22] Fix | Delete
#include <bits/types/sigset_t.h>
[23] Fix | Delete
#include <bits/types/stack_t.h>
[24] Fix | Delete
[25] Fix | Delete
[26] Fix | Delete
#ifdef __USE_MISC
[27] Fix | Delete
# define __ctx(fld) fld
[28] Fix | Delete
#else
[29] Fix | Delete
# define __ctx(fld) __ ## fld
[30] Fix | Delete
#endif
[31] Fix | Delete
[32] Fix | Delete
#ifdef __x86_64__
[33] Fix | Delete
[34] Fix | Delete
/* Type for general register. */
[35] Fix | Delete
__extension__ typedef long long int greg_t;
[36] Fix | Delete
[37] Fix | Delete
/* Number of general registers. */
[38] Fix | Delete
#define __NGREG 23
[39] Fix | Delete
#ifdef __USE_MISC
[40] Fix | Delete
# define NGREG __NGREG
[41] Fix | Delete
#endif
[42] Fix | Delete
[43] Fix | Delete
/* Container for all general registers. */
[44] Fix | Delete
typedef greg_t gregset_t[__NGREG];
[45] Fix | Delete
[46] Fix | Delete
#ifdef __USE_GNU
[47] Fix | Delete
/* Number of each register in the `gregset_t' array. */
[48] Fix | Delete
enum
[49] Fix | Delete
{
[50] Fix | Delete
REG_R8 = 0,
[51] Fix | Delete
# define REG_R8 REG_R8
[52] Fix | Delete
REG_R9,
[53] Fix | Delete
# define REG_R9 REG_R9
[54] Fix | Delete
REG_R10,
[55] Fix | Delete
# define REG_R10 REG_R10
[56] Fix | Delete
REG_R11,
[57] Fix | Delete
# define REG_R11 REG_R11
[58] Fix | Delete
REG_R12,
[59] Fix | Delete
# define REG_R12 REG_R12
[60] Fix | Delete
REG_R13,
[61] Fix | Delete
# define REG_R13 REG_R13
[62] Fix | Delete
REG_R14,
[63] Fix | Delete
# define REG_R14 REG_R14
[64] Fix | Delete
REG_R15,
[65] Fix | Delete
# define REG_R15 REG_R15
[66] Fix | Delete
REG_RDI,
[67] Fix | Delete
# define REG_RDI REG_RDI
[68] Fix | Delete
REG_RSI,
[69] Fix | Delete
# define REG_RSI REG_RSI
[70] Fix | Delete
REG_RBP,
[71] Fix | Delete
# define REG_RBP REG_RBP
[72] Fix | Delete
REG_RBX,
[73] Fix | Delete
# define REG_RBX REG_RBX
[74] Fix | Delete
REG_RDX,
[75] Fix | Delete
# define REG_RDX REG_RDX
[76] Fix | Delete
REG_RAX,
[77] Fix | Delete
# define REG_RAX REG_RAX
[78] Fix | Delete
REG_RCX,
[79] Fix | Delete
# define REG_RCX REG_RCX
[80] Fix | Delete
REG_RSP,
[81] Fix | Delete
# define REG_RSP REG_RSP
[82] Fix | Delete
REG_RIP,
[83] Fix | Delete
# define REG_RIP REG_RIP
[84] Fix | Delete
REG_EFL,
[85] Fix | Delete
# define REG_EFL REG_EFL
[86] Fix | Delete
REG_CSGSFS, /* Actually short cs, gs, fs, __pad0. */
[87] Fix | Delete
# define REG_CSGSFS REG_CSGSFS
[88] Fix | Delete
REG_ERR,
[89] Fix | Delete
# define REG_ERR REG_ERR
[90] Fix | Delete
REG_TRAPNO,
[91] Fix | Delete
# define REG_TRAPNO REG_TRAPNO
[92] Fix | Delete
REG_OLDMASK,
[93] Fix | Delete
# define REG_OLDMASK REG_OLDMASK
[94] Fix | Delete
REG_CR2
[95] Fix | Delete
# define REG_CR2 REG_CR2
[96] Fix | Delete
};
[97] Fix | Delete
#endif
[98] Fix | Delete
[99] Fix | Delete
struct _libc_fpxreg
[100] Fix | Delete
{
[101] Fix | Delete
unsigned short int __ctx(significand)[4];
[102] Fix | Delete
unsigned short int __ctx(exponent);
[103] Fix | Delete
unsigned short int __glibc_reserved1[3];
[104] Fix | Delete
};
[105] Fix | Delete
[106] Fix | Delete
struct _libc_xmmreg
[107] Fix | Delete
{
[108] Fix | Delete
__uint32_t __ctx(element)[4];
[109] Fix | Delete
};
[110] Fix | Delete
[111] Fix | Delete
struct _libc_fpstate
[112] Fix | Delete
{
[113] Fix | Delete
/* 64-bit FXSAVE format. */
[114] Fix | Delete
__uint16_t __ctx(cwd);
[115] Fix | Delete
__uint16_t __ctx(swd);
[116] Fix | Delete
__uint16_t __ctx(ftw);
[117] Fix | Delete
__uint16_t __ctx(fop);
[118] Fix | Delete
__uint64_t __ctx(rip);
[119] Fix | Delete
__uint64_t __ctx(rdp);
[120] Fix | Delete
__uint32_t __ctx(mxcsr);
[121] Fix | Delete
__uint32_t __ctx(mxcr_mask);
[122] Fix | Delete
struct _libc_fpxreg _st[8];
[123] Fix | Delete
struct _libc_xmmreg _xmm[16];
[124] Fix | Delete
__uint32_t __glibc_reserved1[24];
[125] Fix | Delete
};
[126] Fix | Delete
[127] Fix | Delete
/* Structure to describe FPU registers. */
[128] Fix | Delete
typedef struct _libc_fpstate *fpregset_t;
[129] Fix | Delete
[130] Fix | Delete
/* Context to describe whole processor state. */
[131] Fix | Delete
typedef struct
[132] Fix | Delete
{
[133] Fix | Delete
gregset_t __ctx(gregs);
[134] Fix | Delete
/* Note that fpregs is a pointer. */
[135] Fix | Delete
fpregset_t __ctx(fpregs);
[136] Fix | Delete
__extension__ unsigned long long __reserved1 [8];
[137] Fix | Delete
} mcontext_t;
[138] Fix | Delete
[139] Fix | Delete
/* Userlevel context. */
[140] Fix | Delete
typedef struct ucontext_t
[141] Fix | Delete
{
[142] Fix | Delete
unsigned long int __ctx(uc_flags);
[143] Fix | Delete
struct ucontext_t *uc_link;
[144] Fix | Delete
stack_t uc_stack;
[145] Fix | Delete
mcontext_t uc_mcontext;
[146] Fix | Delete
sigset_t uc_sigmask;
[147] Fix | Delete
struct _libc_fpstate __fpregs_mem;
[148] Fix | Delete
__extension__ unsigned long long int __ssp[4];
[149] Fix | Delete
} ucontext_t;
[150] Fix | Delete
[151] Fix | Delete
#else /* !__x86_64__ */
[152] Fix | Delete
[153] Fix | Delete
/* Type for general register. */
[154] Fix | Delete
typedef int greg_t;
[155] Fix | Delete
[156] Fix | Delete
/* Number of general registers. */
[157] Fix | Delete
#define __NGREG 19
[158] Fix | Delete
#ifdef __USE_MISC
[159] Fix | Delete
# define NGREG __NGREG
[160] Fix | Delete
#endif
[161] Fix | Delete
[162] Fix | Delete
/* Container for all general registers. */
[163] Fix | Delete
typedef greg_t gregset_t[__NGREG];
[164] Fix | Delete
[165] Fix | Delete
#ifdef __USE_GNU
[166] Fix | Delete
/* Number of each register is the `gregset_t' array. */
[167] Fix | Delete
enum
[168] Fix | Delete
{
[169] Fix | Delete
REG_GS = 0,
[170] Fix | Delete
# define REG_GS REG_GS
[171] Fix | Delete
REG_FS,
[172] Fix | Delete
# define REG_FS REG_FS
[173] Fix | Delete
REG_ES,
[174] Fix | Delete
# define REG_ES REG_ES
[175] Fix | Delete
REG_DS,
[176] Fix | Delete
# define REG_DS REG_DS
[177] Fix | Delete
REG_EDI,
[178] Fix | Delete
# define REG_EDI REG_EDI
[179] Fix | Delete
REG_ESI,
[180] Fix | Delete
# define REG_ESI REG_ESI
[181] Fix | Delete
REG_EBP,
[182] Fix | Delete
# define REG_EBP REG_EBP
[183] Fix | Delete
REG_ESP,
[184] Fix | Delete
# define REG_ESP REG_ESP
[185] Fix | Delete
REG_EBX,
[186] Fix | Delete
# define REG_EBX REG_EBX
[187] Fix | Delete
REG_EDX,
[188] Fix | Delete
# define REG_EDX REG_EDX
[189] Fix | Delete
REG_ECX,
[190] Fix | Delete
# define REG_ECX REG_ECX
[191] Fix | Delete
REG_EAX,
[192] Fix | Delete
# define REG_EAX REG_EAX
[193] Fix | Delete
REG_TRAPNO,
[194] Fix | Delete
# define REG_TRAPNO REG_TRAPNO
[195] Fix | Delete
REG_ERR,
[196] Fix | Delete
# define REG_ERR REG_ERR
[197] Fix | Delete
REG_EIP,
[198] Fix | Delete
# define REG_EIP REG_EIP
[199] Fix | Delete
REG_CS,
[200] Fix | Delete
# define REG_CS REG_CS
[201] Fix | Delete
REG_EFL,
[202] Fix | Delete
# define REG_EFL REG_EFL
[203] Fix | Delete
REG_UESP,
[204] Fix | Delete
# define REG_UESP REG_UESP
[205] Fix | Delete
REG_SS
[206] Fix | Delete
# define REG_SS REG_SS
[207] Fix | Delete
};
[208] Fix | Delete
#endif
[209] Fix | Delete
[210] Fix | Delete
/* Definitions taken from the kernel headers. */
[211] Fix | Delete
struct _libc_fpreg
[212] Fix | Delete
{
[213] Fix | Delete
unsigned short int __ctx(significand)[4];
[214] Fix | Delete
unsigned short int __ctx(exponent);
[215] Fix | Delete
};
[216] Fix | Delete
[217] Fix | Delete
struct _libc_fpstate
[218] Fix | Delete
{
[219] Fix | Delete
unsigned long int __ctx(cw);
[220] Fix | Delete
unsigned long int __ctx(sw);
[221] Fix | Delete
unsigned long int __ctx(tag);
[222] Fix | Delete
unsigned long int __ctx(ipoff);
[223] Fix | Delete
unsigned long int __ctx(cssel);
[224] Fix | Delete
unsigned long int __ctx(dataoff);
[225] Fix | Delete
unsigned long int __ctx(datasel);
[226] Fix | Delete
struct _libc_fpreg _st[8];
[227] Fix | Delete
unsigned long int __ctx(status);
[228] Fix | Delete
};
[229] Fix | Delete
[230] Fix | Delete
/* Structure to describe FPU registers. */
[231] Fix | Delete
typedef struct _libc_fpstate *fpregset_t;
[232] Fix | Delete
[233] Fix | Delete
/* Context to describe whole processor state. */
[234] Fix | Delete
typedef struct
[235] Fix | Delete
{
[236] Fix | Delete
gregset_t __ctx(gregs);
[237] Fix | Delete
/* Due to Linux's history we have to use a pointer here. The SysV/i386
[238] Fix | Delete
ABI requires a struct with the values. */
[239] Fix | Delete
fpregset_t __ctx(fpregs);
[240] Fix | Delete
unsigned long int __ctx(oldmask);
[241] Fix | Delete
unsigned long int __ctx(cr2);
[242] Fix | Delete
} mcontext_t;
[243] Fix | Delete
[244] Fix | Delete
/* Userlevel context. */
[245] Fix | Delete
typedef struct ucontext_t
[246] Fix | Delete
{
[247] Fix | Delete
unsigned long int __ctx(uc_flags);
[248] Fix | Delete
struct ucontext_t *uc_link;
[249] Fix | Delete
stack_t uc_stack;
[250] Fix | Delete
mcontext_t uc_mcontext;
[251] Fix | Delete
sigset_t uc_sigmask;
[252] Fix | Delete
struct _libc_fpstate __fpregs_mem;
[253] Fix | Delete
unsigned long int __ssp[4];
[254] Fix | Delete
} ucontext_t;
[255] Fix | Delete
[256] Fix | Delete
#endif /* !__x86_64__ */
[257] Fix | Delete
[258] Fix | Delete
#undef __ctx
[259] Fix | Delete
[260] Fix | Delete
#endif /* sys/ucontext.h */
[261] Fix | Delete
[262] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function