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)