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).