Node:Formats, Next:Relocations, Previous:Archives, Up:BFD front end
A format is a BFD concept of high level file contents type. The formats supported by BFD are:
bfd_object
bfd_archive
bfd_core
bfd_check_format
Synopsis
boolean bfd_check_format(bfd *abfd, bfd_format format);Description
bfd_object,
bfd_archive or bfd_core).
If the BFD has been set to a specific target before the
call, only the named target and format combination is
checked. If the target has not been set, or has been set to
default, then all the known target backends is
interrogated to determine a match. If the default target
matches, it is used. If not, exactly one target must recognize
the file, or an error results.
The function returns true on success, otherwise false
with one of the following error codes:
bfd_error_invalid_operation -
if format is not one of bfd_object, bfd_archive or
bfd_core.
bfd_error_system_call -
if an error occured during a read - even some file mismatches
can cause bfd_error_system_calls.
file_not_recognised -
none of the backends recognised the file format.
bfd_error_file_ambiguously_recognized -
more than one backend recognised the file format.
bfd_check_format_matches
Synopsis
boolean bfd_check_format_matches(bfd *abfd, bfd_format format, char ***matching);Description
bfd_check_format, except when it returns false with
bfd_errno set to bfd_error_file_ambiguously_recognized. In that
case, if matching is not NULL, it will be filled in with
a NULL-terminated list of the names of the formats that matched,
allocated with malloc.
Then the user may choose a format and try again.
When done with the list that matching points to, the caller should free it.
bfd_set_format
Synopsis
boolean bfd_set_format(bfd *abfd, bfd_format format);Description
bfd_format_string
Synopsis
const char *bfd_format_string(bfd_format format);Description
invalid, object, archive, core, or unknown,
depending upon the value of format.