Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ExeBy/smexe_ro.../usr/include/linux
File: a.out.h
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
[0] Fix | Delete
#ifndef __A_OUT_GNU_H__
[1] Fix | Delete
#define __A_OUT_GNU_H__
[2] Fix | Delete
[3] Fix | Delete
#define __GNU_EXEC_MACROS__
[4] Fix | Delete
[5] Fix | Delete
#ifndef __STRUCT_EXEC_OVERRIDE__
[6] Fix | Delete
[7] Fix | Delete
#include <asm/a.out.h>
[8] Fix | Delete
[9] Fix | Delete
#endif /* __STRUCT_EXEC_OVERRIDE__ */
[10] Fix | Delete
[11] Fix | Delete
#ifndef __ASSEMBLY__
[12] Fix | Delete
[13] Fix | Delete
/* these go in the N_MACHTYPE field */
[14] Fix | Delete
enum machine_type {
[15] Fix | Delete
#if defined (M_OLDSUN2)
[16] Fix | Delete
M__OLDSUN2 = M_OLDSUN2,
[17] Fix | Delete
#else
[18] Fix | Delete
M_OLDSUN2 = 0,
[19] Fix | Delete
#endif
[20] Fix | Delete
#if defined (M_68010)
[21] Fix | Delete
M__68010 = M_68010,
[22] Fix | Delete
#else
[23] Fix | Delete
M_68010 = 1,
[24] Fix | Delete
#endif
[25] Fix | Delete
#if defined (M_68020)
[26] Fix | Delete
M__68020 = M_68020,
[27] Fix | Delete
#else
[28] Fix | Delete
M_68020 = 2,
[29] Fix | Delete
#endif
[30] Fix | Delete
#if defined (M_SPARC)
[31] Fix | Delete
M__SPARC = M_SPARC,
[32] Fix | Delete
#else
[33] Fix | Delete
M_SPARC = 3,
[34] Fix | Delete
#endif
[35] Fix | Delete
/* skip a bunch so we don't run into any of sun's numbers */
[36] Fix | Delete
M_386 = 100,
[37] Fix | Delete
M_MIPS1 = 151, /* MIPS R3000/R3000 binary */
[38] Fix | Delete
M_MIPS2 = 152 /* MIPS R6000/R4000 binary */
[39] Fix | Delete
};
[40] Fix | Delete
[41] Fix | Delete
#if !defined (N_MAGIC)
[42] Fix | Delete
#define N_MAGIC(exec) ((exec).a_info & 0xffff)
[43] Fix | Delete
#endif
[44] Fix | Delete
#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff))
[45] Fix | Delete
#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff)
[46] Fix | Delete
#define N_SET_INFO(exec, magic, type, flags) \
[47] Fix | Delete
((exec).a_info = ((magic) & 0xffff) \
[48] Fix | Delete
| (((int)(type) & 0xff) << 16) \
[49] Fix | Delete
| (((flags) & 0xff) << 24))
[50] Fix | Delete
#define N_SET_MAGIC(exec, magic) \
[51] Fix | Delete
((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff)))
[52] Fix | Delete
[53] Fix | Delete
#define N_SET_MACHTYPE(exec, machtype) \
[54] Fix | Delete
((exec).a_info = \
[55] Fix | Delete
((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))
[56] Fix | Delete
[57] Fix | Delete
#define N_SET_FLAGS(exec, flags) \
[58] Fix | Delete
((exec).a_info = \
[59] Fix | Delete
((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))
[60] Fix | Delete
[61] Fix | Delete
/* Code indicating object file or impure executable. */
[62] Fix | Delete
#define OMAGIC 0407
[63] Fix | Delete
/* Code indicating pure executable. */
[64] Fix | Delete
#define NMAGIC 0410
[65] Fix | Delete
/* Code indicating demand-paged executable. */
[66] Fix | Delete
#define ZMAGIC 0413
[67] Fix | Delete
/* This indicates a demand-paged executable with the header in the text.
[68] Fix | Delete
The first page is unmapped to help trap NULL pointer references */
[69] Fix | Delete
#define QMAGIC 0314
[70] Fix | Delete
[71] Fix | Delete
/* Code indicating core file. */
[72] Fix | Delete
#define CMAGIC 0421
[73] Fix | Delete
[74] Fix | Delete
#if !defined (N_BADMAG)
[75] Fix | Delete
#define N_BADMAG(x) (N_MAGIC(x) != OMAGIC \
[76] Fix | Delete
&& N_MAGIC(x) != NMAGIC \
[77] Fix | Delete
&& N_MAGIC(x) != ZMAGIC \
[78] Fix | Delete
&& N_MAGIC(x) != QMAGIC)
[79] Fix | Delete
#endif
[80] Fix | Delete
[81] Fix | Delete
#define _N_HDROFF(x) (1024 - sizeof (struct exec))
[82] Fix | Delete
[83] Fix | Delete
#if !defined (N_TXTOFF)
[84] Fix | Delete
#define N_TXTOFF(x) \
[85] Fix | Delete
(N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : \
[86] Fix | Delete
(N_MAGIC(x) == QMAGIC ? 0 : sizeof (struct exec)))
[87] Fix | Delete
#endif
[88] Fix | Delete
[89] Fix | Delete
#if !defined (N_DATOFF)
[90] Fix | Delete
#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text)
[91] Fix | Delete
#endif
[92] Fix | Delete
[93] Fix | Delete
#if !defined (N_TRELOFF)
[94] Fix | Delete
#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data)
[95] Fix | Delete
#endif
[96] Fix | Delete
[97] Fix | Delete
#if !defined (N_DRELOFF)
[98] Fix | Delete
#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x))
[99] Fix | Delete
#endif
[100] Fix | Delete
[101] Fix | Delete
#if !defined (N_SYMOFF)
[102] Fix | Delete
#define N_SYMOFF(x) (N_DRELOFF(x) + N_DRSIZE(x))
[103] Fix | Delete
#endif
[104] Fix | Delete
[105] Fix | Delete
#if !defined (N_STROFF)
[106] Fix | Delete
#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x))
[107] Fix | Delete
#endif
[108] Fix | Delete
[109] Fix | Delete
/* Address of text segment in memory after it is loaded. */
[110] Fix | Delete
#if !defined (N_TXTADDR)
[111] Fix | Delete
#define N_TXTADDR(x) (N_MAGIC(x) == QMAGIC ? PAGE_SIZE : 0)
[112] Fix | Delete
#endif
[113] Fix | Delete
[114] Fix | Delete
/* Address of data segment in memory after it is loaded. */
[115] Fix | Delete
#include <unistd.h>
[116] Fix | Delete
#if defined(__i386__) || defined(__mc68000__)
[117] Fix | Delete
#define SEGMENT_SIZE 1024
[118] Fix | Delete
#else
[119] Fix | Delete
#ifndef SEGMENT_SIZE
[120] Fix | Delete
#define SEGMENT_SIZE getpagesize()
[121] Fix | Delete
#endif
[122] Fix | Delete
#endif
[123] Fix | Delete
[124] Fix | Delete
#define _N_SEGMENT_ROUND(x) ALIGN(x, SEGMENT_SIZE)
[125] Fix | Delete
[126] Fix | Delete
#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text)
[127] Fix | Delete
[128] Fix | Delete
#ifndef N_DATADDR
[129] Fix | Delete
#define N_DATADDR(x) \
[130] Fix | Delete
(N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \
[131] Fix | Delete
: (_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
[132] Fix | Delete
#endif
[133] Fix | Delete
[134] Fix | Delete
/* Address of bss segment in memory after it is loaded. */
[135] Fix | Delete
#if !defined (N_BSSADDR)
[136] Fix | Delete
#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data)
[137] Fix | Delete
#endif
[138] Fix | Delete
[139] Fix | Delete
#if !defined (N_NLIST_DECLARED)
[140] Fix | Delete
struct nlist {
[141] Fix | Delete
union {
[142] Fix | Delete
char *n_name;
[143] Fix | Delete
struct nlist *n_next;
[144] Fix | Delete
long n_strx;
[145] Fix | Delete
} n_un;
[146] Fix | Delete
unsigned char n_type;
[147] Fix | Delete
char n_other;
[148] Fix | Delete
short n_desc;
[149] Fix | Delete
unsigned long n_value;
[150] Fix | Delete
};
[151] Fix | Delete
#endif /* no N_NLIST_DECLARED. */
[152] Fix | Delete
[153] Fix | Delete
#if !defined (N_UNDF)
[154] Fix | Delete
#define N_UNDF 0
[155] Fix | Delete
#endif
[156] Fix | Delete
#if !defined (N_ABS)
[157] Fix | Delete
#define N_ABS 2
[158] Fix | Delete
#endif
[159] Fix | Delete
#if !defined (N_TEXT)
[160] Fix | Delete
#define N_TEXT 4
[161] Fix | Delete
#endif
[162] Fix | Delete
#if !defined (N_DATA)
[163] Fix | Delete
#define N_DATA 6
[164] Fix | Delete
#endif
[165] Fix | Delete
#if !defined (N_BSS)
[166] Fix | Delete
#define N_BSS 8
[167] Fix | Delete
#endif
[168] Fix | Delete
#if !defined (N_FN)
[169] Fix | Delete
#define N_FN 15
[170] Fix | Delete
#endif
[171] Fix | Delete
[172] Fix | Delete
#if !defined (N_EXT)
[173] Fix | Delete
#define N_EXT 1
[174] Fix | Delete
#endif
[175] Fix | Delete
#if !defined (N_TYPE)
[176] Fix | Delete
#define N_TYPE 036
[177] Fix | Delete
#endif
[178] Fix | Delete
#if !defined (N_STAB)
[179] Fix | Delete
#define N_STAB 0340
[180] Fix | Delete
#endif
[181] Fix | Delete
[182] Fix | Delete
/* The following type indicates the definition of a symbol as being
[183] Fix | Delete
an indirect reference to another symbol. The other symbol
[184] Fix | Delete
appears as an undefined reference, immediately following this symbol.
[185] Fix | Delete
[186] Fix | Delete
Indirection is asymmetrical. The other symbol's value will be used
[187] Fix | Delete
to satisfy requests for the indirect symbol, but not vice versa.
[188] Fix | Delete
If the other symbol does not have a definition, libraries will
[189] Fix | Delete
be searched to find a definition. */
[190] Fix | Delete
#define N_INDR 0xa
[191] Fix | Delete
[192] Fix | Delete
/* The following symbols refer to set elements.
[193] Fix | Delete
All the N_SET[ATDB] symbols with the same name form one set.
[194] Fix | Delete
Space is allocated for the set in the text section, and each set
[195] Fix | Delete
element's value is stored into one word of the space.
[196] Fix | Delete
The first word of the space is the length of the set (number of elements).
[197] Fix | Delete
[198] Fix | Delete
The address of the set is made into an N_SETV symbol
[199] Fix | Delete
whose name is the same as the name of the set.
[200] Fix | Delete
This symbol acts like a N_DATA global symbol
[201] Fix | Delete
in that it can satisfy undefined external references. */
[202] Fix | Delete
[203] Fix | Delete
/* These appear as input to LD, in a .o file. */
[204] Fix | Delete
#define N_SETA 0x14 /* Absolute set element symbol */
[205] Fix | Delete
#define N_SETT 0x16 /* Text set element symbol */
[206] Fix | Delete
#define N_SETD 0x18 /* Data set element symbol */
[207] Fix | Delete
#define N_SETB 0x1A /* Bss set element symbol */
[208] Fix | Delete
[209] Fix | Delete
/* This is output from LD. */
[210] Fix | Delete
#define N_SETV 0x1C /* Pointer to set vector in data area. */
[211] Fix | Delete
[212] Fix | Delete
#if !defined (N_RELOCATION_INFO_DECLARED)
[213] Fix | Delete
/* This structure describes a single relocation to be performed.
[214] Fix | Delete
The text-relocation section of the file is a vector of these structures,
[215] Fix | Delete
all of which apply to the text section.
[216] Fix | Delete
Likewise, the data-relocation section applies to the data section. */
[217] Fix | Delete
[218] Fix | Delete
struct relocation_info
[219] Fix | Delete
{
[220] Fix | Delete
/* Address (within segment) to be relocated. */
[221] Fix | Delete
int r_address;
[222] Fix | Delete
/* The meaning of r_symbolnum depends on r_extern. */
[223] Fix | Delete
unsigned int r_symbolnum:24;
[224] Fix | Delete
/* Nonzero means value is a pc-relative offset
[225] Fix | Delete
and it should be relocated for changes in its own address
[226] Fix | Delete
as well as for changes in the symbol or section specified. */
[227] Fix | Delete
unsigned int r_pcrel:1;
[228] Fix | Delete
/* Length (as exponent of 2) of the field to be relocated.
[229] Fix | Delete
Thus, a value of 2 indicates 1<<2 bytes. */
[230] Fix | Delete
unsigned int r_length:2;
[231] Fix | Delete
/* 1 => relocate with value of symbol.
[232] Fix | Delete
r_symbolnum is the index of the symbol
[233] Fix | Delete
in file's the symbol table.
[234] Fix | Delete
0 => relocate with the address of a segment.
[235] Fix | Delete
r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS
[236] Fix | Delete
(the N_EXT bit may be set also, but signifies nothing). */
[237] Fix | Delete
unsigned int r_extern:1;
[238] Fix | Delete
/* Four bits that aren't used, but when writing an object file
[239] Fix | Delete
it is desirable to clear them. */
[240] Fix | Delete
unsigned int r_pad:4;
[241] Fix | Delete
};
[242] Fix | Delete
#endif /* no N_RELOCATION_INFO_DECLARED. */
[243] Fix | Delete
[244] Fix | Delete
#endif /*__ASSEMBLY__ */
[245] Fix | Delete
#endif /* __A_OUT_GNU_H__ */
[246] Fix | Delete
[247] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function