ELF_GETARSYM(3E)ELF_GETARSYM(3E)


NAME
     elf_getarsym - Retrieves 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.  If the archive does not have a
     symbol table, an error occurred, or elf was null, elf_getarsym 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   Contains a pointer to a null-terminated symbol name.

     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)