Manual Page Result
0
Command: ranhashinit | Section: 3 | Source: Digital UNIX | File: ranhashinit.3.gz
ranhash(3) Library Functions Manual ranhash(3)
NAME
ranhashinit, ranhash, ranlookup - access routine for the symbol table
definition file in archives
SYNOPSIS
#include <ar.h>
int ranhashinit(pran, pstr, size)
struct ranlib *pran;
char *pstr;
int size;
ranhash(name)
char *name;
struct ranlib *ranhash(name)
char *name;
DESCRIPTION
ranhashinit initializes static information for future use by ranhash
and ranlookup. pran points to an array of ranlib structures. pstr
points to the corresponding ranlib string table (these are only used by
ranlookup). size is the size of the hash table and should be a power
of 2. If the size isn't a power of 2, a 1 is returned; otherwise, a 0
is returned.
ranhash returns a hash number given a name. It uses a multiplicative
hashing algorithm and the size argument to ranhashinit.
ranlookup looks up name in the ranlib table specified by ranhashinit.
It uses the ranhash routine as a starting point. Then, it does a rehash
from there. This routine returns a pointer to a valid ranlib entry on
a match. If no matches are found (the "emptiness" can be inferred if
the ran_off field is zero), the empty ranlib structure hash table
should be sparse. This routine does not expect to run out of places to
look in the table. For example, if you collide on all entries in the
table, an error is printed tostderr and a zero is returned.
AUTHOR
Mark I. Himelstein
RELATED INFORMATION
ar(1) delim off
ranhash(3)