elf_getarsym(3E) manual page
Table of Contents
elf_getarsym - retrieve archive symbol table
cc [ flag ... ]
file ... -lelf [ library ... ]
#include <libelf.h>
Elf_Arsym *elf_getarsym(Elf *elf,
size_t *ptr);
Unsafe
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_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(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 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).
elf(3E)
, elf_begin(3E)
, elf_getarhdr(3E)
, elf_hash(3E)
, ar(4)
Table of Contents