ELF_FSIZE(3E)ELF_FSIZE(3E) NAME elf_fsize, elf32_fsizeE, elf64_fsize - Returns the size of an object file type SYNOPSIS cc [flag ...] file ... -lelf [library ...] #include <libelf.h> size_t elf32_fsize(Elf_Type type, size_t count, unsigned ver); size_t elf64_fsize(Elf_Type type, size_t count, unsigned ver); #define _LIBELF_XTND_64 Elf64_Xword elf64_fsize(Elf_Type type, Elf64_Xword count, unsigned ver); DESCRIPTION elf32_fsize gives the size in bytes of the 32-bit file representation of count data objects with the given type. The library uses version ver to calculate the size [see elf(3E) and elf_version(3E)]. Constant values are available for the sizes of fundamental types. -------------------------------------------------------------- Elf_Type FileSize MemorySize -------------------------------------------------------------- ELF_T_ADDR ELF32_FSZ_ADDR sizeof(Elf32_Addr) ELF_T_BYTE 1 sizeof(unsignedchar) ELF_T_HALF ELF32_FSZ_HALF sizeof(Elf32_Half) ELT_T_OFF ELF32_FSZ_OFF sizeof(Elf32_Off) ELF_T_SWORD ELF32_FSZ_SWORD sizeof(Elf32_Sword) ELF_T_WORD ELF32_FSZ_WORD sizeof(Elf32_Word) -------------------------------------------------------------- elf32_fsize returns zero if the value of type or ver is unknown. See elf_xlate(3E) for a list of the type values. The previous description and table also applies to the 64-bit class; just replace all instances of 32 with 64. NOTES The use of a size_t in a 32-bit compile with elf64_fsize is unfortunate, since that makes it impossible to deal with certain object files. If, when the 32-bit application is compiled, _LIBELF_XTND_64 is defined, then the function interface changes to have 64-bit fields. If _LIBELF_XTND_64 is defined at compile-time, then instead of linking with -lelf, link with -lelf_xtnd. There is a corresponding -ldwarf_xtnd. It is essential that a 32-bit application compiled with _LIBELF_XTND_64 be entirely compiled with _LIBELF_XTND_64 defined. Applications that are built as 64-bit applications can ignore _LIBELF_XTND_64; it has no effect on them and 64-bit applications always link with -lelf, never with -lelf_xtnd. SEE ALSO elf(3E), elf_version(3E), elf_xlate(3E)