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 elf32_xlatetof(3E)). The hash value returned is guaranteed not to be the bit pattern of all ones ( ~0UL).
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | MT-Safe |
SEE ALSO
elf(3E), elf32_xlatetof(3E), elf_getdata(3E), attributes(5)
SunOS 5.6 — Last change: 29 Dec 1996