Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_getident(3E) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

elf_begin(3E)

elf_getehdr(3E)

elf_kind(3E)

elf_rawfile(3E)






       elf_getident(3E)                                    elf_getident(3E)


       NAME
             elf_getident - retrieve file identification data

       SYNOPSIS
             cc [flag . . . ] file . . . -lelf [library] . . .
             #include <libelf.h>
             char *elf_getident(Elf *elf, size_t *ptr);

       DESCRIPTION
             As elf(3E) explains, ELF provides a framework for various
             classes of files, where basic objects may have 32 bits, 64
             bits, and so forth.  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     |
                   EI_MAG1      |  ELFMAG1     |
                   EI_MAG2      |  ELFMAG2     |  File identification
                   EI_MAG3      |  ELFMAG3     |
                   _____________|______________|_____________________
                                |  ELFCLASSNONE|
                   EI_CLASS     |  ELFCLASS32  |  File class
                                |  ELFCLASS64  |
                   _____________|______________|_____________________
                                |  ELFDATANONE |
                   EI_DATA      |  ELFDATA2LSB |  Data encoding
                                |  ELFDATA2MSB |
                   _____________|______________|_____________________
                   EI_VERSION   |  EV_CURRENT  |  File version
                   _____________|______________|_____________________
                   7-15         |  0           |  Unused, set to zero
                   _____________|______________|_____________________

             Other kinds of files [see elf_kind(3E)] also may have
             identification data, though they would not conform to e_ident.

             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 not to have been
             modified, though the size of the unmodified area depends on
             the file type.  If ptr is non-null, the library stores the


                           Copyright 1994 Novell, Inc.               Page 1













      elf_getident(3E)                                    elf_getident(3E)


            number of identification bytes in the location to which ptr
            points.  If no data is present, elf is null, or an error
            occurs, the return value is a null pointer, with zero
            optionally stored through ptr.

      REFERENCES
            elf(3E), elf_begin(3E), elf_getehdr(3E), elf_kind(3E),
            elf_rawfile(3E)








































                          Copyright 1994 Novell, Inc.               Page 2








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026