tail head cat sleep
QR code linking to this page



elftc_bfd_find_target, elftc_bfd_target_byteorder, elftc_bfd_target_class, elftc_bfd_target_flavor, elftc_bfd_target_machine – binary object descriptor handling





#include <libelftc.h>
struct Elftc_Bfd_Target;

Elftc_Bfd_Target *
elftc_bfd_find_target(const char *target_name);

unsigned int
elftc_bfd_target_class(Elftc_Bfd_Target *target);

unsigned int
elftc_bfd_target_byteorder(Elftc_Bfd_Target *target);

elftc_bfd_target_flavor(Elftc_Bfd_Target *target);

unsigned int
elftc_bfd_target_machine(Elftc_Bfd_Target *target);

unsigned int
elftc_bfd_target_osabi(Elftc_Bfd_Target *target);


Function elftc_bfd_find_target() locates a binary object descriptor corresponding to the descriptor name in argument target_name. Binary object descriptors encapsulate properties of an object format such as its file representation, ELF class, and byte endianness.

Known descriptor names and their properties include:
Name Object Format Byte Order Bit Width
binary Binary - -
efi-app-ia32 PE LSB 32
efi-app-x86_64 PE LSB 64
elf32-avr ELF LSB 32
elf32-big ELF MSB 32
elf32-bigarm ELF MSB 32
elf32-bigmips ELF MSB 32
elf32-i386 ELF LSB 32
elf32-i386-freebsd ELF LSB 32
elf32-ia64-big ELF MSB 32
elf32-little ELF LSB 32
elf32-littlearm ELF LSB 32
elf32-littlemips ELF LSB 32
elf32-powerpc ELF MSB 32
elf32-powerpc-freebsd ELF MSB 32
elf32-powerpcle ELF LSB 32
elf32-riscv ELF LSB 32
elf64-riscv ELF LSB 64
elf64-riscv-freebsd ELF LSB 64
elf32-sh ELF MSB 32
elf32-shl ELF LSB 32
elf32-sh-nbsd ELF MSB 32
elf32-shl-nbsd ELF LSB 32
elf32-shbig-linux ELF MSB 32
elf32-shl-linux ELF LSB 32
elf32-sparc ELF MSB 32
elf32-tradbigmips ELF MSB 32
elf32-tradlittlemips ELF LSB 32
elf64-alpha ELF LSB 64
elf64-alpha-freebsd ELF LSB 64
elf64-big ELF MSB 64
elf64-bigmips ELF MSB 64
elf64-ia64-big ELF MSB 64
elf64-ia64-little ELF LSB 64
elf64-little ELF LSB 64
elf64-littleaarch64 ELF LSB 64
elf64-littlemips ELF LSB 64
elf64-powerpc ELF MSB 64
elf64-powerpc-freebsd ELF MSB 64
elf64-powerpcle ELF LSB 64
elf64-sh64 ELF MSB 64
elf64-sh64l ELF LSB 64
elf64-sh64-nbsd ELF MSB 64
elf64-sh64l-nbsd ELF LSB 64
elf64-sh64big-linux ELF MSB 64
elf64-sh64-linux ELF LSB 64
elf64-sparc ELF MSB 64
elf64-sparc-freebsd ELF MSB 64
elf64-tradbigmips ELF MSB 64
elf64-tradlittlemips ELF LSB 64
elf64-x86-64 ELF LSB 64
elf64-x86-64-freebsd ELF LSB 64
ihex IHEX - -
pei-i386 PE LSB 32
pei-x86-64 PE LSB 64
srec SREC - -
symbolsrec SREC - -

Function elftc_bfd_target_byteorder() returns the ELF byte order associated with target descriptor target.

Function elftc_bfd_target_class() returns the ELF class associated with target descriptor target.

Function elftc_bfd_target_flavor() returns the object format associated with target descriptor target. The known object formats are:
ETF_ELF An ELF object.
ETF_BINARY Raw binary.
ETF_IHEX An object encoded in Intel hex format.
ETF_NONE An unknown object format.
ETF_SREC An object encoded as S-records.


Function elftc_bfd_find_target() returns a valid pointer to an opaque binary target descriptor if successful, or NULL in case of an error.

Function elftc_bfd_target_byteorder() returns the ELF byte order associated with the target descriptor; one of ELFDATA2MSB or ELFDATA2LSB.

Function elftc_bfd_target_class() returns the ELF class associated with the target descriptor; one of ELFCLASS32 or ELFCLASS64.

Function elftc_bfd_target_machine() returns the ELF architecture associated with the target descriptor.

Function elftc_bfd_target_flavor() returns one of ETF_BINARY, ETF_ELF, ETF_IHEX or ETF_SREC if successful or ETF_NONE in case of error.


To return descriptor information associated with target name "elf64-big" use:
struct Elftc_Bfd_Target *t;

if ((t = elftc_bfd_find_target("elf64-big")) == NULL)         errx(EXIT_FAILURE, "Cannot find target descriptor");

printf("Class: %s , elftc_bfd_target_class(t) == ELFCLASS32 ? "ELFCLASS32" : "ELFCLASS64"); printf("Byteorder: %s , elftc_bfd_target_byteorder(t) == ELFDATA2LSB ? "LSB" : "MSB"); printf("Flavor: %d , elftc_bfd_target_flavor(t));



ELFTC_BFD_FIND_TARGET (3) February 12, 2020

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

F U cn rd dis U mst uz Unix.