tail head cat sleep
QR code linking to this page

Manual Pages  — ELFTC_BFD_FIND_TARGET

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

CONTENTS

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

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

EXAMPLES

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));

SEE ALSO

elf(3)

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.

If it wasn't for C, we'd be using BASI, PASAL and OBOL