ELF Library Functions elf_getarsym(3ELF)
NAME
elf_getarsym - retrieve archive symbol table
SYNOPSIS
cc [ flag ... ] file ... -lelf [ library ... ]
#include
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, anerror 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 theassociated 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 lastentry, 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 pat-
tern of all ones ( ~0UL).SunOS 5.11 Last change: 11 Jul 2001 1
ELF Library Functions elf_getarsym(3ELF)
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
ar.h(3HEAD), elf(3ELF), elf_begin(3ELF), elf_getarhdr(3ELF),
elf_hash(3ELF), libelf(3LIB), attributes(5)
SunOS 5.11 Last change: 11 Jul 2001 2