DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

elf_hash(S-osr5)


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-osr5) 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-osr5) and elf_xlate(S-osr5)). 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-osr5).

See also

elf(S-osr5), elf_getdata(S-osr5), elf_xlate(S-osr5)

Standards conformance

elf_hash(S-osr5) is not part of any currently supported standard; it was developed by UNIX System Laboratories, Inc. and is maintained by The SCO Group.
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 02 June 2005