elf_hash(3elf)


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 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 elf_xlate(3elf)]. The hash value returned is guaranteed not to be the bit pattern of all ones (~0UL).

References

Intro(3elf), elf_getdata(3elf), elf_xlate(3elf)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004