home | help
elf_hash(3ELF)		      ELF Library Functions		  elf_hash(3ELF)

NAME
     elf_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 vari-
     ous 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 ALSO
     elf(3ELF), elf32_xlatetof(3ELF), elf_getdata(3ELF),  libelf(3LIB),  attrib-
     utes(5)

SunOS 5.9			   11 Jul 2001			  elf_hash(3ELF)

home | help