elf_hash(3ELF) ELF Library Functions elf_hash(3ELF)NAMEelf_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(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Stable │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOelf(3ELF), elf32_xlatetof(3ELF), elf_getdata(3ELF), libelf(3LIB),
attributes(5)SunOS 5.10 11 Jul 2001 elf_hash(3ELF)