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);
DESCRIPTION
Functionelftc_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:
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\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));