linux-2.6.15.6

源代码在线查看: elf.h

软件大小: 48743 K
上传用户: ATT320
关键词: linux 15
下载地址: 免注册下载 普通下载 VIP

相关代码

				#ifndef _PPC_BOOT_ELF_H_				#define _PPC_BOOT_ELF_H_								/* 32-bit ELF base types. */				typedef unsigned int Elf32_Addr;				typedef unsigned short Elf32_Half;				typedef unsigned int Elf32_Off;				typedef signed int Elf32_Sword;				typedef unsigned int Elf32_Word;								/* 64-bit ELF base types. */				typedef unsigned long long Elf64_Addr;				typedef unsigned short Elf64_Half;				typedef signed short Elf64_SHalf;				typedef unsigned long long Elf64_Off;				typedef signed int Elf64_Sword;				typedef unsigned int Elf64_Word;				typedef unsigned long long Elf64_Xword;				typedef signed long long Elf64_Sxword;								/* These constants are for the segment types stored in the image headers */				#define PT_NULL    0				#define PT_LOAD    1				#define PT_DYNAMIC 2				#define PT_INTERP  3				#define PT_NOTE    4				#define PT_SHLIB   5				#define PT_PHDR    6				#define PT_TLS     7		/* Thread local storage segment */				#define PT_LOOS    0x60000000	/* OS-specific */				#define PT_HIOS    0x6fffffff	/* OS-specific */				#define PT_LOPROC  0x70000000				#define PT_HIPROC  0x7fffffff				#define PT_GNU_EH_FRAME		0x6474e550								#define PT_GNU_STACK	(PT_LOOS + 0x474e551)								/* These constants define the different elf file types */				#define ET_NONE   0				#define ET_REL    1				#define ET_EXEC   2				#define ET_DYN    3				#define ET_CORE   4				#define ET_LOPROC 0xff00				#define ET_HIPROC 0xffff								/* These constants define the various ELF target machines */				#define EM_NONE  0				#define EM_PPC	       20	/* PowerPC */				#define EM_PPC64       21	/* PowerPC64 */								#define EI_NIDENT	16								typedef struct elf32_hdr {					unsigned char e_ident[EI_NIDENT];					Elf32_Half e_type;					Elf32_Half e_machine;					Elf32_Word e_version;					Elf32_Addr e_entry;	/* Entry point */					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;								typedef struct elf64_hdr {					unsigned char e_ident[16];	/* ELF "magic number" */					Elf64_Half e_type;					Elf64_Half e_machine;					Elf64_Word e_version;					Elf64_Addr e_entry;	/* Entry point virtual address */					Elf64_Off e_phoff;	/* Program header table file offset */					Elf64_Off e_shoff;	/* Section header table file offset */					Elf64_Word e_flags;					Elf64_Half e_ehsize;					Elf64_Half e_phentsize;					Elf64_Half e_phnum;					Elf64_Half e_shentsize;					Elf64_Half e_shnum;					Elf64_Half e_shstrndx;				} Elf64_Ehdr;								/* These constants define the permissions on sections in the program				   header, p_flags. */				#define PF_R		0x4				#define PF_W		0x2				#define PF_X		0x1								typedef struct elf32_phdr {					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;								typedef struct elf64_phdr {					Elf64_Word p_type;					Elf64_Word p_flags;					Elf64_Off p_offset;	/* Segment file offset */					Elf64_Addr p_vaddr;	/* Segment virtual address */					Elf64_Addr p_paddr;	/* Segment physical address */					Elf64_Xword p_filesz;	/* Segment size in file */					Elf64_Xword p_memsz;	/* Segment size in memory */					Elf64_Xword p_align;	/* Segment alignment, file & memory */				} Elf64_Phdr;								#define	EI_MAG0		0	/* e_ident[] indexes */				#define	EI_MAG1		1				#define	EI_MAG2		2				#define	EI_MAG3		3				#define	EI_CLASS	4				#define	EI_DATA		5				#define	EI_VERSION	6				#define	EI_OSABI	7				#define	EI_PAD		8								#define	ELFMAG0		0x7f	/* EI_MAG */				#define	ELFMAG1		'E'				#define	ELFMAG2		'L'				#define	ELFMAG3		'F'				#define	ELFMAG		"\177ELF"				#define	SELFMAG		4								#define	ELFCLASSNONE	0	/* EI_CLASS */				#define	ELFCLASS32	1				#define	ELFCLASS64	2				#define	ELFCLASSNUM	3								#define ELFDATANONE	0	/* e_ident[EI_DATA] */				#define ELFDATA2LSB	1				#define ELFDATA2MSB	2								#define EV_NONE		0	/* e_version, EI_VERSION */				#define EV_CURRENT	1				#define EV_NUM		2								#define ELFOSABI_NONE	0				#define ELFOSABI_LINUX	3								#endif				/* _PPC_BOOT_ELF_H_ */							

相关资源