Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_hash(3E) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)

elf_hash(3E)                                                   elf_hash(3E)

NAME
     elfhash - compute hash value

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

     #include <libelf.h>

     unsigned long elfhash(const char *name);

DESCRIPTION
     elfhash() computes a hash value, given a null terminated string,
     name. The returned hash value, h, can be used as a bucket index, typi-
     cally after computing h mod x to ensure appropriate bounds.

     Hash tables may be built on one machine and used on another because
     elfhash() uses unsigned arithmetic to avoid possible differences in
     various machines' signed arithmetic. Although name is shown as char*
     above, elfhash() treats it as unsigned char* to avoid sign extension
     differences. Using char* eliminates type conflicts with expressions
     such as elfhash("name").

     ELF files' symbol hash tables are computed using this function [see
     elfgetdata(3E) and elfxlate(3E)]. The hash value returned is
     guaranteed not to be the bit pattern of all ones (~0UL).

SEE ALSO
     elf(3E), elfgetdata(3E), elfxlate(3E).



























Page 1                       Reliant UNIX 5.44                Printed 11/98

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