elf_hash(3E) elf_hash(3E)
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).
REFERENCES
elf(3E), elf_getdata(3E), elf_xlate(3E)
Copyright 1994 Novell, Inc. Page 1