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);
MT-LEVEL
Unsafe
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_nameA pointer to a NULL-terminated symbol name resides here.
as_offThis 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_hashThis 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.
The hash value returned is guaranteed not to be the bit pattern of all ones ( ~0UL).
SEE ALSO
elf(3E), elf_begin(3E), elf_getarhdr(3E), elf_hash(3E), ar(4)
SunOS 5.5/SPARC — Last change: 22 Jan 1993