📄 elf64.h
字号:
/* * sys/elf64.h */#ifndef _SYS_ELF64_H#define _SYS_ELF64_H#include <sys/elfcommon.h>/* ELF standard typedefs (yet more proof that <stdint.h> was way overdue) */typedef uint16_t Elf64_Half;typedef int16_t Elf64_SHalf;typedef uint32_t Elf64_Word;typedef int32_t Elf64_Sword;typedef uint64_t Elf64_Xword;typedef int64_t Elf64_Sxword;typedef uint64_t Elf64_Off;typedef uint64_t Elf64_Addr;typedef uint16_t Elf64_Section;/* Dynamic header */typedef struct elf64_dyn { Elf64_Sxword d_tag; union { Elf64_Xword d_val; Elf64_Addr d_ptr; } d_un;} Elf64_Dyn;/* Relocations */#define ELF64_R_SYM(x) ((x) >> 32)#define ELF64_R_TYPE(x) ((x) & 0xffffffff)typedef struct elf64_rel { Elf64_Addr r_offset; Elf64_Xword r_info;} Elf64_Rel;typedef struct elf64_rela { Elf64_Addr r_offset; Elf64_Xword r_info; Elf64_Sxword r_addend;} Elf64_Rela;/* Symbol */typedef struct elf64_sym { Elf64_Word st_name; unsigned char st_info; unsigned char st_other; Elf64_Half st_shndx; Elf64_Addr st_value; Elf64_Xword st_size;} Elf64_Sym;/* Main file header */typedef struct elf64_hdr { unsigned char e_ident[EI_NIDENT]; Elf64_Half e_type; Elf64_Half e_machine; Elf64_Word e_version; Elf64_Addr e_entry; Elf64_Off e_phoff; Elf64_Off e_shoff; 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;/* Program header */typedef struct elf64_phdr { Elf64_Word p_type; Elf64_Word p_flags; Elf64_Off p_offset; Elf64_Addr p_vaddr; Elf64_Addr p_paddr; Elf64_Xword p_filesz; Elf64_Xword p_memsz; Elf64_Xword p_align;} Elf64_Phdr;/* Section header */typedef struct elf64_shdr { Elf64_Word sh_name; Elf64_Word sh_type; Elf64_Xword sh_flags; Elf64_Addr sh_addr; Elf64_Off sh_offset; Elf64_Xword sh_size; Elf64_Word sh_link; Elf64_Word sh_info; Elf64_Xword sh_addralign; Elf64_Xword sh_entsize;} Elf64_Shdr;/* Note header */typedef struct elf64_note { Elf64_Word n_namesz; /* Name size */ Elf64_Word n_descsz; /* Content size */ Elf64_Word n_type; /* Content type */} Elf64_Nhdr;#endif /* _SYS_ELF64_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -