elf_hash(3E) MISC. REFERENCE MANUAL PAGES 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 arith-
metic 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).
Last change: ELF Library 1