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 does not 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
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
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.