Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

elf_getarhdr(3E)

elf_hash(3E)

elf_rand(3E)

ar(4)





   elf_getarsym(3E)               (ELF Library)               elf_getarsym(3E)


   NAME
         elf_getarsym - retrieve archive symbol table

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

         #include <libelf.h>
         Elf_Arsym *elf_getarsym(Elf *elf, size_t *ptr);

   DESCRIPTION
         elf_getarsym returns a pointer to the archive symbol table, if one is
         available for the ELF descriptor elf.  Otherwise, the archive doesn't
         have a symbol table, an error occurred, or elf was null; elf_getarsym
         then returns a null value.  The symbol table is an array of
         structures that include the following members.

                      char            *as_name;
                      size_t          as_off;
                      unsigned long   as_hash;

         These members have the following semantics.

         as_name   A pointer to a null-terminated symbol name resides here.

         as_off    This value is a byte offset from the beginning of the
                   archive to the member's header.  The archive member
                   residing at the given offset defines the associated symbol.
                   Values in as_off may be passed as arguments to elf_rand to
                   access the desired archive member.

         as_hash   This is a hash value for the name, as computed by elf_hash.

         If ptr is non-null, the library stores the number of table entries in
         the location to which ptr points.  This value is set to zero when the
         return value is null.  The table's last entry, which is included in
         the count, has a null as_name, a zero value for as_off, and ~0UL for
         as_hash.

   SEE ALSO
         elf(3E), elf_getarhdr(3E), elf_hash(3E), elf_rand(3E), ar(4).













   7/91                                                                 Page 1





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