/** * D header file for GNU/Linux * * $(LINK2 http://sourceware.org/git/?p=glibc.git;a=blob;f=elf/elf.h, glibc elf/elf.h) */module core.sys.linux.elf; version (linux):extern (C):pure:nothrow: import core.stdc.stdint;public import core.sys.elf; extern (D){ auto ELF32_ST_VISIBILITY(O)(O o) { return o & 0x03; } alias ELF64_ST_VISIBILITY = ELF32_ST_VISIBILITY;} struct Elf32_Nhdr{ Elf32_Word n_namesz; Elf32_Word n_descsz; Elf32_Word n_type;} struct Elf64_Nhdr{ Elf64_Word n_namesz; Elf64_Word n_descsz; Elf64_Word n_type;} enum NT_PRSTATUS = 1;enum NT_FPREGSET = 2;enum NT_PRPSINFO = 3;enum NT_PRXREG = 4;enum NT_TASKSTRUCT = 4;enum NT_PLATFORM = 5;enum NT_AUXV = 6;enum NT_GWINDOWS = 7;enum NT_ASRS = 8;enum NT_PSTATUS = 10;enum NT_PSINFO = 13;enum NT_PRCRED = 14;enum NT_UTSNAME = 15;enum NT_LWPSTATUS = 16;enum NT_LWPSINFO = 17;enum NT_PRFPXREG = 20;enum NT_SIGINFO = 0x53494749;enum NT_FILE = 0x46494c45;enum NT_PRXFPREG = 0x46e62b7f;enum NT_PPC_VMX = 0x100;enum NT_PPC_SPE = 0x101;enum NT_PPC_VSX = 0x102;enum NT_386_TLS = 0x200;enum NT_386_IOPERM = 0x201;enum NT_X86_XSTATE = 0x202;enum NT_S390_HIGH_GPRS = 0x300;enum NT_S390_TIMER = 0x301;enum NT_S390_TODCMP = 0x302;enum NT_S390_TODPREG = 0x303;enum NT_S390_CTRS = 0x304;enum NT_S390_PREFIX = 0x305;enum NT_S390_LAST_BREAK = 0x306;enum NT_S390_SYSTEM_CALL = 0x307;enum NT_S390_TDB = 0x308;enum NT_ARM_VFP = 0x400;enum NT_ARM_TLS = 0x401;enum NT_ARM_HW_BREAK = 0x402;enum NT_ARM_HW_WATCH = 0x403; enum NT_VERSION = 1; struct Elf32_Dyn{ Elf32_Sword d_tag; union _d_un { Elf32_Word d_val; Elf32_Addr d_ptr; } _d_un d_un;} struct Elf64_Dyn{ Elf64_Sxword d_tag; union _d_un { Elf64_Xword d_val; Elf64_Addr d_ptr; } _d_un d_un;} enum NT_GNU_ABI_TAG = 1;enum NT_GNU_HWCAP = 2;enum NT_GNU_BUILD_ID = 3;enum NT_GNU_GOLD_VERSION = 4; struct Elf32_auxv_t{ uint32_t a_type; union _a_un { uint32_t a_val; } _a_un a_un;} struct Elf64_auxv_t{ uint64_t a_type; union _a_un { uint64_t a_val; } _a_un a_un;} enum AT_NULL = 0;enum AT_IGNORE = 1;enum AT_EXECFD = 2;enum AT_PHDR = 3;enum AT_PHENT = 4;enum AT_PHNUM = 5;enum AT_PAGESZ = 6;enum AT_BASE = 7;enum AT_FLAGS = 8;enum AT_ENTRY = 9;enum AT_NOTELF = 10;enum AT_UID = 11;enum AT_EUID = 12;enum AT_GID = 13;enum AT_EGID = 14;enum AT_CLKTCK = 17;enum AT_PLATFORM = 15;enum AT_HWCAP = 16;enum AT_FPUCW = 18;enum AT_DCACHEBSIZE = 19;enum AT_ICACHEBSIZE = 20;enum AT_UCACHEBSIZE = 21;enum AT_IGNOREPPC = 22; enum AT_SECURE = 23; enum AT_BASE_PLATFORM = 24; enum AT_RANDOM = 25; enum AT_HWCAP2 = 26; enum AT_EXECFN = 31;enum AT_SYSINFO = 32;enum AT_SYSINFO_EHDR = 33; enum AT_L1I_CACHESHAPE = 34;enum AT_L1D_CACHESHAPE = 35;enum AT_L2_CACHESHAPE = 36;enum AT_L3_CACHESHAPE = 37;
/**
* D header file for GNU/Linux
*
* $(LINK2 http://sourceware.org/git/?p=glibc.git;a=blob;f=elf/elf.h, glibc elf/elf.h)
*/
module core.sys.linux.elf;
version (linux):
extern (C):
pure:
nothrow:
import core.stdc.stdint;
public import core.sys.elf;
extern (D)
{
auto ELF32_ST_VISIBILITY(O)(O o) { return o & 0x03; }
alias ELF64_ST_VISIBILITY = ELF32_ST_VISIBILITY;
}
struct Elf32_Nhdr
{
Elf32_Word n_namesz;
Elf32_Word n_descsz;
Elf32_Word n_type;
}
struct Elf64_Nhdr
{
Elf64_Word n_namesz;
Elf64_Word n_descsz;
Elf64_Word n_type;
}
enum NT_PRSTATUS = 1;
enum NT_FPREGSET = 2;
enum NT_PRPSINFO = 3;
enum NT_PRXREG = 4;
enum NT_TASKSTRUCT = 4;
enum NT_PLATFORM = 5;
enum NT_AUXV = 6;
enum NT_GWINDOWS = 7;
enum NT_ASRS = 8;
enum NT_PSTATUS = 10;
enum NT_PSINFO = 13;
enum NT_PRCRED = 14;
enum NT_UTSNAME = 15;
enum NT_LWPSTATUS = 16;
enum NT_LWPSINFO = 17;
enum NT_PRFPXREG = 20;
enum NT_SIGINFO = 0x53494749;
enum NT_FILE = 0x46494c45;
enum NT_PRXFPREG = 0x46e62b7f;
enum NT_PPC_VMX = 0x100;
enum NT_PPC_SPE = 0x101;
enum NT_PPC_VSX = 0x102;
enum NT_386_TLS = 0x200;
enum NT_386_IOPERM = 0x201;
enum NT_X86_XSTATE = 0x202;
enum NT_S390_HIGH_GPRS = 0x300;
enum NT_S390_TIMER = 0x301;
enum NT_S390_TODCMP = 0x302;
enum NT_S390_TODPREG = 0x303;
enum NT_S390_CTRS = 0x304;
enum NT_S390_PREFIX = 0x305;
enum NT_S390_LAST_BREAK = 0x306;
enum NT_S390_SYSTEM_CALL = 0x307;
enum NT_S390_TDB = 0x308;
enum NT_ARM_VFP = 0x400;
enum NT_ARM_TLS = 0x401;
enum NT_ARM_HW_BREAK = 0x402;
enum NT_ARM_HW_WATCH = 0x403;
enum NT_VERSION = 1;
struct Elf32_Dyn
{
Elf32_Sword d_tag;
union _d_un
{
Elf32_Word d_val;
Elf32_Addr d_ptr;
} _d_un d_un;
}
struct Elf64_Dyn
{
Elf64_Sxword d_tag;
union _d_un
{
Elf64_Xword d_val;
Elf64_Addr d_ptr;
} _d_un d_un;
}
enum NT_GNU_ABI_TAG = 1;
enum NT_GNU_HWCAP = 2;
enum NT_GNU_BUILD_ID = 3;
enum NT_GNU_GOLD_VERSION = 4;
struct Elf32_auxv_t
{
uint32_t a_type;
union _a_un
{
uint32_t a_val;
} _a_un a_un;
}
struct Elf64_auxv_t
{
uint64_t a_type;
union _a_un
{
uint64_t a_val;
} _a_un a_un;
}
enum AT_NULL = 0;
enum AT_IGNORE = 1;
enum AT_EXECFD = 2;
enum AT_PHDR = 3;
enum AT_PHENT = 4;
enum AT_PHNUM = 5;
enum AT_PAGESZ = 6;
enum AT_BASE = 7;
enum AT_FLAGS = 8;
enum AT_ENTRY = 9;
enum AT_NOTELF = 10;
enum AT_UID = 11;
enum AT_EUID = 12;
enum AT_GID = 13;
enum AT_EGID = 14;
enum AT_CLKTCK = 17;
enum AT_PLATFORM = 15;
enum AT_HWCAP = 16;
enum AT_FPUCW = 18;
enum AT_DCACHEBSIZE = 19;
enum AT_ICACHEBSIZE = 20;
enum AT_UCACHEBSIZE = 21;
enum AT_IGNOREPPC = 22;
enum AT_SECURE = 23;
enum AT_BASE_PLATFORM = 24;
enum AT_RANDOM = 25;
enum AT_HWCAP2 = 26;
enum AT_EXECFN = 31;
enum AT_SYSINFO = 32;
enum AT_SYSINFO_EHDR = 33;
enum AT_L1I_CACHESHAPE = 34;
enum AT_L1D_CACHESHAPE = 35;
enum AT_L2_CACHESHAPE = 36;
enum AT_L3_CACHESHAPE = 37;