DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

elf_hash(S)


elf_hash -- compute hash value

Syntax

cc [flag . . . ] file . . . -lelf [library] . . .

#include <libelf.h>

unsigned long elf_hash(const char *name);

Description

elf_hash(S) computes a hash value when 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 can be built on one machine and used on another because elf_hash( ) uses unsigned arithmetic to avoid possible differences in 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(S) and elf_xlate(S)). The hash value returned is guaranteed not to be a bit pattern of all ones (~0UL).

Diagnostics

Error conditions are identified through the routine elf_error(S).

See also

elf(S), elf_getdata(S), elf_xlate(S)

Standards conformance

elf_hash(S) is not part of any currently supported standard; it was developed by UNIX System Laboratories, Inc. and is maintained by The SCO Group.
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003