Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

elf_hash(3elf) [v7 man page]

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 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 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), attributes(5) SunOS 5.10 11 Jul 2001 elf_hash(3ELF)

Check Out this Related Man Page

elf_getarsym(3ELF)					       ELF Library Functions						elf_getarsym(3ELF)

NAME
elf_getarsym - retrieve archive symbol table SYNOPSIS
cc [ flag ... ] file ... -lelf [ library ... ] #include <libelf.h> Elf_Arsym *elf_getarsym(Elf *elf, size_t *ptr); DESCRIPTION
The elf_getarsym() function returns a pointer to the archive symbol table, if one is available for the ELF descriptor elf. Otherwise, the archive doesn't have a symbol table, an error occurred, or elf was null; elf_getarsym() then returns a null value. The symbol table is an array of structures that include the following members. char *as_name; size_t as_off; unsigned long as_hash; These members have the following semantics: as_name A pointer to a null-terminated symbol name resides here. as_off This value is a byte offset from the beginning of the archive to the member's header. The archive member residing at the given offset defines the associated symbol. Values in as_off may be passed as arguments to elf_rand(). See elf_begin(3ELF) to access the desired archive member. as_hash This is a hash value for the name, as computed by elf_hash(). If ptr is non-null, the library stores the number of table entries in the location to which ptr points. This value is set to 0 when the return value is NULL. The table's last entry, which is included in the count, has a null as_name, a zero value for as_off, and ~0UL for as_hash. 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
ar.h(3HEAD), elf(3ELF), elf_begin(3ELF), elf_getarhdr(3ELF), elf_hash(3ELF), libelf(3LIB), attributes(5) SunOS 5.10 11 Jul 2001 elf_getarsym(3ELF)
Man Page