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_tas_off;
unsigned longas_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(3E) 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(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | MT-Safe |
SEE ALSO
elf(3E), elf_begin(3E), elf_getarhdr(3E), elf_hash(3E), ar(4), attributes(5)
SunOS 5.6 — Last change: 29 Dec 1996