Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_getarhdr(3E) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ar(4)

elf(3E)

elf_begin(3E)

elf_getarsym(3E)

elf_rand(3E)






       elf_getarhdr(3E)                                    elf_getarhdr(3E)


       NAME
             elf_getarhdr - retrieve archive member header

       SYNOPSIS
             cc [flag . . . ] file . . . -lelf [library] . . .
             #include <libelf.h>
             Elf_Arhdr *elf_getarhdr(Elf *elf);

       DESCRIPTION
             elf_getarhdr 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; elf_getarhdr then returns a null value.  The header
             includes the following members.

                          char            *ar_name;
                          time_t          ar_date;
                          long            ar_uid;
                          long            ar_gid;
                          unsigned long   ar_mode;
                          off_t           ar_size;
                          char            *ar_rawname;

             An archive member name, available through ar_name, is a null-
             terminated string, with the ar format control characters
             removed.  The ar_rawname 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 (ar_name) 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 elf_getarsym.  The
                     information in the symbol table is useful for random
                     archive processing [see elf_rand(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


                           Copyright 1994 Novell, Inc.               Page 1













      elf_getarhdr(3E)                                    elf_getarhdr(3E)


                    automatically retrieves long member names from the
                    string table, setting ar_name to the appropriate
                    value.

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

      REFERENCES
            ar(4), elf(3E), elf_begin(3E), elf_getarsym(3E), elf_rand(3E)






































                          Copyright 1994 Novell, Inc.               Page 2








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