FreeBSD manual

download PDF document: elftc_bfd_find_target.3.pdf

ELFTC_BFD_FIND_TARGET(3) FreeBSD Library Functions Manual
NAME elftc_bfd_find_target, elftc_bfd_target_byteorder, elftc_bfd_target_class, elftc_bfd_target_flavor, elftc_bfd_target_machine - binary object descriptor handling
LIBRARY library "libelftc"
SYNOPSIS #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_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);
DESCRIPTION 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 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.
RETURN VALUES 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 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\n", elftc_bfd_target_class(t) == ELFCLASS32 ? "ELFCLASS32" : "ELFCLASS64"); printf("Byteorder: %s\n", elftc_bfd_target_byteorder(t) == ELFDATA2LSB ? "LSB" : "MSB"); printf("Flavor: %d\n", elftc_bfd_target_flavor(t));
SEE ALSO elf(3)
FreeBSD 14.0-RELEASE-p11 February 12, 2020 FreeBSD 14.0-RELEASE-p11