Amiga Unix — 68040 · 68060

Manual pages › ELF library (3E)

elf_hash(3E)

compute hash value

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

NAME

elf_hash - compute hash value

SYNOPSIS

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

#include <libelf.h>

unsigned long elf_hash(const char *name);

DESCRIPTION

elf_hash computes a hash value, given a null terminated string, name. The returned hash value, h, can be used as a bucket index, typically after computing h mod x to ensure appropriate bounds. Hash tables may be built on one machine and used on another because elf_hash uses unsigned arithmetic to avoid possible differences in various machines' signed arithmetic. Although name is shown as char* above, elf_hash treats it as unsigned char* to avoid sign extension differences. Using char* eliminates type conflicts with expressions such as elf_hash("name"). ELF files' symbol hash tables are computed using this function [see elf_getdata(3E) and elf_xlate(3E)]. The hash value returned is guaranteed not to be the bit pattern of all ones (~0UL).

SEE ALSO

elf(3E), elf_getdata(3E), elf_xlate(3E).