| ELF_GETARSYM(3) | Library Functions Manual | ELF_GETARSYM(3) | 
elf_getarsym —
#include <libelf.h>
Elf_Arsym *
  
  elf_getarsym(Elf
    *elf, size_t
  *ptr);
elf_getarsym() retrieves the symbol table
  for an ar(1) archive, if one is
  available.
Argument elf should be a descriptor for an
    ar(1) archive opened using
    elf_begin() or
  elf_memory().
If the archive elf contains a symbol table with n entries, this function returns a pointer to an array of n+1 Elf_Arsym structures. An Elf_Arsym structure has the following elements:
The last entry of the returned array will have a
    NULL value for member as_name,
    a zero value for member as_off and an illegal value of
    ~0UL for as_hash.
If argument ptr is non-null, the
    elf_getarsym() function will store the number of
    table entries returned (including the sentinel entry at the end) into the
    location it points to.
elf_getarsym() returns a pointer to an array of
  Elf_Arsym structures if successful, or a
  NULL pointer if an error was encountered.
If argument ptr is non-null and there was no error, the library will store the number of archive symbol entries returned into the location it points to. If argument ptr is non-null and an error was encountered, the library will set the location pointed to by it to zero.
elf_getarsym() may fail with the following
  errors:
ELF_E_ARGUMENT]NULL.ELF_E_ARGUMENT]| August 15, 2006 | NetBSD 10.0 |