elf_fsize(3E)

elf_fsize: elf32_fsize elf64_fsize - return the size of an object file type

As shipped in IRIX 6.5. First release of IRIX 6.5.

NAME
     elf_fsize: elf32_fsize elf64_fsize - return 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        File Size           Memory Size
               _____________________________________________________
               ELF_T_ADDR    ELF32_FSZ_ADDR    sizeof(Elf32_Addr)
               ELF_T_BYTE    1                 sizeof(unsigned char)
               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 64-bit class works identically, simply replacing all instances of 32
     in the description and table with 64.

SEE ALSO
     elf(3E), elf_version(3E), elf_xlate(3E).

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 app 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 which 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.