Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ranhash(3X) — sysv — mips UMIPS RISC/os 4.52

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ar(1)






























































                         Printed 1/15/91                   Page 1





RANHASH(3X-SysV)    RISC/os Reference Manual     RANHASH(3X-SysV)



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 multi-
     plicative 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

SEE ALSO
     ar(1) in the User's Reference Manual.








                         Printed 1/15/91                   Page 1



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026