elf_getarsym(3elf)


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_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 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.

References

ar(4), Intro(3elf), elf_getarhdr(3elf), elf_hash(3elf), elf_rand(3elf)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004