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