Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_getarhdr(3E) — DG/UX R4.11

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

ar(4)



elf_getarhdr(3E)                  SDK R4.11                 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.

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


Licensed material--property of copyright holder(s)

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