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