Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_getarsym(3E) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

elf_begin(3E)

elf_getarhdr(3E)

elf_hash(3E)

ar(4)

attributes(5)

elf_getarsym(3E)

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

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_tas_off;
unsigned longas_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 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(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
MT-Level MT-Safe

SEE ALSO

elf(3E), elf_begin(3E), elf_getarhdr(3E), elf_hash(3E), ar(4), attributes(5)

SunOS 5.6  —  Last change: 29 Dec 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026