ELF_HASH(3ELF) ELF Library Functions ELF_HASH(3ELF)
NAME
elf_hash - compute hash value
SYNOPSIS
cc [
flag ... ]
file ...
-lelf [
library ... ]
#include <libelf.h>
unsigned long elf_hash(
const char *name);
DESCRIPTION
The
elf_hash() function 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(3ELF) and
elf32_xlatetof(3ELF)). The hash value returned
is guaranteed not to be the bit pattern of all ones (
~0UL).
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Stable |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
elf(3ELF),
elf32_xlatetof(3ELF),
elf_getdata(3ELF),
libelf(3LIB),
attributes(7) July 11, 2001 ELF_HASH(3ELF)