DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

elf_getarsym(S)


elf_getarsym -- retrieve archive symbol table

Syntax

cc [flag . . . ] file . . . -lelf [library] . . .

#include <libelf.h>

Elf_Arsym *elf_getarsym(Elf *elf, size_t *ptr);

Description

elf_getarsym(S) returns a pointer to the archive symbol table, if one is available for the ELF descriptor elf. 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(S) to access the desired archive member.

as_hash
This is a hash value for the name, as computed by elf_hash(S).

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.

Return values

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.

Diagnostics

Error conditions are identified through the routine elf_error(S).

See also

ar(FP), elf(S), elf_getarhdr(S), elf_hash(S), elf_rand(S)

Standards conformance

elf_getarsym(S) is not part of any currently supported standard; it was developed by UNIX System Laboratories, Inc. and is maintained by The SCO Group.
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003