⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elf.h

📁 os arm os arm os arm os arm os arm os arm os arm os arm os arm os arm os arm os arm os arm os arm
💻 H
字号:
/* *	ApOS (Another Project software for s3c2410) *	 *	This program is free software; you can redistribute it and/or modify *	it under the terms of the GNU General Public License version 2 as *	published by the Free Software Foundation. *			 *						Copyright caiyuqing * */#include "typedef.h"#define EI_MAG0 	0	//File identification#define EI_MAG1		1	//File identification#define EI_MAG2 	2	//File identification#define EI_MAG3 	3	//File identification#define EI_CLASS	4	//File class#define EI_DATA 	5	//Data encoding#define EI_VERSION 	6	//File version#define EI_OSABI 	7	//Operating system/ABI identification#define EI_ABIVERSION 	8	//ABI version#define EI_PAD 		9	//Start of padding bytes#define EI_NIDENT 	16	//Size of e_ident[]//e_ident[EI_CLASS]#define ELFCLASSNONE 	0 	//Invalid class#define ELFCLASS32 	1 	//32-bit objects#define ELFCLASS64 	2 	//64-bit objects//e_ident[EI_DATA]#define ELFDATANONE 	0	//Invalid data encoding#define ELFDATA2LSB 	1	//little endian#define ELFDATA2MSB 	2	//big endian//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#define ET_CORE		4	//Core file#define ET_LOOS		0xfe00	//Operating system-specific#define ET_HIOS		0xfeff	//Operating system-specific#define ET_LOPROC	0xff00	//Processor-specific#define ET_HIPROC	0xffff	//Processor-specific//e_machine#define EM_NONE		0	//No machine#define EM_M32		1	//AT&T WE 32100#define EM_SPARC	2	//SPARC#define EM_386		3	//Intel 80386#define EM_68K		4	//Motorola 68000#define EM_88K		5 	//Motorola 88000#define RESERVED1	6	//Reserved for future use#define EM_860		7	//Intel 80860#define EM_MIPS		8	//MIPS I Architecture#define EM_S370		9	//IBM System/370 Processor#define EM_MIPS_RS3_LE 	10	//MIPS RS3000 Little-endian//11-14 Reserved for future use#define EM_PARISC	15	//Hewlett-Packard PA-RISC#define RESERVED2	16	//Reserved for future use#define EM_VPP500	17	//Fujitsu VPP500#define EM_SPARC32PLUS	18	//Enhanced instruction set SPARC#define EM_960		19	//Intel 80960#define EM_PPC		20	//PowerPC#define EM_PPC64	21	//64-bit PowerPC//22-35 Reserved for future use#define EM_V800		36	//NEC V800#define EM_FR20		37	//Fujitsu FR20#define EM_RH32		38	//TRW RH-32#define EM_RCE		39	//Motorola RCE#define EM_ARM		40	//Advanced RISC Machines ARM#define EM_ALPHA	41	//Digital Alpha#define EM_SH		42	//Hitachi SH#define EM_SPARCV9	43	//SPARC Version 9#define EM_TRICORE	44	//Siemens Tricore embedded processor#define EM_ARC		45	//Argonaut RISC Core, Argonaut Technologies Inc.#define EM_H8_300	46	//Hitachi H8/300#define EM_H8_300H	47	//Hitachi H8/300H#define EM_H8S		48	//Hitachi H8S#define EM_H8_500	49	//Hitachi H8/500#define EM_IA_64	50	//Intel IA-64 processor architecture#define EM_MIPS_X	51	//Stanford MIPS-X#define EM_COLDFIRE	52	//Motorola ColdFire#define EM_68HC12	53	//Motorola M68HC12#define EM_MMA		54	//Fujitsu MMA Multimedia Accelerator#define EM_PCP		55	//Siemens PCP#define EM_NCPU		56	//Sony nCPU embedded RISC processor#define EM_NDR1		57	//Denso NDR1 microprocessor#define EM_STARCORE	58	//Motorola Star*Core processor#define EM_ME16		59	//Toyota ME16 processor#define EM_ST100	60	//STMicroelectronics ST100 processor#define EM_TINYJ	61	// Advanced Logic Corp. TinyJ embedded processor family//62-65 Reserved for future use#define EM_FX66		66	//Siemens FX66 microcontroller#define EM_ST9PLUS	67	//STMicroelectronics ST9+ 8/16 bit microcontroller#define EM_ST7		68	//STMicroelectronics ST7 8-bit microcontroller#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_ST19		74	//STMicroelectronics ST19 8-bit microcontroller#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_PRISM	82	//SiTera Prism//e_version #define EV_NONE		0	//Invalid version #define EV_CURRENT	1	//Current version typedef struct{        unsigned char   e_ident[EI_NIDENT];        Elf32_Half      e_type;        Elf32_Half      e_machine;        Elf32_Word      e_version;        Elf32_Addr      e_entry;        Elf32_Off       e_phoff;        Elf32_Off       e_shoff;        Elf32_Word      e_flags;        Elf32_Half      e_ehsize;        Elf32_Half      e_phentsize;        Elf32_Half      e_phnum;        Elf32_Half      e_shentsize;        Elf32_Half      e_shnum;        Elf32_Half      e_shstrndx;}Elf32_Ehdr;//Special Section Indexes #define	SHN_UNDEF	0#define	SHN_LORESERVE	0xff00#define	SHN_LOPROC	0xff00#define	SHN_HIPROC	0xff1f#define	SHN_LOOS	0xff20#define	SHN_HIOS	0xff3f#define	SHN_ABS		0xfff1#define	SHN_COMMON	0xfff2#define	SHN_XINDEX	0xffff#define	SHN_HIRESERVE	0xffff//sh_type#define	SHT_NULL	0#define	SHT_PROGBITS	1#define	SHT_SYMTAB	2#define	SHT_STRTAB	3#define	SHT_RELA	4#define	SHT_HASH	5#define	SHT_DYNAMIC	6#define	SHT_NOTE	7#define	SHT_NOBITS	8#define	SHT_REL		9#define	SHT_SHLIB	10#define	SHT_DYNSYM 	11#define	SHT_INIT_ARRAY	14#define	SHT_FINI_ARRAY	15#define	SHT_PREINIT_ARRAY 16#define	SHT_GROUP	17#define	SHT_SYMTAB_SHNDX 18#define	SHT_LOOS	0x60000000#define	SHT_HIOS	0x6fffffff#define	SHT_LOPROC	0x70000000#define	SHT_HIPROC	0x7fffffff#define	SHT_LOUSER	0x80000000#define	SHT_HIUSER	0xffffffff//sh_flags#define	SHF_WRITE	0x1 #define	SHF_ALLOC	0x2 #define	SHF_EXECINSTR	0x4 #define	SHF_MERGE	0x10 #define	SHF_STRINGS	0x20 #define	SHF_INFO_LINK	0x40 #define	SHF_LINK_ORDER	0x80 #define	SHF_OS_NONCONFORMING 0x100 #define	SHF_GROUP	0x200 #define	SHF_MASKOS	0x0ff00000 #define	SHF_MASKPROC	0xf0000000 typedef struct {	Elf32_Word	sh_name;	Elf32_Word	sh_type;	Elf32_Word	sh_flags;	Elf32_Addr	sh_addr;	Elf32_Off	sh_offset;	Elf32_Word	sh_size;	Elf32_Word	sh_link;	Elf32_Word	sh_info;	Elf32_Word	sh_addralign;	Elf32_Word	sh_entsize;}Elf32_Shdr;typedef struct {	Elf32_Word	p_type;	Elf32_Off	p_offset;	Elf32_Addr	p_vaddr;	Elf32_Addr	p_paddr;	Elf32_Word	p_filesz;	Elf32_Word	p_memsz;	Elf32_Word	p_flags;	Elf32_Word	p_align;} Elf32_Phdr;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -