Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ranhash(3X) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ar(1)

ar.h(5)

RANHASH(3X)  —  NEWS-OS Programmer’s Manual

名称

ranhashinit, ranhash, ranlookup − アーカイブ中のシンボルテーブル定義ファイル用のアクセスルーチン

形式

#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;

解説

ranhashinit は、 ranhash および ranlookup が将来使用するための静的な情報を初期化します。 pran は ranlib 構造体の配列を指します。 pstr はそれに対応する ranlib 文字列テーブルを指します(これらは ranlookup によってだけ使用されます)。 size はハッシュテーブルのサイズで、2 の累乗でなければなりません。 サイズが 2 の累乗でない場合、1 が返されます。 そうでない場合は 0 が返されます。

ranhash は、名前に割り当てられたハッシュ番号を返します。 これは ranhashinit に対する引数 size を使った乗法のハッシュアルゴリズムで行ないます。

ranlookup は、 ranhashinit により指定された ranlib テーブルで 名前 を調べます。 これは、開始時に ranhash ルーチンを使用し、リハッシュを行ないます。 そしてこのルーチンは一致する有効な ranlib エントリを指すポインタを返します。 一致したものが見つからない場合、(ran_off フィールドが 0 の場合、 "空である" と推論できます)、空の ranlib 構造体ハッシュテーブルは 散らすべきです。 このルーチンは、テーブル領域を使い果たした場合の対処は行いません。 つまり、テーブル中のすべてのエントリが使い果たされると、tostderr により エラーが表示され、0 が返されます。

著者

Mark I. Himelstein

関連事項

ar(1), ar.h(5)

NEWS-OSRelease 4.2.1R

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