ELF_GETARSYM(3ELF) ELF Library Functions ELF_GETARSYM(3ELF)
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
The
elf_getarsym() function 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(). See
elf_begin(3ELF) 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
0 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.
The hash value returned is guaranteed not to be the bit pattern of
all ones (
~0UL).
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Stable |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
elf(3ELF),
elf_begin(3ELF),
elf_getarhdr(3ELF),
elf_hash(3ELF),
ar.h(3HEAD),
libelf(3LIB),
attributes(7) July 11, 2001 ELF_GETARSYM(3ELF)