Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_getarhdr(3E) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

ar(4)

elf_getarhdr(3E)                                           elf_getarhdr(3E)

NAME
     elfgetarhdr - retrieve archive member header

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

     #include <libelf.h>

     ElfArhdr *elfgetarhdr(Elf *elf);

DESCRIPTION
     elfgetarhdr() returns a pointer to an archive member header, if one
     is available for the ELF descriptor elf. Otherwise, no archive member
     header exists, an error occurred, or elf was null; elfgetarhdr() then
     returns a null value. The header includes the following members.

        char            *arname;
        timet          ardate;
        long            aruid;
        long            argid;
        unsigned long   armode;
        offt           arsize;
        char            *arrawname;

     An archive member name, available through arname, is a null-
     terminated string, with the ar format control characters removed. The
     arrawname member holds a null-terminated string that represents the
     original name bytes in the file, including the terminating slash and
     trailing blanks as specified in the archive format.

     In addition to "regular" archive members, the archive format defines
     some special members. All special member names begin with a slash (/),
     distinguishing them from regular members (whose names may not contain
     a slash). These special members have the names (arname) defined
     below.

     /    This is the archive symbol table. If present, it will be the
          first archive member. A program may access the archive symbol
          table through elfgetarsym(). The information in the symbol table
          is useful for random archive processing [see elfrand(3E)].

     //   This member, if present, holds a string table for long archive
          member names. An archive member's header contains a 16-byte area
          for the name, which may be exceeded in some file systems. The
          library automatically retrieves long member names from the string
          table, setting arname to the appropriate value.

     Under some error conditions, a member's name might not be available.
     Although this causes the library to set arname to a null pointer, the
     arrawname member will be set as usual.





Page 1                       Reliant UNIX 5.44                Printed 11/98

elf_getarhdr(3E)                                           elf_getarhdr(3E)

SEE ALSO
     elf(3E), elfbegin(3E), elfgetarsym(3E), elfrand(3E), ar(4).




















































Page 2                       Reliant UNIX 5.44                Printed 11/98

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