#
define EI_NIDENT 16 /* Size of e_ident array. */
/* Values for e_type. */
#
define ET_NONE 0
/* No file type */#
define ET_REL 1 /* Relocatable file */#
define ET_EXEC 2 /* Executable file */#
define ET_DYN 3 /* Shared object file */
/* Values for e_machine (architecute). */
#
define EM_M32 1 /* AT&T WE 32100 */#
define EM_386 3 /* Intel 80386+ */#
define EM_68K 4 /* Motorola m68k family */#
define EM_88K 5 /* Motorola m88k family */#
define EM_486 6 /* Perhaps disused */#
define EM_860 7 /* Intel 80860 */#
define EM_MIPS 8 /* MIPS R3000 big-endian */#
define EM_S370 9 /* IBM System/370 */
#
define EM_960 19 /* Intel 80960 */#
define EM_PPC 20 /* PowerPC */#
define EM_PPC64 21 /* PowerPC 64-bit */
#
define EM_V800 36 /* NEC V800 series */#
define EM_FR20 37 /* Fujitsu FR20 */#
define EM_RCE 39 /* Motorola RCE */#
define EM_SH 42 /* Hitachi SH */#
define EM_ARC 45 /* Argonaut RISC Core */#
define EM_H8S 48 /* Hitachi H8S */#
define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator*/#
define EM_PCP 55 /* Siemens PCP */#
define EM_NCPU 56 /* Sony nCPU embeeded RISC */#
define EM_NDR1 57 /* Denso NDR1 microprocessor */#
define EM_STARCORE 58 /* Motorola Start*Core processor */#
define EM_ME16 59 /* Toyota ME16 processor */#
define EM_ST100 60 /* STMicroelectronic ST100 processor */#
define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/#
define EM_X86_64 62 /* AMD x86-64 architecture */#
define EM_PDSP 63 /* Sony DSP Processor */
#
define EM_FX66 66 /* Siemens FX66 microcontroller */#
define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */#
define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */#
define EM_68HC16 69 /* Motorola MC68HC16 microcontroller */#
define EM_68HC11 70 /* Motorola MC68HC11 microcontroller */#
define EM_68HC08 71 /* Motorola MC68HC08 microcontroller */#
define EM_68HC05 72 /* Motorola MC68HC05 microcontroller */#
define EM_SVX 73 /* Silicon Graphics SVx */#
define EM_AT19 74 /* STMicroelectronics ST19 8 bit mc */#
define EM_VAX 75 /* Digital VAX */#
define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */#
define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded processor */#
define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor */#
define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor */#
define EM_MMIX 80 /* Donald Knuth's educational 64-bit processor */#
define EM_HUANY 81 /* Harvard University machine-independent object files */#
define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */#
define EM_FR30 84 /* Fujitsu FR30 */#
define EM_D10V 85 /* Mitsubishi D10V */#
define EM_D30V 86 /* Mitsubishi D30V */#
define EM_M32R 88 /* Mitsubishi M32R */#
define EM_PJ 91 /* picoJava */#
define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */#
define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */#
define EM_XTENSA 94 /* Tensilica Xtensa Architecture */
/* Values for p_type. */
#
define PT_NULL 0
/* Unused entry. */#
define PT_LOAD 1 /* Loadable segment. */#
define PT_DYNAMIC 2 /* Dynamic linking information segment. */#
define PT_INTERP 3 /* Pathname of interpreter. */#
define PT_NOTE 4 /* Auxiliary information. */#
define PT_SHLIB 5 /* Reserved (not used). */#
define PT_PHDR 6 /* Location of program header itself. */
/* Values for p_flags. */
#
define PF_X 0x1 /* Executable. */#
define PF_W 0x2 /* Writable. */#
define PF_R 0x4 /* Readable. */
#
define EI_CLASS 4 /* File class byte index */
#
define EI_DATA 5 /* Data encodeing byte index */#
define ELFDATA2LSB 1 /* 2's complement little endian */
#
define EI_VERSION 6 /* File version byte index */ /* Value must be EV_CURRENT */
#
define EV_NONE 0
/* Invalid ELF Version */
/*
* ELF definitions common to all 32-bit architectures.
*/
/*
* ELF header.
*/
typedef struct {
typedef struct {
/*
* Program header.
*/
typedef struct {
typedef struct {
/* Standardized Elf image notes for booting... The name for all of these is ELFBoot */
/* ELF Defines for the current architecture */
#endif /* ASSEMBLY */
#endif /* ELF_H */