elf_getident(3E)

elf_getident - Retrieves file identification data

As shipped in IRIX 6.5.22. Last changed in IRIX 6.5.19.

NAME
     elf_getident - Retrieves file identification data

SYNOPSIS
     cc [flag ...] file ...  -lelf [library ...]

     #include <libelf.h>

     char *elf_getident(Elf *elf, size_t *ptr);

DESCRIPTION
     ELF provides a framework for various classes of files, where basic
     objects may have 32 bits, 64 bits, etc.  To accommodate these
     differences without forcing the larger sizes on smaller machines, the
     initial bytes in an ELF file hold identification information common to
     all file classes.  Every ELF header's e_ident has EI_NIDENT bytes with
     the following interpretation:

 --------------------------------------------------------------------------
      e_ident Index

                                   Value

                                                           Purpose

 --------------------------------------------------------------------------

 EI_MAG0
                          ELFMAG0
                                                    File identification

 EI_MAG1
                          ELFMAG1


 EI_MAG2
                          ELFMAG2


 EI_MAG3
                          ELFMAG3


 EI_CLASS
                          ELFCLASSNONE
                                                    File class


                          ELFCLASS32



                          ELFCLASS64


 EI_DATA
                          ELFDATANONE
                                                    Data encoding


                          ELFDATA2LSB



                          ELFDATA2MSB


 EI_VERSION
                          EV_CURRENT
                                                    File version

 7-15
                          0
                                                    Unused, set to zero

 --------------------------------------------------------------------------

     Other kinds of files also may have identification data, though they
     would not conform to e_ident.  See elf_kind(3E) for details.

     elf_getident returns a pointer to the file's initial bytes.  If the
     library recognizes the file, a conversion from the file image to the
     memory image may occur.  In any case, the identification bytes are
     guaranteed to not have been modified, though the size of the
     unmodified area depends on the file type.  If ptr is non-null, the
     library stores the number of identification bytes in the location to
     which ptr points.  If no data are present, elf is null, or an error
     occurs, the return value is a null pointer, with zero optionally
     stored through ptr.

SEE ALSO
     elf(3E), elf_begin(3E), elf_getehdr(3E), elf_kind(3E), elf_rawfile(3E)