static void EndianSwap(Dyn& rDyn, EEndianness Endianness) { if (!TestEndian(Endianness)) return; ::EndianSwap(rDyn.d_tag); ::EndianSwap(rDyn.d_un.d_val); }
static void EndianSwap(Rel& rRel, EEndianness Endianness) { if (!TestEndian(Endianness)) return; ::EndianSwap(rRel.r_offset); ::EndianSwap(rRel.r_info); }
static void EndianSwap(Rela& rRela, EEndianness Endianness) { if (!TestEndian(Endianness)) return; ::EndianSwap(rRela.r_offset); ::EndianSwap(rRela.r_info); ::EndianSwap(rRela.r_addend); }
static void EndianSwap(Sym& rSym, EEndianness Endianness) { if (!TestEndian(Endianness)) return; ::EndianSwap(rSym.st_name); ::EndianSwap(rSym.st_value); ::EndianSwap(rSym.st_size); ::EndianSwap(rSym.st_info); ::EndianSwap(rSym.st_other); ::EndianSwap(rSym.st_shndx); }
static void EndianSwap(Phdr& rPhdr, EEndianness Endianness) { if (!TestEndian(Endianness)) return; ::EndianSwap(rPhdr.p_type); ::EndianSwap(rPhdr.p_flags); ::EndianSwap(rPhdr.p_offset); ::EndianSwap(rPhdr.p_vaddr); ::EndianSwap(rPhdr.p_paddr); ::EndianSwap(rPhdr.p_filesz); ::EndianSwap(rPhdr.p_memsz); ::EndianSwap(rPhdr.p_align); }
static void EndianSwap(Shdr& rShdr, EEndianness Endianness) { if (!TestEndian(Endianness)) return; ::EndianSwap(rShdr.sh_name); ::EndianSwap(rShdr.sh_type); ::EndianSwap(rShdr.sh_flags); ::EndianSwap(rShdr.sh_addr); ::EndianSwap(rShdr.sh_offset); ::EndianSwap(rShdr.sh_size); ::EndianSwap(rShdr.sh_link); ::EndianSwap(rShdr.sh_info); ::EndianSwap(rShdr.sh_addralign); ::EndianSwap(rShdr.sh_entsize); }
static void EndianSwap(Ehdr& rEhdr, EEndianness Endianness) { if (!TestEndian(Endianness)) return; ::EndianSwap(rEhdr.e_type); ::EndianSwap(rEhdr.e_machine); ::EndianSwap(rEhdr.e_version); ::EndianSwap(rEhdr.e_entry); ::EndianSwap(rEhdr.e_phoff); ::EndianSwap(rEhdr.e_shoff); ::EndianSwap(rEhdr.e_flags); ::EndianSwap(rEhdr.e_ehsize); ::EndianSwap(rEhdr.e_phentsize); ::EndianSwap(rEhdr.e_phnum); ::EndianSwap(rEhdr.e_shentsize); ::EndianSwap(rEhdr.e_shnum); ::EndianSwap(rEhdr.e_shstrndx); }
/************************************************* Function: main Description: 主函数 Calls: scanf printf Called By: 编译器 Input: 无 Output: 无 Return: 0 *************************************************/ int main(void) { int a = TestEndian(); printf("%d\n", a); }